-
-
Notifications
You must be signed in to change notification settings - Fork 18
Angular 20 #1497
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
base: main
Are you sure you want to change the base?
Angular 20 #1497
Conversation
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 pull request upgrades the Angular frontend application from version 19 to version 20, along with related framework dependencies and configuration updates. The changes include package updates, Sentry SDK migration, Material Design CSS variable updates, and test modernization.
Changes:
- Upgraded Angular packages from ~19.x to ~20.x
- Migrated from @sentry/angular-ivy to @sentry/angular (v10.33.0)
- Updated Material Design CSS variables from --mdc-* to --mat-* prefix
- Modernized TypeScript configuration and test utilities
- Updated browser support targets
Reviewed changes
Copilot reviewed 35 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| frontend/package.json | Angular and related dependencies upgraded to v20, Sentry package updated |
| frontend/tsconfig.json | Module resolution changed to "bundler", formatting standardized |
| frontend/src/main.ts | Sentry API updated to use browserTracingIntegration() |
| frontend/src/types/globals.d.ts | New file declaring Window interface extensions |
| frontend/src/custom-theme.scss | Material CSS variables updated to --mat-* prefix |
| frontend/src/app/services/*.ts | Sentry import paths updated from angular-ivy to angular |
| frontend/src/app/models/company.ts | Import paths updated for Sentry |
| frontend/src/app/components/**/*.ts | Import paths and formatting updates |
| frontend/src/app/components/**/*.spec.ts | TestBed.get() replaced with TestBed.inject() |
| frontend/src/app/components/**/*.css | Material CSS variables updated throughout |
| frontend/src/app/app.component.ts | Sentry imports and Window interface usage updated |
| frontend/browserslist | Simplified to modern browser targeting |
| frontend/CLAUDE.md | Documentation updated to reflect Sentry package change |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
| // app initialization if user is logged in (session restoration) | ||
| else if (expirationToken) { | ||
| const expirationTime = expirationToken ? new Date(expirationToken) : null; |
Copilot
AI
Jan 13, 2026
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.
This use of variable 'expirationToken' always evaluates to true.
| const expirationTime = expirationToken ? new Date(expirationToken) : null; | |
| const expirationTime = new Date(expirationToken); |
- Add optional chaining (?.) to all err.error.message and err.error.originalMessage accesses to prevent TypeError when err.error is undefined - Fix timer tests in app.component.spec.ts by mocking setTimeout directly instead of using fakeAsync (Zone.js compatibility issue) - Refactor secrets.component.spec.ts debounce tests to not rely on RxJS timer control Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Angulartics2Module.forRoot() to ForeignKeyFilterComponent tests - Fix router mock in DbConnectionDeleteDialogComponent tests (add events Subject) - Replace vi.spyOn(dialog, 'open') with provider-level MatDialog mocks - Create mocks before TestBed.configureTestingModule for proper injection Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use overrideComponent to set component-level MatDialog providers (fixes standalone component mock injection issues) - Fix ForeignKeyFilterComponent tests: mock connectionID getter, set truthy value for test data, update "No matches" message - Fix UserSettingsComponent test: add missing company property - Fix ConnectDBComponent test: update dialog width and add provider field - Fix UserService confirm2FA test: wrap await in try/catch - Fix DbTableActionsComponent: add fetchRules mock before detectChanges - Add notifications mock methods (showAlert, showErrorSnackbar) - Fix connections.service test: use try/catch for error handling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix connect-db.component.spec.ts: wrap response in { connection: ... }
to match expected updateConnection response structure
- Fix connections.service.spec.ts: add missing mock methods
- Add checkMasterPassword to fakeMasterPassword mock
- Add dismissAlert to fakeNotifications mock
- Convert updateConnection error test from async/await to subscribe
pattern to properly handle Observable errors
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previously these test files only had a single "should create" test. Added tests for: - db-table-ai-panel: thread creation, messaging, keyboard events, error handling - widget: initialization, ngOnChanges, output emitters, docs URLs - sso: SAML config fetching, create/update operations, router navigation - filter json-editor: code model initialization, editor options, value handling - record-edit code: language from widget params, theme from UiSettingsService - record-edit json-editor: JSON stringification, null/undefined handling - record-edit markdown: markdown language setup, theme configuration Test count increased from 825 to 883 (+58 tests) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove Karma-specific flags (--browsers, --no-watch, --no-progress) that are not compatible with the Vitest test runner. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add step to install Playwright browsers before running tests. Also add setup-node with Node.js 24. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
No description provided.