Skip to content

Commit 2b5ae7d

Browse files
authored
Merge pull request #5845 from Countly/release.24.12
Release.24.12
2 parents b9c6d1c + 5330802 commit 2b5ae7d

File tree

291 files changed

+14988
-3735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

291 files changed

+14988
-3735
lines changed

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ root = true
44
end_of_line = lf
55
insert_final_newline = false
66

7-
[*.{js,html,scss,json}]
7+
[*.{js,html,scss,json,vue}]
88
indent_style = space
99
indent_size = 4

.eslintrc.json

+71-10
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,62 @@
121121
]
122122
},
123123
"overrides": [
124+
{
125+
"files": [
126+
"plugins/content/frontend/vite.config.js",
127+
"plugins/journey_engine/frontend/vite.config.js",
128+
"plugins/journey_engine/frontend/vite-manifest.js"
129+
],
130+
"rules": {
131+
"no-console": "off"
132+
},
133+
"parserOptions": {
134+
"ecmaVersion": 2023,
135+
"sourceType": "module"
136+
},
137+
"env": {
138+
"node": true,
139+
"es2023": true
140+
}
141+
},
142+
{
143+
"files": [
144+
"plugins/content/frontend/content-blocks/**/*.js",
145+
"plugins/journey_engine/frontend/builder/**/*.js",
146+
"plugins/content/frontend/content-blocks/**/*.vue",
147+
"plugins/journey_engine/frontend/builder/**/*.vue"
148+
],
149+
"plugins": [
150+
"vue",
151+
"@stylistic"
152+
],
153+
"extends": [
154+
"eslint:recommended",
155+
"plugin:vue/vue3-essential",
156+
"plugin:vue/vue3-strongly-recommended",
157+
"plugin:vue/vue3-recommended"
158+
],
159+
"rules": {
160+
// override these post initial content release, to make them fit with countly convention
161+
"no-console": ["error"],
162+
"@stylistic/quotes": ["error", "single"],
163+
"@stylistic/quote-props": ["error", "as-needed"],
164+
"no-unused-vars": "off",
165+
"vue/no-unused-vars": ["error", {
166+
"ignorePattern": "^_"
167+
}]
168+
},
169+
"parserOptions": {
170+
"ecmaVersion": 2023,
171+
"sourceType": "module",
172+
"extraFileExtensions": [".vue"]
173+
},
174+
"env": {
175+
"node": true,
176+
"es2023": true,
177+
"es6": true
178+
}
179+
},
124180
{
125181
"files": [
126182
"frontend/express/public/javascripts/countly/*.js",
@@ -206,13 +262,19 @@
206262
"plugins/*/frontend/**/*.js",
207263
"plugins/*/extend/**/*.js"
208264
],
209-
"excludedFiles": "plugins/*/frontend/public/**/*.js",
265+
"excludedFiles": [
266+
"plugins/*/frontend/public/**/*.js",
267+
"plugins/content/frontend/content-blocks/**/*.js",
268+
"plugins/journey_engine/frontend/builder/**/*.js",
269+
"plugins/content/frontend/content-blocks/**/*.vue",
270+
"plugins/journey_engine/frontend/builder/**/*.vue"
271+
],
210272
"env": {
211-
"es2020": true,
273+
"es2023": true,
212274
"node": true
213275
},
214276
"parserOptions": {
215-
"ecmaVersion": 2020
277+
"ecmaVersion": 2023
216278
},
217279
"rules": {
218280
"no-console": "off",
@@ -285,11 +347,11 @@
285347
],
286348
"excludedFiles": "plugins/*/tests.js",
287349
"env": {
288-
"es2020": true,
350+
"es2023": true,
289351
"node": true
290352
},
291353
"parserOptions": {
292-
"ecmaVersion": 2020
354+
"ecmaVersion": 2023
293355
},
294356
"rules": {
295357
"no-console": "off"
@@ -302,13 +364,12 @@
302364
"plugins/*/tests.js"
303365
],
304366
"env": {
305-
"es2020": true,
367+
"es2023": true,
306368
"node": true,
307369
"mocha": true
308370
},
309371
"parserOptions": {
310-
"ecmaVersion": 2020,
311-
"sourceType": "module"
372+
"ecmaVersion": 2023
312373
},
313374
"rules": {
314375
"no-console": "off",
@@ -321,7 +382,7 @@
321382
"ui-tests/**/*.js"
322383
],
323384
"env": {
324-
"es2020": true,
385+
"es2023": true,
325386
"node": true,
326387
"mocha": true
327388
},
@@ -330,7 +391,7 @@
330391
"cy": "readonly"
331392
},
332393
"parserOptions": {
333-
"ecmaVersion": 2020,
394+
"ecmaVersion": 2023,
334395
"sourceType": "module"
335396
},
336397
"rules": {

.github/workflows/main.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: CI
66
on:
77
# Triggers the workflow on push or pull request events but only for the master branch
88
pull_request:
9-
branches: [ master, next ]
9+
branches: [ master, next, release.24.10 ]
1010

1111
# Allows you to run this workflow manually from the Actions tab
1212
workflow_dispatch:
@@ -105,7 +105,7 @@ jobs:
105105
- name: ESLint
106106
shell: bash
107107
run: |
108-
npm install [email protected]
108+
109109
npx eslint .
110110
111111
- name: NPM install
@@ -302,7 +302,7 @@ jobs:
302302
cd ui-tests
303303
npm install
304304
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
305-
npm run cy:run:dashboard --headless --no-sandbox --disable-gpu --disable-dev-shm-usage
305+
npm run cy:run:dashboard
306306
307307
- name: Upload UI tests artifacts
308308
if: ${{ failure() }}
@@ -381,7 +381,7 @@ jobs:
381381
cd ui-tests
382382
npm install
383383
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
384-
npm run cy:run:onboarding --headless --no-sandbox --disable-gpu --disable-dev-shm-usage
384+
npm run cy:run:onboarding
385385
386386
- name: Upload UI tests artifacts
387387
if: ${{ failure() }}

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ frontend/express/public/stylesheets/vue/clyvue.css.map
4343
log/
4444
log/supervisord/
4545
plugins/plugins.json.*
46-
.sdk
46+
.sdk
47+
dump

CHANGELOG.md

+75-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,40 @@
1-
## Version 24.10.1
2-
Integrating 24.05.16 fixes
1+
## Version 24.12
2+
Features:
3+
- [audit-logs] Exported audit logs from UI now would have "BEFORE" and "AFTER" fields
4+
- [core] Ability to mark reports as 'dirty' to make sure they are regenerated in full
5+
- [core] Adding a cancel button to "create new app" form
6+
- [core] Adding a nightly job to delete old data
7+
- [core] Redirecting user to a newly created app
8+
- [core] Removing HTML from localization files
9+
- [core] Showing a flex banner on sidebar if the version is Countly Lite
10+
- [crashes] Adding confirmation for deleting crash groups
11+
- [dashoards] Fixed the "Add/ manage notes" button that did not work for the technology widget
12+
- [dbviewer] Preventing aggregation of using any stages which might open user to harmful actions (like $merge, $out, $lookup, $uninonWith) for all users except global admin
13+
- [populator] Adding ability to select features to populate and other small improvements
14+
15+
Enterprise Features:
16+
- [cohorts] Adding ability to edit cohorts. This deletes historical calculations
17+
- [content] Adding "Content Builder" feature
18+
- [core] Adding support For SingleStore Kai
19+
- [flows] Adding UX improvements to the editor
20+
- [journey_engine] Adding "Journey Engine" feature
21+
- [remote-config] Moving enable/disable functionality to the dropdown
22+
23+
Dependencies:
24+
- Bump countly-sdk-nodejs from 22.6.0 to 24.10.0
25+
- Bump countly-sdk-web from 24.4.1 to 24.11.0
26+
- Bump form-data from 4.0.0 to 4.0.1
27+
- Bump jimp from 0.22.12 to 1.6.0
28+
- Bump jsdoc from 4.0.3 to 4.0.4
29+
- Bump nodemailer from 6.9.15 to 6.9.16
30+
- Bump puppeteer from 23.8.0 to 23.9.0
31+
- Bump tslib from 2.7.0 to 2.8.1
332

433
## Version 24.10
534
Fixes:
35+
- [core] Correct aggregated collection cleanup on event omitting
636
- [core] Interpreting carrier value of "--" as an unknown value
37+
- [core] Removed use of commands which needs admin rights from report manager.
738
- [crash] Fixed issues with visualisation of Flutter stack traces
839
- [dashoards] If a user is given access to a dashboard, they will now be able to see all widgets even if they don't have access to the underlying data
940
- [density] UI fixed
@@ -21,7 +52,7 @@ Features:
2152
- [core] Aggregated events data collections merged together
2253
- [nps] UI improvements
2354
- [surveys] UI improvements
24-
- upgraded mongoDB to version 7
55+
- upgraded mongoDB to version 8
2556
- upgraded nodejs to version 20
2657

2758
Enterprise Features:
@@ -35,6 +66,46 @@ Enterprise Features:
3566
- [users] UI improvements
3667
- [views] Added a quick transition to drill
3768

69+
## Version 24.05.19
70+
Fixes:
71+
- [dashboards] Fixing issue where dashboard widgets go into single column
72+
73+
Security:
74+
- Bump puppeteer from 17.1.3 to 23.8.0
75+
- Bump express from 4.21.0 to 4.21.1
76+
- Bump sass from 1.79.4 to 1.81.0
77+
- Bump express-session from 1.18.0 to 1.18.1
78+
- Bump cross-spawn from 7.0.3 to 7.0.6 in /ui-tests
79+
- Bump cross-spawn from 7.0.3 to 7.0.6 in /plugins/hooks
80+
81+
## Version 24.05.18
82+
Fixes:
83+
- [core] Fixed bug where changing passwords results in the loss of the "Global Admin" role
84+
- [core] Fixed bug where exporting incoming data logs could result in "Incorrect parameter \"data\" error
85+
- [crash] Fixed bug in crash ingestion for scenarios where the "app version" is not a string.
86+
- [script] Fixing bug with "delete_old_members" script that led to malformed requests
87+
88+
Enterprise fixes:
89+
- [nps] Fixed bug that showed the wrong nps preview title
90+
91+
## Version 24.05.17
92+
Fixes:
93+
- [push] Improved ability to observe push related errors
94+
95+
Enterprise fixes:
96+
- [cohorts] Fixed issues with nightly cleanup
97+
- [data-manager] Fixed UI bug where rules were not visible when editing "Merge by regex" transformations
98+
- [drill] Fixed wrong pie chart label tooltip in dashboard widget
99+
- [flows] Fixed bug in case of null data in schema
100+
- [nps] Fixed bug in the editor where the "internal name" field was not mandatory
101+
- [ratings] Fixed UI bug where "Internal name" was not a mandatory field
102+
103+
Security:
104+
- Fixing minor vulnerability that would allow for unauthorized file upload
105+
106+
Enterprise Features:
107+
- [block] Added a way to filter crashes by their error (stacktrace)
108+
38109
## Version 24.05.16
39110
Fixes:
40111
- [core] Replaced "Users" with "Sessions" label on technology home widgets
@@ -53,6 +124,7 @@ Security:
53124

54125
## Version 24.05.15
55126
Enterprise fixes:
127+
- [ab-testing] Fixed JSON.parse issue preventing creation of AB tests
56128
- [nps] Fixed UI issues in the widget editor related to the "user consent" section
57129
- [ratings] Fixed rendering issue for escaped values
58130

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM phusion/baseimage:focal-1.2.0
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
5-
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides
5+
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides,journey_engine,content
66

77
ARG COUNTLY_CONFIG_API_MONGODB_HOST=localhost
88
ARG COUNTLY_CONFIG_FRONTEND_MONGODB_HOST=localhost

Dockerfile-api

+6-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM node:hydrogen-bullseye-slim
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
5-
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides
5+
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides,journey_engine,content
66

77
ARG GEOIP=empty
88
EXPOSE 3001
@@ -17,8 +17,9 @@ ENV COUNTLY_CONTAINER="api" \
1717
COUNTLY_CONFIG_API_API_WORKERS="1" \
1818
COUNTLY_CONFIG_API_API_HOST="0.0.0.0" \
1919
NODE_OPTIONS="--max-old-space-size=2048" \
20-
TINI_VERSION="0.18.0"
21-
20+
TINI_VERSION="0.18.0"\
21+
PUPPETEER_CACHE_DIR=/opt/countly/.cache/puppeteer
22+
2223
WORKDIR /opt/countly
2324
COPY . .
2425

@@ -58,7 +59,7 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
5859
# cleanup & chown
5960
npm remove -y --no-save mocha nyc should supertest && \
6061
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 && \
61-
apt-get install -y libgbm-dev libgbm1 gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils && \
62+
apt-get install -y libgbm-dev libgbm1 gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils && \
6263
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
6364
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm && \
6465
\
@@ -75,4 +76,4 @@ USER 1001:0
7576

7677
ENTRYPOINT ["/usr/bin/tini", "-v", "--"]
7778

78-
CMD ["/opt/countly/bin/docker/cmd.sh"]
79+
CMD ["/opt/countly/bin/docker/cmd.sh"]

Dockerfile-centos-api

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM centos:8
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
5-
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides
5+
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides,journey_engine,content
66

77
ARG GEOIP=empty
88
EXPOSE 3001

Dockerfile-centos-frontend

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM centos:8
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
5-
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides
5+
#ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,license,drill,funnels,retention_segments,flows,cohorts,surveys,remote-config,ab-testing,formulas,activity-map,concurrent_users,revenue,logger,systemlogs,populator,reports,crashes,push,geo,block,users,star-rating,slipping-away-users,compare,server-stats,dbviewer,crash_symbolication,crashes-jira,groups,white-labeling,alerts,times-of-day,compliance-hub,onboarding,active_users,performance-monitoring,config-transfer,consolidate,data-manager,hooks,dashboards,heatmaps,sdk,guides,journey_engine,content
66

77
EXPOSE 6001
88
HEALTHCHECK --start-period=400s CMD curl --fail http://localhost:6001/ping || exit 1

0 commit comments

Comments
 (0)