Merge branch 'next' into newarchitecture#7428
Open
ar2rsawseen wants to merge 1 commit intonewarchitecturefrom
Open
Merge branch 'next' into newarchitecture#7428ar2rsawseen wants to merge 1 commit intonewarchitecturefrom
ar2rsawseen wants to merge 1 commit intonewarchitecturefrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR primarily merges next into newarchitecture, bringing in a broad set of changes across core server, plugins, UI, tests, Docker build assets, and dependency updates.
Changes:
- Update/expand feature work across multiple plugins (notably Hooks SSRF protection, Web client-hints parsing, Push Huawei platform handling).
- Improve UI test stability and diagnostics (Cypress upgrades, scrolling/loading helpers, global failure formatter, updated selectors).
- Update core/frontend UX strings and some internal utilities (Mongo connection string handling, response headers for Client Hints).
Reviewed changes
Copilot reviewed 55 out of 64 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| ui-tests/package.json | Bumps Cypress version used for UI tests. |
| ui-tests/package-lock.json | Lockfile updates for Cypress and transitive dependencies. |
| ui-tests/cypress/support/elements/onboarding/initialSetup.js | Updates data-test-id selectors for onboarding initial setup. |
| ui-tests/cypress/support/elements/dashboard/manage/alerts/alerts.js | Updates data-test-id selectors for alerts drawer fields. |
| ui-tests/cypress/support/e2e.js | Adds global fail formatter + debug context reset per test. |
| ui-tests/cypress/support/debugContext.js | Adds shared debug context helpers for richer failures. |
| ui-tests/cypress/support/commands.js | Refines click/body helpers and adds checkLoading() command. |
| ui-tests/cypress/lib/dashboard/messaging/messaging.js | Forces click on a tab to improve test reliability. |
| ui-tests/cypress/lib/dashboard/manage/sdk/stats.js | Adds scrolling and forces tab clicks for stability. |
| ui-tests/cypress/lib/dashboard/home/home.js | Adds scroll steps before verifying elements. |
| ui-tests/cypress/lib/dashboard/feedback/ratings/widgets.js | Adjusts navigation click behavior and adds loading wait. |
| ui-tests/cypress/lib/dashboard/crashes/crashes.js | Adds scroll to bottom before verifying chart elements. |
| ui-tests/cypress/lib/dashboard/analytics/events/events.js | Updates compared event name and forces option click. |
| ui-tests/cypress/e2e/dashboard/manage/apps/apps.cy.js | Removes stray whitespace line in test. |
| ui-tests/cypress.config.sample.js | Comments out retries setting in sample config. |
| plugins/web/tests.js | Adds API tests for UA + Client Hints parsing behavior. |
| plugins/web/api/ingestor.js | Implements Client Hints parsing and uses /sdk/pre hook to set metrics. |
| plugins/system-utility/package-lock.json | Updates dependencies for system-utility plugin. |
| plugins/star-rating/frontend/public/templates/feedback-popup.html | Makes asset URLs respect subdirectory base path and adds countlyPath usage. |
| plugins/star-rating/frontend/public/templates/drawer.html | Adjusts default logo image path in drawer UI. |
| plugins/star-rating/frontend/public/stylesheets/ratings-iframe.scss | Removes hardcoded asset URLs (moved to template inline style). |
| plugins/star-rating/frontend/app.js | Passes countlyPath to popup template renderer. |
| plugins/reports/api/reports.js | Switches reports secret key defaulting to a generated value. |
| plugins/push/package-lock.json | Large dependency updates for push plugin. |
| plugins/push/api/send/platforms/h.js | Adds Huawei Push Kit platform implementation. |
| plugins/push/api/jobs/util/connector.js | Adds connector stream for push job processing and connection management. |
| plugins/pluginManager.ts | Reworks Mongo connection string DB replacement via mongodb-connection-string-url. |
| plugins/hooks/tests/ssrf.js | Adds SSRF protection tests for Hooks HTTPEffect. |
| plugins/hooks/tests/index.js | Aggregates hooks tests (crud + ssrf). |
| plugins/hooks/tests/crud.js | Fixes require paths and formatting for hooks CRUD tests. |
| plugins/hooks/package.json | Adds ipaddr.js dependency for SSRF protection. |
| plugins/hooks/package-lock.json | Lockfile updates for hooks deps (incl. isolated-vm bump + ipaddr.js). |
| plugins/hooks/frontend/public/templates/vue-drawer.html | Enables async submit behavior for drawer. |
| plugins/hooks/frontend/public/localization/hooks.properties | Adds localization key for hook test failure. |
| plugins/hooks/frontend/public/javascripts/countly.views.js | Updates drawer submit to async callback pattern. |
| plugins/hooks/frontend/public/javascripts/countly.models.js | Makes saveHook return a Promise and improves error messaging; adds testHook error handler. |
| plugins/hooks/api/ssrf-protection.js | Introduces SSRF validation utilities (DNS/IP checks + redirect disabling). |
| plugins/hooks/api/parts/effects/http.js | Enforces SSRF revalidation after template expansion before outbound calls. |
| plugins/hooks/api/api.js | Switches HTTPEffect URL validation to SSRF module (save + test). |
| plugins/data-manager/frontend/public/templates/event-group-drawer.html | Replaces <el-select> with cly-select-x multi selector + validation styling. |
| plugins/data-manager/frontend/public/templates/create-events-drawer.html | Improves cly-select-x sizing behavior for category selector. |
| plugins/data-manager/frontend/public/localization/data-manager.properties | Adds localization key and formatting fix. |
| plugins/dashboards/api/parts/dashboards.js | Decodes HTML for event segment meta values. |
| plugins/crashes/api/api.js | Tightens args parsing, app_id consistency checks, and parameter validation for crash comments. |
| package.json | Updates multiple dependencies; adds mongodb-connection-string-url. |
| frontend/express/public/localization/dashboard/dashboard.properties | Adds download/link text and image generated message. |
| frontend/express/public/javascripts/countly/vue/components/input.js | Adjusts test-id slug generation and adds a test id to remove icon. |
| frontend/express/public/javascripts/countly/vue/components/form.js | Makes form-field header test-id incorporate label slug. |
| frontend/express/public/core/home/javascripts/countly.views.js | Updates home image-download notification to new localized copy. |
| Dockerfile-frontend | Pins global npm version to npm@10. |
| Dockerfile-centos-frontend | Switches raven-release install flow and pins npm@10. |
| Dockerfile-centos-api | Switches raven-release install flow and pins npm@10. |
| Dockerfile-api | Pins global npm version to npm@10. |
| CHANGELOG.md | Adds release notes for multiple 25.03.x versions and dependency bumps. |
| bin/scripts/timezones/package.json | Bumps moment-timezone. |
| bin/scripts/timezones/package-lock.json | Lockfile for moment-timezone bump. |
| bin/countly.install_rhel.sh | Changes font/raven-release install flow for RHEL/CentOS. |
| api/utils/countly-request/package-lock.json | Updates minimatch/brace-expansion versions. |
| api/utils/common.js | Adds Accept-CH/Critical-CH headers (Client Hints) and X-Countly header. |
| api/parts/mgmt/apps.js | Adds metric_changes collection drop + index creation during reset. |
| .github/workflows/release_notice.yml | Updates Slack GitHub Action version. |
| .github/workflows/docker-image.yml | Updates pinned SHAs for Docker login/build actions. |
| .github/workflows/deploy.yml | Updates pinned SHA for Docker login/build actions. |
Files not reviewed (5)
- api/utils/countly-request/package-lock.json: Language not supported
- plugins/hooks/package-lock.json: Language not supported
- plugins/push/package-lock.json: Language not supported
- plugins/system-utility/package-lock.json: Language not supported
- ui-tests/package-lock.json: Language not supported
kanwarujjaval
approved these changes
Apr 2, 2026
# Conflicts: # api/parts/mgmt/apps.js # package-lock.json # package.json # plugins/hooks/package-lock.json # plugins/hooks/package.json # plugins/hooks/tests/crud.js # plugins/pluginManager.js # plugins/push/api/api-auto.js # plugins/push/api/api-message.js # plugins/push/api/jobs/util/connector.js # plugins/push/api/send/data/message.js # plugins/push/api/send/platforms/h.js # plugins/push/package-lock.json # plugins/reports/api/reports.js # plugins/web/api/api.js # ui-tests/cypress/support/commands.js # ui-tests/cypress/support/e2e.js
c9b3764 to
949898a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Conflicts:
api/parts/mgmt/apps.js
package-lock.json
package.json
plugins/hooks/package-lock.json
plugins/hooks/package.json
plugins/hooks/tests/crud.js
plugins/pluginManager.js
plugins/push/api/api-auto.js
plugins/push/api/api-message.js
plugins/push/api/jobs/util/connector.js
plugins/push/api/send/data/message.js
plugins/push/api/send/platforms/h.js
plugins/push/package-lock.json
plugins/reports/api/reports.js
plugins/web/api/api.js
ui-tests/cypress/support/commands.js
ui-tests/cypress/support/e2e.js