-
Notifications
You must be signed in to change notification settings - Fork 14
add parent segments list to 'Used By' status of segments #2543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
bcb37
commented
Jun 23, 2025
- Adds an array of all segments that are parent segments of any of the segments corresponding to the supplied segment IDs to the return value from the backend for any segments 'with status' call
- Uses that data in the frontend to determine 'Used' status and 'Used By' data
- Display of parent segment info in the 'Used By' tab follows that of experiments and feature flags, including a link to the parent segment's details page; 'Status' defaults to 'Active' for all segments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR extends the segment “Used By” status to include parent segments in both backend and frontend.
- Backend: fetches parent segments in the
getSegmentStatuscall and exposes a new repository method. - Frontend: wires
allParentSegmentsthrough actions, reducers, selectors, service, and templates; updates UI to display segments in the “Used By” tab. - UI/UX: updates i18n subtitle and enhances tab component to support programmatic tab selection.
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/projects/upgrade/src/assets/i18n/en.json | Updated “Used By” subtitle to mention segments |
| frontend/projects/upgrade/src/app/shared-standalone-component-lib/components/common-tabbed-section-card-footer/common-tabbed-section-card-footer.component.ts | Added @Input() selectedIndex |
| frontend/projects/upgrade/src/app/shared-standalone-component-lib/components/common-tabbed-section-card-footer/common-tabbed-section-card-footer.component.html | Bound [(selectedIndex)] for two-way tab control |
| frontend/projects/upgrade/src/app/features/dashboard/segments/pages/segment-details-page/.../segment-overview-details-footer.component.ts | Added tab reset on init/changes and selectedIndex state |
| frontend/projects/upgrade/src/app/features/dashboard/segments/pages/segment-details-page/.../segment-overview-details-footer.component.html | Passed selectedIndex into common tab footer |
| frontend/projects/upgrade/src/app/core/segments/store/segments.selectors.ts | Introduced selectParentSegments and processParentSegments hook |
| frontend/projects/upgrade/src/app/core/segments/store/segments.reducer.ts | Added allParentSegments to state and reducer cases |
| frontend/projects/upgrade/src/app/core/segments/store/segments.reducer.spec.ts | Updated reducer tests to include allParentSegments |
| frontend/projects/upgrade/src/app/core/segments/store/segments.model.ts | Added USED_BY_TYPE.SEGMENT and allParentSegments to model |
| frontend/projects/upgrade/src/app/core/segments/store/segments.effects.ts | Populated allParentSegments in fetch effects |
| frontend/projects/upgrade/src/app/core/segments/store/segments.effects.spec.ts | Mocked allParentSegments in effects tests |
| frontend/projects/upgrade/src/app/core/segments/store/segments.actions.ts | Extended actions to carry allParentSegments payload |
| frontend/projects/upgrade/src/app/core/segments/segments.service.ts | Exposed allParentSegments$ selector |
| frontend/projects/upgrade/src/app/core/local-storage/local-storage.service.ts | Persisted allParentSegments in local snapshot |
| backend/packages/Upgrade/test/unit/services/SegmentService.test.ts | Added mocks and expectations for getAllParentSegments |
| backend/packages/Upgrade/src/api/services/SegmentService.ts | Implemented getParentSegments and integrated into getSegmentStatus |
| backend/packages/Upgrade/src/api/repositories/SegmentRepository.ts | New getAllParentSegments repository method |
Comments suppressed due to low confidence (2)
frontend/projects/upgrade/src/assets/i18n/en.json:541
- The no-data message still only mentions experiments and feature flags. It should also mention segments to match the updated subtitle.
"segments.details.used-by.card.no-data-row.text": "This segment is currently not being used by any experiments or feature flags.",
frontend/projects/upgrade/src/app/core/segments/store/segments.selectors.ts:221
- New parent-segment processing logic isn’t covered by existing selector tests. Add unit tests for
selectSegmentUsageDatato validate parent segments appear correctly.
processParentSegments(parentSegments, segment.id, usedByMap);
...omponents/common-tabbed-section-card-footer/common-tabbed-section-card-footer.component.html
Outdated
Show resolved
Hide resolved
frontend/projects/upgrade/src/app/core/segments/store/segments.selectors.ts
Outdated
Show resolved
Hide resolved
|
What if segment "A" is used by segment "B", and segment "B" is used by feature flag "C"? Should we display both segment "B" and feature flag "C" in the "Used By" table for segment "A"? Or just segment "B" in this case? I feel like it's better to display only the direct (one-level higher) parent—just segment "B" with its actual status (instead of "Active"). I believe we originally decided to display only the top-level non-segment parents (experiments or feature flags) in the "Used By" table, but it might be more helpful to show only direct parents so users know exactly where to remove the segment. Maybe we should bring this up in the meeting. |
@zackcl I'm not sure I understand the question. We are still only showing direct parents - just one level - in the 'Used By' list, as specified. Can you give a specific example of what you're describing, maybe with a screenshot? |
|
@bcb37 My apologies — I thought we were also displaying top-level parents, but it appears we are indeed showing only the direct parents, as I just tested it. One suggestion I’d like to make is to display the actual status (Used / Unused / Excluded) of each parent segment instead of just "Active." Would this be possible?
|
* Auto-remove leading/trailing spaces from all input text (#2537) * fix entity types; add enum migration (#2551) * add parent segments list to 'Used By' status of segments (#2543) * add parent segments list to 'Used By' status of segments * remove unused data binding * update no-data message * Add and display 'status' field of parent segments * don't await response from csv export endpoint (#2552) * add mooclet env vars to app-infrastructure.yml (#2555) * add mooclet env vars to app-infrastructure.yml * correct ssm value typos * toggle mooclet on in frontend * toggle mooclet on in frontend (#2564) * toggle staging also (#2566) * Feature/ff ephemeral user options (#2556) (#2573) * ephemeral ff user groups and remove exposure id FK constraint * ephemeral ff user groups and remove exposure id FK constraint * remove comment from ff-exposure model * use same language in usercheck middleware docs as swagger * restore condition payload formatting on pagination response (#2574) * split ScheduledJobService in two to avoid circular dependency (#2575) * split ScheduledJobService in two to avoid circular dependency * Update backend/packages/Upgrade/test/unit/services/ScheduledJobService.test.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/packages/Upgrade/test/unit/services/MoocletExperimentService.test.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix test suite description for Experiment Scheduler Service --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add example in add-metrics editor and a link to gitbook (#2581) * add example in add-metrics editor and a link to gitbook * remove typo * filter out _REWARD metrics that do not belong to experiment (#2580) * filter out _REWARD metrics that do not belong to experiment * correct for add experiment flow * clarify logic * remove console log * throw errors from axios mooclet requests; but not from deleting mooclet resources (#2582) * Bump on-headers, compression, morgan and express-session (#2585) --- updated-dependencies: - dependency-name: on-headers dependency-version: 1.1.0 dependency-type: indirect - dependency-name: compression dependency-version: 1.8.1 dependency-type: direct:production - dependency-name: morgan dependency-version: 1.10.1 dependency-type: direct:production - dependency-name: express-session dependency-version: 1.18.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update Reward Metric Display (#2583) * Update Reward Metric Display * Make the key and value more distinct * Refine Metrics table for displaying group metrics and categorical type * Remove bullet from Key and Values * Bump form-data from 4.0.0 to 4.0.4 in /k6 Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.0...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Bump form-data from 4.0.1 to 4.0.4 in /backend/packages/Scheduler Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.1...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Bump on-headers and compression in /frontend (#2591) Bumps [on-headers](https://github.com/jshttp/on-headers) and [compression](https://github.com/expressjs/compression). These dependencies needed to be updated together. Updates `on-headers` from 1.0.2 to 1.1.0 - [Release notes](https://github.com/jshttp/on-headers/releases) - [Changelog](https://github.com/jshttp/on-headers/blob/master/HISTORY.md) - [Commits](jshttp/on-headers@v1.0.2...v1.1.0) Updates `compression` from 1.8.0 to 1.8.1 - [Release notes](https://github.com/expressjs/compression/releases) - [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md) - [Commits](expressjs/compression@1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: on-headers dependency-version: 1.1.0 dependency-type: indirect - dependency-name: compression dependency-version: 1.8.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * clone lists on duplicate (#2588) * Use new 'repeated_enrollment' table for within-subject experiments (#2559) * Use new 'repeated_enrollment' table for within-subject experiments * Update backend/packages/Upgrade/test/integration/ExperimentStats/WithinSubjectEnrollment.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * use relative paths * fix postgres text case return values --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Bump form-data from 4.0.0 to 4.0.4 in /clientlibs/js Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.0...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Bump form-data in /backend/packages/Upgrade (#2604) Bumps and [form-data](https://github.com/form-data/form-data). These dependencies needed to be updated together. Updates `form-data` from 4.0.1 to 4.0.4 - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.1...v4.0.4) Updates `form-data` from 2.5.2 to 4.0.4 - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.1...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Resolve segment options not showing in experiment participants include table (#2609) * fix: resolve segment options not showing in experiment participants include table * Remove redundant bindParticipantsData call from ngOnInit * perform all metrics queries in a single transaction (#2610) * perform all metrics queries in a single transaction * Update backend/packages/Upgrade/test/unit/services/QueryService.test.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Bump form-data from 4.0.1 to 4.0.4 in /frontend Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.1...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Bump sha.js from 2.4.11 to 2.4.12 in /backend/packages/Upgrade Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12. - [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md) - [Commits](browserify/sha.js@v2.4.11...v2.4.12) --- updated-dependencies: - dependency-name: sha.js dependency-version: 2.4.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Bump multer and routing-controllers in /backend/packages/Upgrade (#2620) Bumps [multer](https://github.com/expressjs/multer) to 2.0.2 and updates ancestor dependency [routing-controllers](https://github.com/typestack/routing-controllers). These dependencies need to be updated together. Updates `multer` from 1.4.5-lts.1 to 2.0.2 - [Release notes](https://github.com/expressjs/multer/releases) - [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md) - [Commits](expressjs/multer@v1.4.5-lts.1...v2.0.2) Updates `routing-controllers` from 0.11.2 to 0.11.3 - [Release notes](https://github.com/typestack/routing-controllers/releases) - [Changelog](https://github.com/typestack/routing-controllers/blob/develop/CHANGELOG.md) - [Commits](typestack/routing-controllers@v0.11.2...v0.11.3) --- updated-dependencies: - dependency-name: multer dependency-version: 2.0.2 dependency-type: indirect - dependency-name: routing-controllers dependency-version: 0.11.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump tmp and @inquirer/editor in /frontend (#2619) Removes [tmp](https://github.com/raszi/node-tmp). It's no longer used after updating ancestor dependency [@inquirer/editor](https://github.com/SBoudrias/Inquirer.js). These dependencies need to be updated together. Removes `tmp` Updates `@inquirer/editor` from 4.2.6 to 4.2.17 - [Release notes](https://github.com/SBoudrias/Inquirer.js/releases) - [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/editor@4.2.6...@inquirer/editor@4.2.17) --- updated-dependencies: - dependency-name: tmp dependency-version: dependency-type: indirect - dependency-name: "@inquirer/editor" dependency-version: 4.2.17 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * clientlibs: check for cached data in assign and ff calls (#2615) * clientlibs: check for cached data in assign and ff calls * Update clientlibs/js/src/UpGradeClient/UpgradeClient.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update clientlibs/js/src/UpGradeClient/UpgradeClient.spec.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * clientlib versions to 6.1.2; update java README (#2634) * add back files needed for client publish github action (#2637) * Merge release 6.1 into dev (#2636) * update env toggle for staging and prod (#2454) * increase max subsegment depth to 8 (#2462) * remove joins from findOneSegmentByContextAndType (#2467) * skip duplicate check for private segments on upsert (#2472) * put changelog.md for release notes in repo (#2463) * remove sorting by status from global exclude list (#2476) * Exclude user with no working group data if there are global group excludes (#2502) * Auto-remove leading/trailing spaces from user-entered payloads (#2534) * Feature/ff ephemeral user options (#2556) * ephemeral ff user groups and remove exposure id FK constraint * ephemeral ff user groups and remove exposure id FK constraint * remove comment from ff-exposure model * use same language in usercheck middleware docs as swagger * mooclet configs on for staging (#2565) * recommit --------- Co-authored-by: Ben Blanchard <bblanchard@carnegielearning.com> Co-authored-by: Zack Lee <90279765+zackcl@users.noreply.github.com> * generate new readme (#2641) * Move tests to jenkins ci (#2639) * move tests from pre-commit to jenkinsfile * lint all the things * Clear group type when unit of assignment is not Group (#2645) * Bump axios from 1.8.2 to 1.12.0 in /clientlibs/js (#2652) Bumps [axios](https://github.com/axios/axios) from 1.8.2 to 1.12.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.8.2...v1.12.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.12.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump axios from 1.8.2 to 1.12.2 in /backend/packages/Upgrade (#2653) Bumps [axios](https://github.com/axios/axios) from 1.8.2 to 1.12.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.8.2...v1.12.2) --- updated-dependencies: - dependency-name: axios dependency-version: 1.12.2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * move jaxb.ws.rs to Jakarta and bump Jersey to 3 (#2654) * Update clientlibs/java jaxb.ws.rs to Jakarta and bump Jersey to 3 --------- Co-authored-by: doswalt <doswalt@carnegielearning.com> Co-authored-by: danoswaltCL <97542869+danoswaltCL@users.noreply.github.com> Co-authored-by: Matt McHenry <mmchenry@carnegielearning.com> * validate group and group assignment unit agreement in experiment import, add, and update (#2649) * fix data exports for within-subject experiments (#2605) * fix data exports for within-subject experiments * remove unused method; simplify variable * remove enrollmentComplete experiments from pools unless already enrolled (#2670) * remove enrollmentComplete experiments from pools unless already enrolled * Update backend/packages/Upgrade/test/unit/services/ExperimentAssignmentService.test.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * no multiple assignment per decision point --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Add Docker build support for the demo app (#2658) * Update demo-app.js script and add Docker build support * Fix the frontend settings to work on /upgrade path for the demo app * Revert changes made to demo-app.js * Force user role to Creator when APP_DEMO is true (#2675) * force user role to Admin when APP_DEMO is true * force user role to Creator when APP_DEMO is true * Preverve the admin role on demo mode * Revert "Preverve the admin role on demo mode" This reverts commit b21fed9. * Add batch assign endpoint and functionality (#2613) * Add batch assign endpoint and functionality * remove console log and fix reference issue * remove filtering within-subject experiments * fix conditionals * remove 404 * remove extra vars from tests; add return type to method * refactor methods for readability * DRY assign methods * return 'NOT_FOUND' for users that are...not found * Fix/nav on detail url id segment change (#2677) * hash navigation helper * manually tell router to navigate when hashchangeevent fires * add new parameters to processExperimentPools() in getBatchExperimentConditions() (#2684) * Bump tar-fs from 2.1.3 to 2.1.4 in /backend/packages/Upgrade (#2683) Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4. - [Commits](mafintosh/tar-fs@v2.1.3...v2.1.4) --- updated-dependencies: - dependency-name: tar-fs dependency-version: 2.1.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * nav to detail on create, pip exp count if 0 on getExperimentId success, rename confusing observable (#2676) * add 6.2 release notes (#2685) * Feature/ts client lib 6 2 (#2686) * add 6.2 release notes * get ts client lib version aligned w release version * update packages to 6.3 (#2687) * use custom data source for transaction (#2688) * use custom data source for transaction * fix test * use custom data source for transaction (#2688) (#2689) * use custom data source for transaction * fix test * remove transaction from metrics log queries (#2690) * use transaction entity manager in metrics log queries * remove transaction * Update backend/packages/Upgrade/src/api/repositories/LogRepository.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * do not wait for export to finish (#2691) * toggle within-subjects true for staging tests, mooclet true in prod file (#2692) * optimize export log query and service method (#2694) * optimize export log query and service method * Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * use "upgrade-ci" task definition and run integration tests * change to trigger tests * set test host to 'localhost' * Update backend/packages/Upgrade/src/api/services/ExperimentAssignmentService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Bump validator from 13.12.0 to 13.15.20 in /types (#2706) Bumps [validator](https://github.com/validatorjs/validator.js) from 13.12.0 to 13.15.20. - [Release notes](https://github.com/validatorjs/validator.js/releases) - [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md) - [Commits](validatorjs/validator.js@13.12.0...13.15.20) --- updated-dependencies: - dependency-name: validator dependency-version: 13.15.20 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump koa from 3.0.1 to 3.0.3 in /backend/packages/Upgrade (#2700) Bumps [koa](https://github.com/koajs/koa) from 3.0.1 to 3.0.3. - [Release notes](https://github.com/koajs/koa/releases) - [Changelog](https://github.com/koajs/koa/blob/master/History.md) - [Commits](koajs/koa@v3.0.1...v3.0.3) --- updated-dependencies: - dependency-name: koa dependency-version: 3.0.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump validator from 13.12.0 to 13.15.20 in /frontend (#2711) Bumps [validator](https://github.com/validatorjs/validator.js) from 13.12.0 to 13.15.20. - [Release notes](https://github.com/validatorjs/validator.js/releases) - [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md) - [Commits](validatorjs/validator.js@13.12.0...13.15.20) --- updated-dependencies: - dependency-name: validator dependency-version: 13.15.20 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump typeorm from 0.3.20 to 0.3.26 in /backend/packages/Upgrade (#2709) Bumps [typeorm](https://github.com/typeorm/typeorm) from 0.3.20 to 0.3.26. - [Release notes](https://github.com/typeorm/typeorm/releases) - [Changelog](https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md) - [Commits](typeorm/typeorm@0.3.20...0.3.26) --- updated-dependencies: - dependency-name: typeorm dependency-version: 0.3.26 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Display the menu button on the details page to non-Reader roles (#2713) * Feature/2524 experiment redesign backend 1 (#2538) * Revert adding 'filtered total' for experiments * add experiment list endpoints * copilot review changes * add swagger annotations and endpoint tests * Implement experiments root page component and navigation (#2546) * Implement experiment root section card component (#2549) * Implement experiment root section card table component (#2553) * Implement experiment root section card component * Implement experiment root section card table component * Fix searching on status * Implement upsert experiment modal component (#2558) * Implement upsert experiment modal component * Resolve all comments * Remove mistake part * show experiment list actions in audit logs (#2570) * show experiment list actions in audit logs * Update frontend/projects/upgrade/src/app/features/dashboard/logs/components/timeline/timeline.component.html Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add endpoints for importing and exporting experiment exclusion and in… (#2587) * add endpoints for importing and exporting experiment exclusion and inclusion lists * Update backend/packages/Upgrade/src/api/services/ExperimentService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/packages/Upgrade/src/api/controllers/ExperimentController.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/packages/Upgrade/src/api/controllers/ExperimentController.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * more specific typing --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Implement experiment details page (#2563) * Implement experiment details page * Remove mistake part * Make experiment details page navigation work * Update ExperimentOverviewDetailsSectionCardComponent and ExperimentDetailsPageContentComponent * Refine selectExperimentOverviewDetails and update CommonTabbedSectionCardFooterComponent * Refine experiment details section card components * Refine en.json file * Update UpsertExperimentModalComponent to send requests with valid experiment data * Disable Factorial Experiment Type for v2 * Refactor nested ternaries * Add strongly-typed DTO interfaces for experiment requests * Update timeLog type in ExperimentStateTimeLogDTO * Update ExperimentConditionPayloadDTO to match backend * Remove redundant comments * Implement decision points table components (#2599) * Implement decision points table components * Remove unused ngOnInit * Implement conditions table components (#2600) * Implement decision points table components * Remove unused ngOnInit * Implement conditions table component * Refine the ExperimentConditionsTableComponent * Remove redundant check * convert to new list format for all endpoints (#2614) * Implement experiment include list table component (#2601) * Implement experiment include list table component * Refine the inclusions table component * Implement Include All toggle feature * Fix the empty Type cell after disabling Include All toggle * remove redundant API call in updateFilterMode method * Remove listType preservation * Simplify the updateFilterMode function * Implement experiment exclude list table component (#2612) * Implement experiment include list table component * Refine the inclusions table component * Implement Include All toggle feature * Fix the empty Type cell after disabling Include All toggle * remove redundant API call in updateFilterMode method * Implement experiment exclude list table component * Disable the slide toggle and action buttons on inclusion table when update permission is now allowed * Implement experiment metrics table component (#2622) * Implement experiment metrics table component * Fix the statistic order for categorical metrics * Update table row styles * add experiment list modals and functionality (#2638) * add experiment list modals and functionality * Update frontend/projects/upgrade/src/app/core/experiments/store/experiments.reducer.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update frontend/projects/upgrade/src/app/core/experiments/store/experiments.reducer.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add missing text values --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add edit-condition-weights modal (#2646) * add edit-condition-weights modal * Update frontend/projects/upgrade/src/app/features/dashboard/experiments/modals/edit-condition-weights-modal/edit-condition-weights-modal.component.spec.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove inaccurate comment * tighten css * changes to get closer to the spec * remove unneeded things --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Implement Upsert Decision Point Modal for Experiments (#2633) * Add upsert decision point modal component * Implement sendUpsertDecisionPointRequest for Add/Edit Decision Point modal * Create decision-point-helper.service.ts and implement the Delete Decision Point modal * Remove unneeded experimentContext input * Remove redundant fallback * refactor: add context validation and improve ternary readability * Fix duplicated import * condition edit/add/delete modal * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove redundant duplicate check * remove payload from conditions table (#2704) * remove payload from conditions table * fix columns * fix preexisting typecheck and missed unit tests --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Zack Lee <90279765+zackcl@users.noreply.github.com> Co-authored-by: Ben Blanchard <bblanchard@carnegielearning.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ddenniston <106688763+ddenniston@users.noreply.github.com> Co-authored-by: Matt McHenry <mmchenry@carnegielearning.com> Co-authored-by: Zack Lee <zlee@carnegielearning.com>
