3.7 KiB
A3 Jobs performance integration
Base 6bfdbd9db72e06f18f8aa9aaf57b025bff55ce5b on codex/a3-ui-10. Commit b8292f6f7299daa704bbe41efa8081660c2b6e27 integrates the relevant deltas from isolated af33e455 and 97d06180. The salary call and read configuration were reapplied at their current A3 locations because the older JobTable context had changed. The current selection, filters, board and Trash implementations stay in place.
The mobile salary display uses the selected EN/NB number format and established period labels. Original text and unknown imported periods remain displayable. Jobs and Trash update existing error copy with the language without fetching the same page again. Retry continues to fetch the current query.
The deferred JobTable trial passed 96 selected tests across nine suites, full lint and the static export build with TypeScript. The first run had one obsolete Landing test selector for “Norsk”. The existing accessible name is “Norsk bokmål”. Only the test selector was updated. The first failure and green receipts are retained.
The comparison uses Chromium 151, cold isolated contexts, local static exports, blocked external requests, and a synthetic 15-application response. The separate desktop and emulated mobile profiles use fixed network and CPU settings. Public routes must request zero private application rows. Each cold Jobs load must request exactly one page. Gzip sizes are estimates at level 6, and route marker timings include browser polling. These are not production timings or field Web Vitals.
Deferred JobTable trial held from A3
The temporary candidate used b8292f6f and the isolated App import change from 85ebbd9f, with trial App blob f98ce042fd36e0b5880aa6108c6d601a3976820f. The baseline export was built from 6bfdbd9d. Paired data has three cold repeats per route, build and profile. Order alternated. A local graph index refresh briefly overlapped the experiment. Desktop used 40 ms / 10 Mbps / CPU 1×. The 390 px phone profile used 150 ms / 1.6 Mbps / CPU 4×.
| Route | Raw JS before → trial | Desktop median marker | Phone median marker |
|---|---|---|---|
| Landing | 2,024,172 → 1,782,542 B | 2,445 → 1,921 ms | 12,124 → 11,445 ms |
| Login | 2,024,172 → 1,782,542 B | 2,448 → 1,924 ms | 11,997 → 10,789 ms |
| Jobs | 2,052,915 → 2,082,356 B | 2,433 → 2,440 ms | 13,314 → 13,773 ms |
The trial saves 241,630 raw JS bytes and 71,651 estimated gzip bytes on each public route. Jobs adds 29,441 raw bytes. The slow phone profile showed a 459 ms median first-row delay with all three candidate samples later than the baseline samples. Retain the eager JobTable import in A3. The isolated experiment remains available for a revised loading strategy that protects the Jobs marker.
Published source checks
The final eager source at b6ee418c7a93f1fe3dcdb687b26fd4cf8a489587 also integrates the isolated 4c12f769 Admin System metric change. It uses the current locale for database size and CV benchmark percentages, preserving status freshness and existing controls. No benchmark or diagnostic action was invoked. The final 55 tests across Admin System, JobTable and Jobs integration, full lint and static export with TypeScript passed. These tests overlap the trial run and are reported separately.
A focused browser check dispatched an English-to-Bokmål storage event after the Jobs row was visible. The extra paged GET count fell from one to zero on desktop and emulated phone, with one initial GET on each build. The row remained visible, the document language changed and no write was attempted. One fresh context per build and profile. This check qualifies the cross-tab language change without saving preferences to a live account.