Performance optimizations, a11y gaps, NETOWRK_PLUGIN typo, and architecture improvements#3406
Closed
Performance optimizations, a11y gaps, NETOWRK_PLUGIN typo, and architecture improvements#3406
Conversation
- Zone.js: Add UNPATCHED_EVENTS for high-frequency events - Fix NETOWRK_PLUGIN typo → NETWORK_PLUGIN across 3 files - Replace PreloadAllModules with SelectivePreloadingStrategy - Use Platform.is() instead of Capacitor.getPlatform() in 2 files - Remove CUSTOM_ELEMENTS_SCHEMA from SharedModule - Add hasNewInbox$ with shareReplay to DiaBackendTransactionRepository - Add ARIA attributes to custom-camera UI for accessibility - Move constructor subscriptions to ngOnInit in home.page.ts and capture-tab - Add untilDestroyed(this) to unguarded subscriptions in settings.page.ts" Agent-Logs-Url: https://github.com/numbersprotocol/capture-cam/sessions/e9446569-e2d6-4116-bd15-e54de2ea9038
Copilot
AI
changed the title
[WIP] Fix performance optimizations and naming typo
Performance optimizations, a11y gaps, NETOWRK_PLUGIN typo, and architecture improvements
Apr 10, 2026
Collaborator
|
Closing this stale Copilot draft PR. It is outdated against main, not merge-ready, and bundles broad automated changes without current full CI coverage. We should re-open focused PRs only for findings that are still valid after current main/Angular 21. |
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.
Nine medium-priority findings addressed: Zone.js over-patching, a misspelled injection token, eager preloading of all routes, inconsistent platform detection, overly broad
CUSTOM_ELEMENTS_SCHEMA, duplicate API-triggering observables, missing ARIA on camera UI, constructor-based subscriptions, and unguarded subscriptions in settings.Changes
Performance
__zone_symbol__UNPATCHED_EVENTStozone-flags.ts— scroll, mousemove, touchmove, pointermove, mouseenter, mouseleave, resize no longer trigger change detectionPreloadAllModuleswithSelectivePreloadingStrategy; only routes markeddata: { preload: true }(login, home) are eagerly fetchedhasNewInbox$toDiaBackendTransactionRepositorywithshareReplay({ bufferSize: 1, refCount: true }); bothHomePageandCaptureTabComponentsubscribe to the shared stream instead of each independently drivinginbox$Bug / Naming
NETOWRK_PLUGIN→NETWORK_PLUGINacrosscapacitor-plugins.module.ts,capacitor-plugins-testing.module.ts,network.service.tsArchitecture
Capacitor.getPlatform() == 'android'/!== 'android'withPlatform.is('android')from@ionic/angularinmedia.component.tsanddia-backend-notification.service.tsCUSTOM_ELEMENTS_SCHEMA: Remove fromSharedModule— it was silencing ALL unknown-element errors app-wide; leaf modules that actually use Swiper web components (details,go-pro,tutorial) already carry the schemaHomePageandCaptureTabComponentconstructors intongOnInit()to avoid premature side-effects and improve testabilityuntilDestroyed(this)toemailVerification()andcopyPrivateKeyToClipboard()inSettingsPage— both were escaping@UntilDestroy({ checkProperties: true })because they are not assigned to class propertiesAccessibility
role="button",tabindex="0",aria-label,aria-pressed, and keyboard handlers (keydown.enter,keydown.spacewith$event.preventDefault()) to all interactive<div>and<mat-icon>elements incustom-camera.page.htmlWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
accounts.google.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)android.clients.google.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)clients2.google.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)clientservices.googleapis.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)download.cypress.io/home/REDACTED/work/_temp/ghcca-node/node/bin/node node index.js --exec install conf�� ut-json dist/docs.json --local ode committer.email(dns block)redirector.gvt1.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)safebrowsingohttpgateway.googleapis.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)www.google.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5184 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-30345659 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,1470320601599956341,1153340520904374809,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,12240734580782173993,8614725389549690955,4 --trace-process-track-uuid=3190708989122997041 node(dns block)/opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-30345659 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --js-flags=--max-old-space-size=4096 http://localhost:9876/?id=30345659 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 dist/docs.json rimraf(dns block)/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5542 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-6899936 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,5921120005344028989,14542355678715405330,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,17271757156247967586,10134142084102220328,4 --trace-process-track-uuid=3190708989122997041 sh(dns block)If you need me to access, download, or install something from one of these locations, you can either: