Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ jobs:
uses: actions/checkout@v6

- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
with:
push: true
file: ./Dockerfile-core
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ jobs:
echo ${{ steps.vars.outputs.tag }}

- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
with:
context: .
push: true
Expand All @@ -57,13 +57,13 @@ jobs:
echo ${{ steps.vars.outputs.tag }}

- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
with:
push: true
file: ./Dockerfile-api
Expand All @@ -88,13 +88,13 @@ jobs:
echo ${{ steps.vars.outputs.tag }}

- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
with:
push: true
file: ./Dockerfile-frontend
Expand All @@ -119,13 +119,13 @@ jobs:
echo ${{ steps.vars.outputs.tag }}

- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
with:
push: true
file: ./Dockerfile-core
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_notice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
run: echo "$GITHUB_CONTEXT"
- name: Send custom JSON data to Slack workflow
id: slack
uses: slackapi/slack-github-action@v2.1.1
uses: slackapi/slack-github-action@v3.0.1
with:
# This data can be any valid JSON from a previous step in the GitHub Action
webhook: ${{ secrets.SLACK_RELEASE }}
Expand Down
76 changes: 75 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
## Version 25.03.X
Fixes:
- [core] Fixed duplicate conditional in form field template

## Version 25.03.41
Fixes:
- [push] Fix: Cannot create a push notification when configuration _id is a string
- [star-rating] Fixed widget asset path with subdirectory

Enterprise Fixes:
- [journeys] Fix: prevent users entered stat to minus value for race conditions
- [surveys] Fixed widget asset path with subdirectory

## Version 25.03.40
Fixes:
- [hooks] Implement domain/ip address validation for hooks with http effect
- [reports] Hardcoded default secret for the e-mails converted to be randomly generated

Enterprise fixes:
- [drill] Hide redacted user properties in filters
- [oidc] Using sub as fallback as user identifier when there's no email

Dependencies:
- Bump countly-sdk-web from 26.1.0 to 26.1.1
- Bump ejs from 4.0.1 to 5.0.1
- Bump express-rate-limit from 8.3.0 to 8.3.1
- Bump fast-xml-parser from 5.4.1 to 5.5.7 in /plugins/push
- Bump flatted from 3.3.4 to 3.4.2
- Bump moment-timezone from 0.6.0 to 0.6.1 in /bin/scripts/timezones
- Bump nodemailer from 8.0.1 to 8.0.2
- Bump puppeteer from 24.38.0 to 24.39.0
- Bump sass from 1.97.3 to 1.98.0

## Version 25.03.39
Fixes:
- [core] Fixed replaceDatabaseString incorrectly replacing "countly" in the MongoDB username when it appears in the connection URL
- [dashboards] Unescape event segment values in meta
- [push] Using Android specific content for Huawei messages as well

Enterprise fixes:
- [data-manager] Fix validation approval button label
- [data-manager] Fix validation table column names

## Version 25.03.38
Fixes:
- [push] Fixed the property name by changing it from link to url for message buttons for Huawei messages
- [web] Use Client Hints

## Version 25.03.37
Fixes:
- [core] Update home page download notification text
- [data-manager] Add search and checkboxes in event selector when creating event group

Enterprise fixes:
- [funnels] Use lsid in same session funnel calculation
- [users] Export drill data on user export
- [users] Fix export query when there is profile group filter

Dependencies:
- Bump @faker-js/faker from 10.2.0 to 10.3.0 in /ui-tests
- Bump axios from 1.13.2 to 1.13.5
- Bump basic-ftp from 5.1.0 to 5.2.0
- Bump cypress from 15.10.0 to 15.11.0 in /ui-tests
- Bump fast-xml-parser and @google-cloud/storage in /plugins/push
- Bump geoip-lite from 1.4.10 to 2.0.0
- Bump minimatch from 9.0.5 to 9.0.9 in /api/utils/countly-request
- Bump minimatch from 9.0.5 to 9.0.9 in /plugins/hooks
- Bump nodemailer from 7.0.13 to 8.0.1
- Bump qs from 6.14.1 to 6.14.2
- Bump rollup from 4.56.0 to 4.59.0 in /plugins/journey_engine
- Bump swiper from 12.0.3 to 12.1.2 in /plugins/content
- Bump systeminformation from 5.30.5 to 5.31.1 in /ui-tests
- Bump tar-stream from 3.1.7 to 3.1.8 in /plugins/system-utility

## Version 25.03.36
Enterprise fixes:
- [journey] Workflow fixes
Expand Down Expand Up @@ -37,7 +111,7 @@ Enterprise Fixes:
## Version 25.03.33
Fixes:
- [compliance-hub] Correctly merge user history on user merge
- [core] Ensured usage of local fonts.
- [core] Ensured usage of local fonts.
- [events] Fixed issue with page reloading on error
- [push] re-schedule on a message update for auto triggers as well
- [remote-config] Fix searching for parameter in experiment variants
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-api
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
# preinstall
cp -n ./api/config.sample.js ./api/config.js && \
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
HOME=/tmp npm install -g npm@latest && \
HOME=/tmp npm install -g npm@10 && \
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
./bin/docker/preinstall.sh && \
Expand Down
8 changes: 5 additions & 3 deletions Dockerfile-centos-api
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,17 @@ RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/downlo
yum group install -y "Development Tools" && \
yum install -y epel-release && \
yum install -y pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc && \
yum install -y https://pkgs.sysadmins.ws/el8/base/x86_64/raven-release-1.0-2.el8.noarch.rpm && \
yum install -y wget openssl-devel make git unzip bzip2 && \
curl -L -O -J "https://box.tools.count.ly/public.php/dav/files/Wj8opzNdyE5DyDX/?accept=zip" && \
yum install -y raven-release.el8.noarch.rpm && \
yum install -y ipa-gothic-fonts && \
yum install -y wget openssl-devel make git libsqlite* sqlite unzip bzip2 && \
Comment thread
ar2rsawseen marked this conversation as resolved.
# modify standard distribution
./bin/docker/modify.sh && \
\
# preinstall
cp -n ./api/config.sample.js ./api/config.js && \
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
HOME=/tmp npm install -g npm@latest && \
HOME=/tmp npm install -g npm@10 && \
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
./bin/docker/preinstall.sh && \
Expand Down
8 changes: 5 additions & 3 deletions Dockerfile-centos-frontend
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,18 @@ RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/downlo
yum group install -y "Development Tools" && \
yum install -y epel-release && \
yum install -y pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc && \
yum install -y https://pkgs.sysadmins.ws/el8/base/x86_64/raven-release-1.0-2.el8.noarch.rpm && \
yum install -y wget openssl-devel make git unzip bzip2 && \
curl -L -O -J "https://box.tools.count.ly/public.php/dav/files/Wj8opzNdyE5DyDX/?accept=zip" && \
yum install -y raven-release.el8.noarch.rpm && \
yum install -y ipa-gothic-fonts && \
yum install -y wget openssl-devel make git sqlite libsqlite* unzip bzip2 && \
Comment thread
ar2rsawseen marked this conversation as resolved.
# modify standard distribution
./bin/docker/modify.sh && \
\
# preinstall
cp -n ./frontend/express/public/javascripts/countly/countly.config.sample.js ./frontend/express/public/javascripts/countly/countly.config.js && \
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
cp -n ./api/config.sample.js ./api/config.js && \
HOME=/tmp npm install -g npm@latest && \
HOME=/tmp npm install -g npm@10 && \
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
./bin/docker/preinstall.sh && \
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-frontend
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
cp -n ./api/config.sample.js ./api/config.js && \
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
cp -n ./frontend/express/public/javascripts/countly/countly.config.sample.js ./frontend/express/public/javascripts/countly/countly.config.js && \
HOME=/tmp npm install -g npm@latest && \
HOME=/tmp npm install -g npm@10 && \
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
./bin/docker/preinstall.sh && \
Expand Down
4 changes: 4 additions & 0 deletions api/parts/mgmt/apps.js
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,10 @@ function deleteAllAppData(appId, fromAppDelete, params, app) {
}
common.db.collection('app_users' + appId).drop(function() {
if (!fromAppDelete) {
common.db.collection('metric_changes' + appId).drop(function() {
common.db.collection('metric_changes' + appId).ensureIndex({ts: 1, "cc.o": 1}, { background: true }, function() {});
common.db.collection('metric_changes' + appId).ensureIndex({uid: 1}, { background: true }, function() {});
});
//Removes old app_user_merges collection
common.db.collection('app_user_merges' + appId).drop(function() {});
if (params.qstring.args.period === "reset") {
Expand Down
18 changes: 14 additions & 4 deletions api/utils/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -1323,9 +1323,13 @@ common.returnRaw = function(params, returnCode, body, heads) {
}
return;
}
const defaultHeaders = {};
const defaultHeaders = {
'Accept-CH': 'Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version, Sec-CH-UA-Model',
'Critical-CH': 'Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version',
'X-Countly': 'api'
};
//set provided in configuration headers
let headers = {};
let headers = { ...defaultHeaders };
if (heads) {
for (var i in heads) {
headers[i] = heads[i];
Expand Down Expand Up @@ -1371,7 +1375,10 @@ common.returnMessage = function(params, returnCode, message, heads, noResult = f
}
//set provided in configuration headers
const defaultHeaders = {
'Content-Type': 'application/json; charset=utf-8'
'Content-Type': 'application/json; charset=utf-8',
'Accept-CH': 'Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version, Sec-CH-UA-Model',
'Critical-CH': 'Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version',
'X-Countly': 'api'
};
let headers = { ...defaultHeaders };
var add_headers = (plugins.getConfig("security").api_additional_headers || "").replace(/\r\n|\r|\n/g, "\n").split("\n");
Expand Down Expand Up @@ -1446,7 +1453,10 @@ common.returnOutput = function(params, output, noescape, heads) {
}
//set provided in configuration headers
const defaultHeaders = {
'Content-Type': 'application/json; charset=utf-8'
'Content-Type': 'application/json; charset=utf-8',
'Accept-CH': 'Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version, Sec-CH-UA-Model',
'Critical-CH': 'Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version',
'X-Countly': 'api'
};
let headers = { ...defaultHeaders };
var add_headers = (plugins.getConfig("security").api_additional_headers || "").replace(/\r\n|\r|\n/g, "\n").split("\n");
Expand Down
14 changes: 7 additions & 7 deletions api/utils/countly-request/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions bin/countly.install_rhel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,11 @@ cp "$DIR/config/supervisord.example.conf" "$DIR/config/supervisord.conf"

#Install raven-release for ipa-gothic-fonts required by puppeteer
if [[ "$CENTOS_MAJOR" = "9" ]]; then
sudo rpm -ivh https://pkgs.sysadmins.ws/el8/base/x86_64/ipa-gothic-fonts-003.03-15.el8.noarch.rpm
curl -L -O -J "https://box.tools.count.ly/public.php/dav/files/AEYjHZefDa2EZsn/?accept=zip"
sudo rpm -ivh ipa-gothic-fonts-003.03-15.el8.noarch.rpm
else
sudo yum install -y https://pkgs.sysadmins.ws/el8/base/x86_64/raven-release-1.0-3.el8.noarch.rpm
curl -L -O -J "https://box.tools.count.ly/public.php/dav/files/Wj8opzNdyE5DyDX/?accept=zip"
sudo yum install -y raven-release.el8.noarch.rpm
sudo yum install -y ipa-gothic-fonts
fi

Expand Down
8 changes: 4 additions & 4 deletions bin/scripts/timezones/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion bin/scripts/timezones/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
"homepage": "https://count.ly/",
"dependencies": {
"moment-timezone": "0.6.0",
"moment-timezone": "0.6.1",
"node-fetch": "3.3.2"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ var HomeViewView = countlyVue.views.create({
CountlyHelpers.notify({type: "ok", title: jQuery.i18n.map["common.success"], message: jQuery.i18n.map["home.download.starting"], sticky: true, clearAll: true});
this.$store.dispatch("countlyHomeView/downloadScreen").then(function() {
if (self.$store.state.countlyHomeView.image) {
CountlyHelpers.notify({type: "ok", title: jQuery.i18n.map["common.success"], message: "<a href='" + self.$store.state.countlyHomeView.image + "' target='_blank'>" + jQuery.i18n.map["common.download"] + "</a>", sticky: true, clearAll: true, html: true});
CountlyHelpers.notify({type: "ok", title: jQuery.i18n.map["common.success"], message: jQuery.i18n.map['home.image-generated'] + " <a href='" + self.$store.state.countlyHomeView.image + "' target='_blank'>" + jQuery.i18n.map["common.click-here-to-download"] + "</a>", sticky: true, clearAll: true, html: true});
}
else {
CountlyHelpers.notify({type: "error", title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["common.error"], sticky: false, clearAll: true});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@
mixins: [countlyVue.mixins.i18n],
template: '<div class="cly-vue-form-field" :class="topClasses">\
<div class="bu-is-flex bu-is-justify-content-space-between bu-mr-2" v-if="!inline || tooltip || label || optional">\
<div :class="titleClasses" v-if="label" :data-test-id="testId + \'-header\'">{{label}}</div>\
<div :class="titleClasses" v-if="label" :data-test-id="testId + \'-header-\' + label.replaceAll(\' \', \'-\').replaceAll(\'_\', \'-\').toLowerCase()">{{label}}</div>\
<cly-tooltip-icon v-if="tooltip" :data-test-id="testId + \'-tooltip\'" class="bu-is-flex-grow-1 bu-ml-2" :tooltip="tooltip"></cly-tooltip-icon>\
<div v-show="optional" class="text-small text-heading color-cool-gray-40">{{i18n("common.optional")}}</div>\
</div>\
Expand Down Expand Up @@ -518,4 +518,4 @@

countlyVue.mixins.MultiStepForm = MultiStepFormMixin;

}(window.countlyVue = window.countlyVue || {}));
}(window.countlyVue = window.countlyVue || {}));
Loading
Loading