Skip to content

Modernize console-webapp Angular architecture - #3264

Open
ptkach wants to merge 1 commit into
google:masterfrom
ptkach:consoleAngularUpdate
Open

ptkach wants to merge 1 commit into
google:masterfrom
ptkach:consoleAngularUpdate

Conversation

@ptkach

@ptkach ptkach commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator
  • Migrate to standalone components, bootstrapApplication, and lazy-loaded routes
  • Switch to zoneless change detection with OnPush and direct signals
  • Replace Karma/Jasmine with Vitest and expand unit test coverage. Test execution went down to 8-9s from 60s+
  • Remove legacy Material 2 typography config in favor of Material 3

This change is Reviewable

@ptkach
ptkach force-pushed the consoleAngularUpdate branch 2 times, most recently from f36a072 to 8b78b25 Compare November 5, 2026 18:18
@ptkach
ptkach requested a review from gbrodman November 5, 2026 20:39
@ptkach ptkach added the kokoro:force-run Force a Kokoro build. label Nov 5, 2026
@domain-registry-eng domain-registry-eng removed the kokoro:force-run Force a Kokoro build. label Nov 5, 2026
- Migrate to standalone components, bootstrapApplication, and lazy-loaded routes
- Switch to zoneless change detection with OnPush and direct signals
- Replace Karma/Jasmine with Vitest and expand unit test coverage
- Remove legacy Material 2 typography config in favor of Material 3
@ptkach
ptkach force-pushed the consoleAngularUpdate branch from 8b78b25 to 49f122d Compare November 6, 2026 16:13

@gbrodman gbrodman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gbrodman reviewed all commit messages and made 7 comments.
Reviewable status: 0 of 110 files reviewed, 7 unresolved discussions (waiting on ptkach).


console-webapp/package.json line 27 at r3 (raw file):

    "@angular/material": "^22.0.4",
    "@angular/platform-browser": "^22.0.6",
    "@angular/platform-browser-dynamic": "^22.0.6",

ai says we can remove this now, worth checking


console-webapp/src/styles.scss line 47 at r3 (raw file):

  }
  h2 {
    font: 500 1rem / 0.125rem "Google Sans";

i think we probably don't want 0.125 rem here for subsequent lines, right?


console-webapp/src/app/domains/domainList.component.html line 10 at r3 (raw file):

    >
      <ng-container
        v-if="domainListService.activeActionComponent()"

do we need the "v-if"?


console-webapp/src/app/history/history.component.ts line 95 at r3 (raw file):

      .subscribe({
        error: (err: HttpErrorResponse) => {
          this._snackBar.open(err.error || err.message);

i think we also want to stop the global loader?


console-webapp/src/app/registrar/registrarSelector.component.ts line 58 at r3 (raw file):

  onFocus() {
    // We reset the list of options after selection, so that user doesn't have to clear it out
    this.filteredOptions.set(this.allRegistrarIds());

instead of doing this, can we make "filteredOptions" a linked signal of this.allRegistrarIds() ?


console-webapp/src/app/settings/contact/contact.component.ts line 94 at r3 (raw file):

            .subscribe({
              complete: () => this.globalLoader.stopGlobalLoader(this),
              error: () => this.globalLoader.stopGlobalLoader(this),

i think we should show an error here too?


console-webapp/src/app/app.routes.ts line 53 at r3 (raw file):

  {
    path: PATHS.NewOteComponent,
    loadComponent: () =>

seems like we're still eagerly loading most components, the ones that don't use loadComponent right? this contradicts the commit message

This branch has not been deployed

No deployments
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.

4 participants