Skip to content

Commit 90d9353

Browse files
authored
Merge pull request #6120 from Countly/ar2rsawseen/cleanup
Old UI cleanup
2 parents bdacd13 + cc407f9 commit 90d9353

File tree

164 files changed

+1388
-85254
lines changed

Some content is hidden

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

164 files changed

+1388
-85254
lines changed

.codacy.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@ exclude_paths:
77
- 'frontend/express/public/localization/**'
88
- 'frontend/express/public/fonts/**'
99
- 'frontend/express/public/images/**'
10-
- 'frontend/express/public/stylesheets/amaranjs/**'
1110
- 'frontend/express/public/stylesheets/font-awesome/**'
1211
- 'frontend/express/public/stylesheets/ionicons/**'
1312
- 'frontend/express/public/stylesheets/material/**'
14-
- 'frontend/express/public/stylesheets/selectize/**'
1513
- 'bin/backup/**'
1614
- 'bin/upgrade/**'
1715
- 'bin/**'

.github/workflows/main.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,12 @@ jobs:
275275
276276
- name: Copy code
277277
shell: bash
278-
run: cp -rf ./* /opt/countly
278+
run: |
279+
rm -rf /opt/countly/frontend
280+
rm -rf /opt/countly/plugins/old-ui-compatibility
281+
cp -rf ./* /opt/countly
282+
cp /opt/countly/frontend/express/config.sample.js /opt/countly/frontend/express/config.js
283+
cp /opt/countly/frontend/express/public/javascripts/countly/countly.config.sample.js /opt/countly/frontend/express/public/javascripts/countly/countly.config.js
279284
280285
- name: Prepare files to use correct MongoDB host
281286
shell: bash
@@ -358,8 +363,13 @@ jobs:
358363
359364
- name: Copy code
360365
shell: bash
361-
run: cp -rf ./* /opt/countly
362-
366+
run: |
367+
rm -rf /opt/countly/frontend
368+
rm -rf /opt/countly/plugins/old-ui-compatibility
369+
cp -rf ./* /opt/countly
370+
cp /opt/countly/frontend/express/config.sample.js /opt/countly/frontend/express/config.js
371+
cp /opt/countly/frontend/express/public/javascripts/countly/countly.config.sample.js /opt/countly/frontend/express/public/javascripts/countly/countly.config.js
372+
363373
- name: Prepare files to use correct MongoDB host
364374
shell: bash
365375
run: "sed -i 's/mongosh --quiet/mongosh --host mongodb --quiet/' /opt/countly/bin/backup/import_events.sh && sed -i 's/mongoimport --db/mongoimport --host mongodb --db/' /opt/countly/bin/backup/import_events.sh"

.github/workflows/release_notice.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
run: echo "$GITHUB_CONTEXT"
1515
- name: Send custom JSON data to Slack workflow
1616
id: slack
17-
uses: slackapi/slack-github-action@v2.0.0
17+
uses: slackapi/slack-github-action@v2.1.0
1818
with:
1919
# This data can be any valid JSON from a previous step in the GitHub Action
2020
payload: |

CHANGELOG.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,35 @@
11
## Version 25.03.x
2+
Enterprise Fixes:
3+
- [content] Asset URL was wrongly constructed when user switches between apps
4+
- [ab-testing] Updates
5+
- Do not wait for result calculation when requesting experiments
6+
- Do not calculate result for completed experiments
7+
8+
Dependencies:
9+
- Bump lint-staged from 15.5.2 to 16.0.0
10+
- Bump nodemailer from 6.10.1 to 7.0.3
11+
- Bump puppeteer from 24.8.0 to 24.8.2
12+
- Bump sass from 1.87.0 to 1.88.0
13+
- Bump semver from 7.7.1 to 7.7.2
14+
- Bump supertest from 7.1.0 to 7.1.1
15+
16+
## Version 25.03.5
217
Fixes:
18+
- [core] Changes for event omit script to validate data in new model and use countly-request.
19+
- [core] Changes to top events job. Fetching data from aggregated event totals.
20+
- [crashes] Fix unescaped SDK logs
321
- [feedback] Uniformize drawer internal name input texts
22+
- [feedback] Uniformize feedback widgets status tag
23+
- [localization] Fixed grammatical errors
424
- [star-rating] Added missing columns to Rating Widgets table edit
25+
- [star-rating] Allow bulk update of widget status
526
- [star-rating] Fix rating score and responses table sorting
627
- [ui] Fix alignment of drawers title and close icon
7-
- [heatmaps] Get heatmap data from new drill events collection
28+
- [UI] Remove white background from input character amount suffix
829

9-
Fixes:
10-
- [localization] Fixed grammatical errors
30+
Enterprise Fixes:
31+
- [heatmaps] Get heatmap data from new drill events collection
32+
- [retention] Fixed report loading
1133

1234
Dependencies:
1335
- Bump countly-sdk-web from 25.1.0 to 25.4.0

Gruntfile.js

Lines changed: 1 addition & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,8 @@ module.exports = function(grunt) {
1414
dom: {
1515
src: [
1616
'frontend/express/public/javascripts/dom/jquery/jquery.js',
17-
'frontend/express/public/javascripts/dom/jquery.form.js',
18-
'frontend/express/public/javascripts/dom/tipsy/jquery.tipsy.js',
19-
'frontend/express/public/javascripts/dom/jquery.noisy.min.js',
20-
'frontend/express/public/javascripts/dom/jquery.sticky.headers.js',
21-
'frontend/express/public/javascripts/dom/jqueryui/jquery-ui.js',
22-
'frontend/express/public/javascripts/dom/jqueryui/jquery-ui-i18n.js',
2317
'frontend/express/public/javascripts/dom/gridstack/gridstack-h5.js',
24-
'frontend/express/public/javascripts/dom/slimScroll.min.js',
25-
'frontend/express/public/javascripts/dom/jquery.easing.1.3.js',
26-
'frontend/express/public/javascripts/dom/dataTables/js/jquery.dataTables.js',
27-
'frontend/express/public/javascripts/dom/dataTables/js/ZeroClipboard.js',
28-
'frontend/express/public/javascripts/dom/dataTables/js/TableTools.js',
2918
'frontend/express/public/javascripts/dom/pace/pace.min.js',
30-
'frontend/express/public/javascripts/dom/drop/tether.min.js',
31-
'frontend/express/public/javascripts/dom/drop/drop.min.js'
3219
],
3320
dest: 'frontend/express/public/javascripts/min/countly.dom.concat.js'
3421
},
@@ -39,22 +26,13 @@ module.exports = function(grunt) {
3926
'frontend/express/public/javascripts/utils/lodash.merge.js',
4027
'frontend/express/public/javascripts/utils/prefixfree.min.js',
4128
'frontend/express/public/javascripts/utils/moment/moment-with-locales.min.js',
42-
'frontend/express/public/javascripts/utils/handlebars.js',
4329
'frontend/express/public/javascripts/utils/backbone-min.js',
4430
'frontend/express/public/javascripts/utils/jquery.i18n.properties.js',
45-
'frontend/express/public/javascripts/utils/jstz.min.js',
4631
'frontend/express/public/javascripts/utils/store+json2.min.js',
4732
'frontend/express/public/javascripts/utils/jquery.idle-timer.js',
48-
'frontend/express/public/javascripts/utils/textcounter.min.js',
4933
'frontend/express/public/javascripts/utils/initialAvatar.js',
50-
'frontend/express/public/javascripts/utils/jquery.amaran.min.js',
51-
'frontend/express/public/javascripts/utils/jquery.titlealert.js',
52-
'frontend/express/public/javascripts/utils/jquery.hoverIntent.minified.js',
53-
'frontend/express/public/javascripts/utils/tooltipster/tooltipster.bundle.min.js',
5434
'frontend/express/public/javascripts/utils/highlight/highlight.pack.js',
55-
'frontend/express/public/javascripts/utils/dropzone.js',
5635
'frontend/express/public/javascripts/utils/webfont.js',
57-
'frontend/express/public/javascripts/utils/selectize.min.js',
5836
'frontend/express/public/javascripts/utils/leaflet.js',
5937
'frontend/express/public/javascripts/utils/js-deep-equals.unsorted.min.js',
6038
'frontend/express/public/javascripts/utils/polyfill/es6-promise.auto.min.js',
@@ -77,38 +55,15 @@ module.exports = function(grunt) {
7755
'frontend/express/public/javascripts/utils/vue/vue-json-pretty.min.js',
7856
'frontend/express/public/javascripts/utils/jquery.xss.js',
7957
'frontend/express/public/javascripts/countly/countly.common.js',
80-
'frontend/express/public/javascripts/utils/simpleUpload.min.js',
81-
'frontend/express/public/javascripts/utils/jsoneditor/codemirror.js',
82-
'frontend/express/public/javascripts/utils/jsoneditor/javascript.min.js',
83-
'frontend/express/public/javascripts/utils/jsoneditor/json2.js',
84-
'frontend/express/public/javascripts/utils/jsoneditor/jsonlint.js',
85-
'frontend/express/public/javascripts/utils/jsoneditor/minify.json.js',
86-
'frontend/express/public/javascripts/utils/jsoneditor/jsoneditor.js',
8758
'frontend/express/public/javascripts/utils/Sortable.min.js',
8859
'frontend/express/public/javascripts/utils/vue/vuedraggable.umd.min.js',
89-
'frontend/express/public/javascripts/utils/countly.checkbox.js',
9060
'frontend/express/public/javascripts/utils/lodash.mergeWith.js',
9161
'frontend/express/public/javascripts/utils/element-tiptap.umd.min.js'
9262
],
9363
dest: 'frontend/express/public/javascripts/min/countly.utils.concat.js'
9464
},
9565
visualization: {
9666
src: [
97-
'frontend/express/public/javascripts/visualization/jquery.peity.min.js',
98-
'frontend/express/public/javascripts/visualization/jquery.sparkline.js',
99-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.js',
100-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.tickrotor.js',
101-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.pie.js',
102-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.resize.js',
103-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.stack.js',
104-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.spline.js',
105-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.crosshair.js',
106-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.orderBars.js',
107-
'frontend/express/public/javascripts/visualization/flot/jquery.flot.navigate.js',
108-
'frontend/express/public/javascripts/visualization/gauge.min.js',
109-
'frontend/express/public/javascripts/visualization/d3/d3.min.js',
110-
'frontend/express/public/javascripts/visualization/rickshaw/rickshaw.min.js',
111-
'frontend/express/public/javascripts/visualization/rickshaw/rickshaw.x.axis.js'
11267
],
11368
dest: 'frontend/express/public/javascripts/min/countly.visualization.concat.js'
11469
},
@@ -159,7 +114,6 @@ module.exports = function(grunt) {
159114
'frontend/express/public/javascripts/countly/vue/components/progress.js',
160115
'frontend/express/public/javascripts/countly/vue/directives/scroll-shadow.js',
161116
'frontend/express/public/javascripts/countly/vue/legacy.js',
162-
'frontend/express/public/javascripts/countly/countly.vue.legacy.js',
163117
'frontend/express/public/javascripts/countly/countly.token.manager.js',
164118
'frontend/express/public/javascripts/countly/countly.version.history.js',
165119
'frontend/express/public/javascripts/countly/countly.analytics.js',
@@ -229,18 +183,10 @@ module.exports = function(grunt) {
229183
'frontend/express/public/stylesheets/main.min.css': [
230184
'frontend/express/public/stylesheets/main.css',
231185
'frontend/express/public/stylesheets/vue/clyvue.css',
232-
'frontend/express/public/stylesheets/vue/vue-json-pretty.css',
233-
'frontend/express/public/stylesheets/amaranjs/amaran.min.css',
234-
'frontend/express/public/stylesheets/selectize/selectize.css',
235186
'frontend/express/public/stylesheets/leaflet/leaflet.css',
236-
'frontend/express/public/stylesheets/jsoneditor/codemirror.css',
237-
'frontend/express/public/stylesheets/countly-checkbox/countly.checkbox.css',
238-
'frontend/express/public/javascripts/dom/tipsy/tipsy.css',
187+
'frontend/express/public/stylesheets/vue/vue-json-pretty.css',
239188
'frontend/express/public/javascripts/dom/gridstack/gridstack.css',
240-
'frontend/express/public/javascripts/visualization/rickshaw/rickshaw.min.css',
241189
'frontend/express/public/javascripts/dom/pace/pace-theme-flash.css',
242-
'frontend/express/public/javascripts/dom/drop/drop-theme-countly.min.css',
243-
'frontend/express/public/javascripts/utils/tooltipster/tooltipster.bundle.min.css',
244190
'frontend/express/public/stylesheets/bulma/bulma-custom.css',
245191
'frontend/express/public/stylesheets/styles/manifest2.css',
246192
'frontend/express/public/stylesheets/vue/element-tiptap.css',

api/jobs/topEvents.js

Lines changed: 54 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,29 +44,49 @@ class TopEventsJob extends job.Job {
4444
}
4545

4646
/**
47-
* async
48-
* Get events count.
49-
* @param {Object} params - getEventsCount object
50-
* @param {String} params.collectionNameEvents - event collection name
51-
* @param {Object} params.ob - it contains all necessary info
52-
* @param {string} params.event - event name
53-
* @param {Object} params.data - dummy event data
54-
* @returns {Promise.<boolean>} true.
47+
*
48+
* @param {object} params - params object
49+
* @param {object} data - object where to collect data
50+
* @param {boolean} previous - if fetching for previous period
51+
* @returns {Promise} promise
5552
*/
56-
async getEventsCount(params) {
57-
const { collectionNameEvents, ob, data, event } = params;
53+
async fetchEventTotalCounts(params, data, previous) {
54+
let collectionName = "all";
55+
params.qstring.segmentation = "key";
5856
return await new Promise((resolve) => {
59-
countlyApi.data.fetch.getTimeObjForEvents(collectionNameEvents, ob, (doc) => {
57+
countlyApi.data.fetch.getTimeObjForEvents("events_data", params, {'id_prefix': params.app_id + "_" + collectionName + '_'}, function(doc) {
6058
countlyEvents.setDb(doc || {});
61-
const countProp = countlyEvents.getNumber("c", true);
62-
const sumProp = countlyEvents.getNumber("s", true);
63-
const durationProp = countlyEvents.getNumber("dur", true);
64-
data[event] = {};
65-
data[event].data = {
66-
count: countProp,
67-
sum: sumProp,
68-
duration: durationProp
69-
};
59+
60+
var dd = countlyEvents.getSegmentedData(params.qstring.segmentation);
61+
for (var z = 0; z < dd.length;z++) {
62+
var key = dd[z]._id;
63+
data[key] = data[key] || {};
64+
data[key].data = data[key].data || {};
65+
data[key].data.count = data[key].data.count || {"total": 0, "prev-total": 0, "change": "NA", "trend": "u"};
66+
if (previous) {
67+
data[key].data.count["prev-total"] = dd[z].c;
68+
}
69+
else {
70+
data[key].data.count.total = dd[z].c;
71+
}
72+
73+
data[key].data.sum = data[key].data.sum || {"total": 0, "prev-total": 0, "change": "NA", "trend": "u"};
74+
if (previous) {
75+
data[key].data.sum["prev-total"] = dd[z].s;
76+
}
77+
else {
78+
data[key].data.sum.total = dd[z].s;
79+
}
80+
81+
data[key].data.duration = data[key].data.duration || {"total": 0, "prev-total": 0, "change": "NA", "trend": "u"};
82+
if (previous) {
83+
data[key].data.duration["prev-total"] = dd[z].dur;
84+
}
85+
else {
86+
data[key].data.duration.total = dd[z].dur;
87+
}
88+
}
89+
//data.all = countlyEvents.getSegmentedData(params.qstring.segmentation);
7090
resolve(true);
7191
});
7292
});
@@ -204,10 +224,20 @@ class TopEventsJob extends job.Job {
204224
let prevTotalSum = 0;
205225
let totalDuration = 0;
206226
let prevTotalDuration = 0;
207-
for (const event of eventMap) {
208-
log.d(" getting event data for event: " + event + " (" + period + ")");
209-
const collectionNameEvents = this.eventsCollentions({ event, id: app._id });
210-
await this.getEventsCount({ collectionNameEvents, ob, data, event });
227+
228+
//Fetching totals for this period
229+
await this.fetchEventTotalCounts({ app_id: app._id, appTimezone: app.timezone, qstring: { period: period } }, data, false);
230+
var period2 = countlyCommon.getPeriodObj({appTimezone: app.timezone, qstring: {}}, period);
231+
var newPeriod = [period2.start - (period2.end - period2.start), period2.start];
232+
//Fetching totals for previous period
233+
await this.fetchEventTotalCounts({ app_id: app._id, appTimezone: app.timezone, qstring: { period: newPeriod } }, data, true);
234+
235+
236+
for (var event in data) {
237+
//Calculating trend
238+
var trend = countlyCommon.getPercentChange(data[event].data.count["prev-total"], data[event].data.count.total);
239+
data[event].data.count.change = trend.percent;
240+
data[event].data.count.trend = trend.trend;
211241
totalCount += data[event].data.count.total;
212242
prevTotalCount += data[event].data.count["prev-total"];
213243
totalSum += data[event].data.sum.total;

0 commit comments

Comments
 (0)