Skip to content

Login refactor - preview PR#2676

Open
jazzmind wants to merge 42 commits into
release/livefrom
login-refactor
Open

Login refactor - preview PR#2676
jazzmind wants to merge 42 commits into
release/livefrom
login-refactor

Conversation

@jazzmind

Copy link
Copy Markdown
Collaborator

This PR is for visibility, do not merge

jazzmind and others added 30 commits December 2, 2025 10:27
- Bump Docker Compose version to 3.8
- Rename container to app-v2
- Add environment variables for development
- Update volume configuration for caching
- Change network to practera-dev
- Introduced AuthJwtLoginComponent for handling JWT-based logins.
- Updated app.component.ts to navigate to JWT login when a token is present.
- Added routing for JWT login in auth-routing.module.ts.
- Marked AuthDirectLoginComponent as deprecated, indicating transition to JWT method.
- Bumped versions of several Angular DevKit packages to 0.1703.17 and 17.3.17.
- Updated Vite to version 5.4.21.
- Removed deprecated dependencies related to Angular DevKit build and architect.
Resolves conflicts in angular.json (kept local fileReplacements config,
removed deprecated buildOptimizer option) and regenerates package-lock.json.
- Upgrade @angular-devkit/build-angular, ng-packagr, @angular-eslint/* to Angular 21
- Upgrade ngx-quill to 30.x (Angular 21 compatible)
- Fix @angular-devkit/architect version range (^0.2102.0)
- Add npm overrides for tar (^7.5.13) to fix serverless toolchain vulnerabilities
- Add packageManager: npm@11.6.2 to prevent corepack from using yarn
- Reduce vulnerabilities from 106 → 12 (all remaining are dev tooling with no available patches)
…sher types

- Switch serverless -> npm:osls@^3.63.2 (open-source fork, pinned to v3)
- Remove quill-delta (zero usage in codebase)
- Remove karma-coverage-istanbul-reporter (deprecated, karma-coverage used instead)
- Remove @types/jasminewd2 (Protractor legacy, dead)
- Remove @types/pusher-js (bundled in pusher-js v8)
- Add @uppy/tus to dependencies (imported in uppy-uploader.service.ts but missing)
- Move moment to devDependencies (only used in test fixtures)
- Upgrade pusher-js ^4.4.0 -> ^8.5.0
- Fix pusher.service.ts types for v8: Pusher.Pusher -> Pusher, Pusher.Config -> Options
- Vulnerabilities: 12 -> 11 (remaining are all in dev tooling with no available patches)
assessment.component.html: split [ngSwitch] from *ngIf wrapper so that
tick-container and no-answer ng-container are siblings to [ngSwitch]
rather than direct non-case children of it.

pop-up.component.html: move div.div-logo outside [ngSwitch] so the
switch block contains only *ngSwitchCase children.
- Replace `exif-js` with `exifr` in package.json and package-lock.json.
- Add `typedoc` as a new dependency for documentation generation.
- Remove deprecated Protractor configuration files and related page object files.
- Clean up unused feature files related to e2e tests for login and registration.
- Remove unnecessary dependencies and configurations to streamline the project.
- Remove `uppy` dependency from package.json and package-lock.json.
- Upgrade `@types/node` to version 22.19.17.
- Update ESLint plugins to their latest versions.
- Refactor imports in `uppy-uploader.service.ts` to use `@uppy/dashboard`.
- Remove unused `lodash` import in `assessment-mobile.page.ts`.
- Clean up commented-out code related to `NewRelicService` in `auth-logout.component.spec.ts`.
- Remove `newrelic` configuration from environment files.
- Update Uppy and Plyr CSS imports to use the correct paths.
- Remove unused imports of `provideZoneChangeDetection` from main.ts.
- Clean up import statements across various components by removing unnecessary `DOCUMENT` imports.
- Add `CUSTOM_ELEMENTS_SCHEMA` to components module to support Uppy custom elements until Angular 21 compatibility is achieved.
- Introduced new environment variables for Pusher: CUSTOM_PUSHER_HOST, CUSTOM_PUSHER_PORT, and CUSTOM_PUSHER_USE_TLS.
- Updated the Pusher service to handle custom host and port configurations, allowing for self-hosted Pusher-compatible brokers.
- Enhanced the environment interface and custom environment files to include the new Pusher settings.
- Deleted the UppyAngularModule as it was a compatibility shim for @uppy/angular v1.1.0, which is no longer needed.
- Added new Pusher configuration options: pusherHost, pusherPort, and pusherUseTLS to the environment.local.ts file for enhanced flexibility in Pusher setup.
- Added allowedHosts and prebundle configuration to angular.json for improved proxy handling and compatibility with Ionic 8.
- Updated environment.local.ts to reflect new API endpoints and global login URL for local development.
- Removed obsolete vite.config.ts as it is no longer needed with the current setup.
…lation

- Changed base image from node:18.19.0-alpine3.19 to node:22-alpine for improved performance and features.
- Removed global installation of Angular CLI and added .npmrc to the copied files for better configuration management.
- Changed pusherKey to a local placeholder for development.
- Updated pusherHost and pusherPort to point to the Soketi service via the nginx reverse proxy for local testing.
- Ensured pusherUseTLS remains enabled for secure connections.
jazzmind added 5 commits May 26, 2026 21:26
- Replaced RequestService with ApolloService in AssessmentService, EventService, NotificationsService, ReviewRatingService, and TopicService.
- Updated methods to utilize GraphQL mutations for resubmitting assessments, booking and canceling events, marking todo items as done, submitting review ratings, and updating topic progress.
- Removed obsolete API endpoint configurations and streamlined service methods for better performance and maintainability.
- Updated environment access in various services and components to use type assertions for better compatibility.
- Enhanced test cases in EventService, ReviewRatingService, and TopicService to utilize ApolloService for GraphQL mutations.
- Added new properties to AuthRegistrationComponent tests to ensure comprehensive coverage of state management.
- Improved handling of file data in SupportPopupComponent tests for better type safety.
- Changed Uppy CSS import paths to the correct directory structure.
- Set `standalone` property to false for `app.component.ts` and `auth-jwt-login.component.ts`.
- Simplified the `onInput` method in `autoresize.directive.ts` by removing the parameter.
- Updated `@HostListener` decorator in `v3.page.ts` to remove the parameter.
- Modified `tusUrl` in `environment.local.ts` for correct upload endpoint.
- Removed the parameter from the @HostListener decorator in app.component.ts for the beforeunload event, streamlining the method signature.
- Bumped versions of @angular-devkit/build-angular, @angular-devkit/architect, @angular-devkit/build-webpack, @angular-devkit/core, and @angular/build to 21.2.15.
- Updated @babel/preset-env and @babel/runtime to 7.29.2.
- Adjusted postcss version to 8.5.12 for improved compatibility.
jazzmind added 6 commits June 24, 2026 22:35
- Updated BrandingLogoComponent to use a computed property for logo resolution, improving clarity and maintainability.
- Redesigned AuthJwtLoginComponent to incorporate brand continuity features, allowing immediate application of brand colors and logos during login.
- Enhanced experiences page layout with a new grid structure and improved accessibility features, including updated ARIA attributes and loading states.
- Refined styles for better visual consistency and responsiveness across various devices.
- Improved AppComponent to gracefully handle branding configuration with fallback options for theme color and logo.
- Updated BrandingLogoComponent to manage image loading errors and provide a more robust logo resolution strategy.
- Redesigned AuthJwtLoginComponent to include brand logo display during login, enhancing visual continuity.
- Enhanced experiences page layout with improved branding integration and accessibility features.
- Refined styles for better responsiveness and visual consistency across various devices.
- Added Chromium installation to the Dockerfile to support unit tests in a headless environment.
- Updated Karma configuration to use a custom ChromeHeadless launcher with no-sandbox flags, ensuring compatibility in Docker.
- Refactored AppComponent tests to streamline branding restoration logic and improve clarity.
- Simplified the autoresize directive test by removing unnecessary parameters.
- Updated angular.json to specify ChromeHeadlessNoSandbox for improved test execution in CI environments.
- Modified karma.conf.js to ensure Chromium binary detection in Docker environments, enhancing compatibility.
- Improved AppComponent tests by providing safe defaults for configuration retrieval, preventing potential errors during test execution.
- Refactored achievement-pop-up component to handle optional chaining for safer data access, enhancing stability and preventing runtime errors.
- Updated various component tests to streamline setup and improve clarity, ensuring more reliable test outcomes.
- Introduced BadgeDetailModalComponent to the components module for improved badge management.
- Updated openBadgeApp method in SettingsPage to navigate to badges-certificates on specific key events (Enter and Space).
- Added routing for badges-certificates page to facilitate badge-related navigation.
- Implemented getBadges and getCertificateUrl methods in AchievementService to fetch badge data and certificate URLs via GraphQL.
- Enhanced unit tests for SettingsPage and AchievementService to cover new badge functionalities.
- Replaced REST API calls with GraphQL queries in AchievementService, EventService, NotificationsService, PusherService, and ReviewService for improved data handling and performance.
- Enhanced methods to normalize responses from GraphQL, ensuring consistent data structures across services.
- Removed deprecated API endpoint definitions and streamlined service logic for better maintainability.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants