Skip to content

Commit 5e09f52

Browse files
authored
Merge branch 'next' into ar2rsawseen/next
2 parents afefaaf + 1943815 commit 5e09f52

File tree

32 files changed

+724
-524
lines changed

32 files changed

+724
-524
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737

3838
steps:
3939
- name: Checkout repository
40-
uses: actions/checkout@v4
40+
uses: actions/checkout@v5
4141

4242
# Initializes the CodeQL tools for scanning.
4343
- name: Initialize CodeQL

.github/workflows/deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
steps:
2121
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v5
2323

2424
- name: Enable command line
2525
shell: bash
@@ -45,10 +45,10 @@ jobs:
4545
runs-on: ubuntu-latest
4646
steps:
4747
- name: Check out the repo
48-
uses: actions/checkout@v4
48+
uses: actions/checkout@v5
4949

5050
- name: Log in to Docker Hub
51-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
51+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
5252
with:
5353
username: ${{ secrets.DOCKERHUB_USERNAME }}
5454
password: ${{ secrets.DOCKERHUB_TOKEN }}

.github/workflows/docker-image.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Check out the repo
15-
uses: actions/checkout@v4
15+
uses: actions/checkout@v5
1616

1717
- name: Set output
1818
id: vars
@@ -26,7 +26,7 @@ jobs:
2626
echo ${{ steps.vars.outputs.tag }}
2727
2828
- name: Log in to Docker Hub
29-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
29+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
3030
with:
3131
username: ${{ secrets.DOCKERHUB_USERNAME }}
3232
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -43,7 +43,7 @@ jobs:
4343
runs-on: ubuntu-latest
4444
steps:
4545
- name: Check out the repo
46-
uses: actions/checkout@v4
46+
uses: actions/checkout@v5
4747

4848
- name: Set output
4949
id: vars
@@ -57,7 +57,7 @@ jobs:
5757
echo ${{ steps.vars.outputs.tag }}
5858
5959
- name: Log in to Docker Hub
60-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
60+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
6161
with:
6262
username: ${{ secrets.DOCKERHUB_USERNAME }}
6363
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -74,7 +74,7 @@ jobs:
7474
runs-on: ubuntu-latest
7575
steps:
7676
- name: Check out the repo
77-
uses: actions/checkout@v4
77+
uses: actions/checkout@v5
7878

7979
- name: Set output
8080
id: vars
@@ -88,7 +88,7 @@ jobs:
8888
echo ${{ steps.vars.outputs.tag }}
8989
9090
- name: Log in to Docker Hub
91-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
91+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
9292
with:
9393
username: ${{ secrets.DOCKERHUB_USERNAME }}
9494
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -105,7 +105,7 @@ jobs:
105105
runs-on: ubuntu-latest
106106
steps:
107107
- name: Check out the repo
108-
uses: actions/checkout@v4
108+
uses: actions/checkout@v5
109109

110110
- name: Set output
111111
id: vars
@@ -119,7 +119,7 @@ jobs:
119119
echo ${{ steps.vars.outputs.tag }}
120120
121121
- name: Log in to Docker Hub
122-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
122+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
123123
with:
124124
username: ${{ secrets.DOCKERHUB_USERNAME }}
125125
password: ${{ secrets.DOCKERHUB_TOKEN }}

.github/workflows/main.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
# Steps represent a sequence of tasks that will be executed as part of the job
2727
steps:
2828
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
29-
- uses: actions/checkout@v4
29+
- uses: actions/checkout@v5
3030

3131
- name: Copy code
3232
shell: bash
@@ -96,7 +96,7 @@ jobs:
9696
COUNTLY_CONFIG_API_PREVENT_JOBS: true
9797

9898
steps:
99-
- uses: actions/checkout@v4
99+
- uses: actions/checkout@v5
100100

101101
- name: Copy code
102102
shell: bash
@@ -153,7 +153,7 @@ jobs:
153153
COUNTLY_CONFIG_API_PREVENT_JOBS: true
154154

155155
steps:
156-
- uses: actions/checkout@v4
156+
- uses: actions/checkout@v5
157157

158158
- name: Prepare tests
159159
shell: bash
@@ -207,7 +207,7 @@ jobs:
207207
COUNTLY_CONFIG_API_PREVENT_JOBS: true
208208

209209
steps:
210-
- uses: actions/checkout@v4
210+
- uses: actions/checkout@v5
211211

212212
- name: Copy code
213213
shell: bash
@@ -270,7 +270,7 @@ jobs:
270270
COUNTLY_CONFIG_API_PREVENT_JOBS: true
271271

272272
steps:
273-
- uses: actions/checkout@v4
273+
- uses: actions/checkout@v5
274274

275275
- name: Install Chrome
276276
shell: bash

.github/workflows/release_notice.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
uses: slackapi/[email protected]
1818
with:
1919
# This data can be any valid JSON from a previous step in the GitHub Action
20+
webhook: ${{ secrets.SLACK_RELEASE }}
21+
webhook-type: incoming-webhook
2022
payload: |
2123
{
2224
"repository": "${{ github.repository }}",
@@ -28,7 +30,7 @@ jobs:
2830
env:
2931
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_RELEASE }}
3032
- name: Send custom JSON data to Discord
31-
uses: sarisia/[email protected].3
33+
uses: sarisia/[email protected].4
3234
with:
3335
webhook: ${{ secrets.DISCORD_WEBHOOK_URL }}
3436
nodetail: true

.github/workflows/stable-je-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
steps:
2121
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v5
2323

2424
- name: Deploy server
2525
shell: bash

CHANGELOG.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,57 @@
22
Dependencies:
33
- Remove SQLite
44

5+
## Version 25.03.19
6+
Enterprise Fixes
7+
- [home] Fix home download render issue
8+
- [journeys] Fix for handling the skip threshold value when saving the journey
9+
- [journeys] Performance improvement on journey stat user list & UI bugfixes
510

6-
## Version 25.03.14
11+
Dependencies:
12+
- Bump express-rate-limit from 8.0.1 to 8.1.0
13+
- Bump mongodb from 6.18.0 to 6.19.0
14+
- Bump nodemailer from 7.0.5 to 7.0.6
15+
- Bump puppeteer from 24.17.0 to 24.19.0
16+
- Bump sass from 1.90.0 to 1.92.1
17+
18+
## Version 25.03.18
19+
Fixes:
20+
- [server-stats] Add new events to breakdown
21+
- [server-stats] Fix breakdown event calculation
22+
23+
Enterprise Fixes:
24+
- [journeys] Fix for clearing content queue when journey is paused
25+
- [journeys] Fix for content shown event handling
26+
- [journeys] Fix for performance issues when huge number of journey instances created
27+
- [journeys] Update skip threshold when journeys are paused
28+
29+
Dependencies:
30+
- Bump get-random-values from 3.0.0 to 4.0.0
31+
- Bump puppeteer from 24.16.1 to 24.16.2
32+
33+
## Version 25.03.17
34+
Enterprise Fixes:
35+
- [ldap] Recursive user search in ldap added
36+
- [license] Update metric endpoint permission
737

38+
Dependencies:
39+
- Bump puppeteer from 24.16.2 to 24.17.0
40+
41+
## Version 25.03.16
42+
Enterprise Fixes:
43+
- [journeys] Fix for skip threshold check in concurrent requests
44+
- [journeys] Prevent showing journey builder when viewing journey list page
45+
46+
Dependencies:
47+
- Bump get-random-values from 3.0.0 to 4.0.0
48+
- Bump puppeteer from 24.16.1 to 24.16.2
49+
50+
## Version 25.03.15
51+
Enterprise Fixes:
52+
- [cohorts] Unescape segmentation properties options to prevent duplicated values
53+
- [ldap] Connection timeout values are added to LDAP config
54+
55+
## Version 25.03.14
856
Fixes:
957
- [dashboard] Localized missing string in the dashboard
1058
- [localization] Added French translations
@@ -13,7 +61,12 @@ Enterprise Fixes:
1361
- [active_directory] Fix for body parser empty request body issue
1462

1563
Dependencies:
64+
- Bump eslint-plugin-vue from 10.3.0 to 10.4.0
65+
- Bump fs-extra from 11.3.0 to 11.3.1
1666
- Bump lint-staged from 16.1.2 to 16.1.4
67+
- Bump puppeteer from 24.15.0 to 24.16.1
68+
- Bump sass from 1.89.2 to 1.90.0
69+
- Bump typescript from 5.8.3 to 5.9.2
1770

1871

1972
## Version 25.03.13

api/utils/countly-request/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/utils/requestProcessor.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const validateUserForGlobalAdmin = validateGlobalAdmin;
2929
const validateUserForMgmtReadAPI = validateUser;
3030
const request = require('countly-request')(plugins.getConfig("security"));
3131
const Handle = require('../../api/parts/jobs/index.js');
32+
const render = require('../../api/utils/render.js');
3233

3334
var loaded_configs_time = 0;
3435

@@ -362,6 +363,45 @@ const processRequest = (params) => {
362363
}
363364
break;
364365
}
366+
case '/o/render': {
367+
validateUserForRead(params, function() {
368+
var options = {};
369+
var view = params.qstring.view || "";
370+
var route = params.qstring.route || "";
371+
var id = params.qstring.id || "";
372+
373+
options.view = view + "#" + route;
374+
options.id = id ? "#" + id : "";
375+
376+
var imageName = "screenshot_" + common.crypto.randomBytes(16).toString("hex") + ".png";
377+
378+
options.savePath = path.resolve(__dirname, "../../frontend/express/public/images/screenshots/" + imageName);
379+
options.source = "core";
380+
381+
authorize.save({
382+
db: common.db,
383+
multi: false,
384+
owner: params.member._id,
385+
ttl: 300,
386+
purpose: "LoginAuthToken",
387+
callback: function(err2, token) {
388+
if (err2) {
389+
common.returnMessage(params, 400, 'Error creating token: ' + err2);
390+
return false;
391+
}
392+
options.token = token;
393+
render.renderView(options, function(err3) {
394+
if (err3) {
395+
common.returnMessage(params, 400, 'Error creating screenshot: ' + err3);
396+
return false;
397+
}
398+
common.returnOutput(params, {path: common.config.path + "/images/screenshots/" + imageName});
399+
});
400+
}
401+
});
402+
});
403+
break;
404+
}
365405
case '/i/app_users': {
366406
switch (paths[3]) {
367407
case 'create': {

frontend/express/app.js

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ var versionInfo = require('./version.info'),
6767
url = require('url'),
6868
authorize = require('../../api/utils/authorizer.js'), //for token validations
6969
languages = require('../../frontend/express/locale.conf'),
70-
render = require('../../api/utils/render.js'),
7170
rateLimit = require("express-rate-limit"),
7271
membersUtility = require("./libs/members.js"),
7372
argon2 = require('argon2'),
@@ -1877,48 +1876,6 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
18771876
}
18781877
});
18791878

1880-
app.get(countlyConfig.path + '/render', function(req, res) {
1881-
if (!req.session.uid) {
1882-
return res.redirect(countlyConfig.path + '/login');
1883-
}
1884-
1885-
var options = {};
1886-
var view = req.query.view || "";
1887-
var route = req.query.route || "";
1888-
var id = req.query.id || "";
1889-
1890-
options.view = view + "#" + route;
1891-
options.id = id ? "#" + id : "";
1892-
1893-
var randomString = (+new Date()).toString() + (Math.random()).toString();
1894-
var imageName = "screenshot_" + sha1Hash(randomString) + ".png";
1895-
1896-
options.savePath = path.resolve(__dirname, "./public/images/screenshots/" + imageName);
1897-
options.source = "core";
1898-
1899-
authorize.save({
1900-
db: countlyDb,
1901-
multi: false,
1902-
owner: req.session.uid,
1903-
ttl: 300,
1904-
purpose: "LoginAuthToken",
1905-
callback: function(err2, token) {
1906-
if (err2) {
1907-
console.log(err2);
1908-
return res.send(false);
1909-
}
1910-
options.token = token;
1911-
render.renderView(options, function(err3) {
1912-
if (err3) {
1913-
return res.send(false);
1914-
}
1915-
1916-
return res.send({path: countlyConfig.path + "/images/screenshots/" + imageName});
1917-
});
1918-
}
1919-
});
1920-
});
1921-
19221879
app.get(countlyConfig.path + '/login/token/:token', function(req, res) {
19231880
membersUtility.loginWithToken(req, function(member) {
19241881
if (member) {

0 commit comments

Comments
 (0)