Skip to content

Commit 00fc548

Browse files
committed
Merge branch 'master' into next
# Conflicts: # CHANGELOG.md
2 parents b81c595 + 4783d0f commit 00fc548

File tree

18 files changed

+161
-58
lines changed

18 files changed

+161
-58
lines changed

.github/workflows/main.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ jobs:
249249
runs-on: ubuntu-latest
250250

251251
strategy:
252+
fail-fast: false
252253
matrix:
253254
test_type: [dashboard, onboarding]
254255

@@ -345,8 +346,13 @@ jobs:
345346
working-directory: /opt/countly/ui-tests/cypress
346347
run: |
347348
ARTIFACT_ARCHIVE_NAME="$(date '+%Y%m%d-%H.%M')_${GITHUB_REPOSITORY#*/}_CI#${{ github.run_number }}_${{ matrix.test_type }}.tar.gz"
349+
348350
mkdir -p screenshots videos downloads
349-
tar zcvf "$ARTIFACT_ARCHIVE_NAME" screenshots videos downloads
351+
find screenshots videos downloads -type d -empty -delete
352+
353+
TAR_TARGETS=$(ls -d screenshots videos downloads 2>/dev/null || true)
354+
355+
tar zcvf "$ARTIFACT_ARCHIVE_NAME" $TAR_TARGETS
350356
curl -o /tmp/uploader.log -u "${{ secrets.BOX_UPLOAD_AUTH }}" ${{ secrets.BOX_UPLOAD_PATH }} -T "$ARTIFACT_ARCHIVE_NAME"
351357
352358
ui-test-sdk:

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22
Dependencies:
33
- Remove SQLite
44

5+
## Version 25.03.XX
6+
Fixes:
7+
- [core] Do not output password in logs on mongodb connection initialisation error
8+
- [core] Hide error details on render error from response
9+
- [dashboards] Do not show error if request is cancelled.
10+
- [dbviewer] Hide api_key from requests
11+
- [events] Do not throw error in UI on returned group data if there is no segmentation set
12+
13+
Enterprise Fixes:
14+
-[surveys] Do not fetch survey meta data if plugin is disabled
15+
516
## Version 25.03.28
617
Fixes:
718
- [alerts] Add alert interval validation in the frontend

api/configextender.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,12 @@ const OVERRIDES = {
5353
CA: 'ca',
5454
},
5555
},
56-
56+
COOKIE: {
57+
SAMESITE: 'sameSite',
58+
HTTPONLY: 'httpOnly',
59+
MAXAGE: 'maxAge',
60+
MAXAGELOGIN: 'maxAgeLogin',
61+
},
5762
MAIL: {
5863
CONFIG: {
5964
IGNORETLS: "ignoreTLS"

api/jobs/ping.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class PingJob extends job.Job {
5151

5252
if (days > 0) {
5353
//calculate seconds timestamp of days before today
54-
var startTs = Math.round((new Date().getTime() - (30 * 24 * 60 * 60 * 1000)) / 1000);
54+
var startTs = Math.round((new Date().getTime() - (days * 24 * 60 * 60 * 1000)) / 1000);
5555

5656
//sync server events - use aggregation pipeline to group by day and action on MongoDB side
5757
var aggregationPipeline = [

api/parts/mgmt/tracker.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,13 @@ tracker.collectServerData = async function() {
249249
edition = "Enterprise";
250250
}
251251
props.edition = edition;
252+
props.hosting = "self-hosted";
253+
if (props.edition === "Flex") {
254+
props.hosting = "flex";
255+
}
256+
else if (props.plugins.includes("tracker")) {
257+
props.hosting = "countly-hosted";
258+
}
252259
if (common.db.build && common.db.build.version) {
253260
props.mongodb = common.db.build.version;
254261
}

api/parts/mgmt/users.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,6 +861,9 @@ usersApi.checkNoteEditPermission = async function(params) {
861861
if (error) {
862862
return reject(false);
863863
}
864+
if (!note) {
865+
return resolve(false);
866+
}
864867
const globalAdmin = params.member.global_admin;
865868
const isAppAdmin = hasAdminAccess(params.member, params.qstring.app_id);
866869
const noteOwner = (note.owner + '' === params.member._id + '');

api/utils/common.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ common.validateArgs = function(args, argProperties, returnErrors) {
10711071
}
10721072

10731073
if (argProperties[arg]['max-length']) {
1074-
if (args[arg].length > argProperties[arg]['max-length']) {
1074+
if (args[arg] && args[arg].length > argProperties[arg]['max-length']) {
10751075
if (returnErrors) {
10761076
returnObj.errors.push("Length of " + arg + " is greater than max length value");
10771077
returnObj.result = false;
@@ -1084,7 +1084,7 @@ common.validateArgs = function(args, argProperties, returnErrors) {
10841084
}
10851085

10861086
if (argProperties[arg]['min-length']) {
1087-
if (args[arg].length < argProperties[arg]['min-length']) {
1087+
if (args[arg] && args[arg].length < argProperties[arg]['min-length']) {
10881088
if (returnErrors) {
10891089
returnObj.errors.push("Length of " + arg + " is lower than min length value");
10901090
returnObj.result = false;

api/utils/requestProcessor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ const processRequest = (params) => {
392392
options.token = token;
393393
render.renderView(options, function(err3) {
394394
if (err3) {
395-
common.returnMessage(params, 400, 'Error creating screenshot: ' + err3);
395+
common.returnMessage(params, 400, 'Error creating screenshot. Please check logs for more information.');
396396
return false;
397397
}
398398
common.returnOutput(params, {path: common.config.path + "/images/screenshots/" + imageName});

countly-community

Lines changed: 0 additions & 1 deletion
This file was deleted.

frontend/express/public/core/events/javascripts/countly.details.models.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@
381381
},
382382
getSegments: function(context, res) {
383383
var segments = [];
384-
if (res.meta && res.meta.segments.length > 0) {
384+
if (res.meta && res.meta.segments && Array.isArray(res.meta.segments) && res.meta.segments.length > 0) {
385385
segments = res.meta.segments.slice();
386386
context.commit('setHasSegments', true);
387387
}

0 commit comments

Comments
 (0)