Login refactor - preview PR#2676
Open
jazzmind wants to merge 42 commits into
Open
Conversation
- 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.
- 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.
- 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.
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.
This PR is for visibility, do not merge