sjg and Claude Opus 5
23dbcac5b6
[fix](trx-frontend-http): restore bookmark host contract
...
CI / lint (pull_request) Failing after 1s
CI / test (pull_request) Failing after 1s
CI / frontend (pull_request) Failing after 42s
CI / reuse (pull_request) Failing after 0s
The TypeScript migration turned app.js from a classic script into an ES
module, so its top-level declarations stopped being shared globals.
bookmarks.ts was converted verbatim and kept reading them as window
properties, which app.ts no longer publishes.
Every bookmark interaction read undefined: the Add Bookmark and Select
All buttons stayed hidden because the auth check saw no authEnabled or
authRole, per-rig scopes were missing from the scope picker and the move
target, decoder checkboxes were never built, and Tune threw on
bridge.postPath before issuing a single request.
Extend the typed window.trx host contract instead of restoring globals,
as docs/frontend-architecture.md closes the standalone window property
list. trx.state publishes authEnabled; trx.core publishes
setRigFrequency, applyLocalTunedFrequency, armOptimisticFrequency,
syncBandwidthInput, scheduleSpectrumDraw, and onDecoderRegistryReady.
Replace the vchan setRigFrequency wrapper with an interceptFrequency
service method, matching interceptMode and interceptBandwidth. The
wrapper captured an undefined original and silently dropped every tune;
routing interception through setRigFrequency also restores virtual
channel redirection for the application's own tuning.
Read registry-built elements through bmOptionalEl, since bmEl throws and
the decoder checkboxes and decode toggle buttons are legitimately absent
until the registry arrives.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-08-02 10:15:56 +02:00
sjg
695434942f
chore: complete TypeScript migration cleanup
CI / lint (pull_request) Failing after 2s
CI / test (pull_request) Failing after 2s
CI / frontend (pull_request) Failing after 42s
CI / reuse (pull_request) Failing after 2s
CI / lint (push) Failing after 2s
CI / test (push) Failing after 1s
CI / frontend (push) Failing after 44s
CI / reuse (push) Failing after 2s
2026-08-01 22:39:37 +02:00
sjg
a1a8d1d1d3
test: cover lazy map and rig startup flows
2026-08-01 22:34:22 +02:00
sjg
ddb33b6ff3
feat: generate frontend status metadata contract
2026-08-01 22:27:35 +02:00
sjg
f87289b129
fix: validate typed frontend startup in Chromium
2026-08-01 22:25:10 +02:00
sjg
812359c744
refactor: enforce typed frontend runtime boundaries
2026-08-01 22:19:50 +02:00
sjg
d929ad3bde
build: consolidate typed frontend module graph
2026-08-01 21:54:00 +02:00
sjg
8aeca613aa
test: add frontend browser startup smoke coverage
2026-08-01 20:19:27 +02:00
sjg
ee59d8efdd
build: remove JavaScript compatibility mode
2026-08-01 19:28:45 +02:00
sjg
ddd151c1ee
refactor: convert main frontend application to TypeScript
2026-08-01 19:18:48 +02:00
sjg
5136704826
refactor: extract typed spectrum math
2026-08-01 18:19:02 +02:00
sjg
e300cc343d
refactor: extract typed auto bandwidth estimator
2026-08-01 17:59:04 +02:00
sjg
1fb196a64e
refactor: extract typed navigation routes
2026-08-01 17:18:41 +02:00
sjg
c8cc235e88
refactor: extract strict CBOR decoder
2026-08-01 17:04:13 +02:00
sjg
ab3fe4bbb7
refactor: extract typed frontend formatters
2026-08-01 16:42:54 +02:00
sjg
40accb9697
refactor: extract typed authentication API
2026-08-01 16:39:52 +02:00
sjg
cbca810a30
refactor: extract typed decoder registry
2026-08-01 16:28:39 +02:00
sjg
26a167cb82
refactor: replace feature globals with typed services
2026-08-01 16:05:40 +02:00
sjg
3d49839ed5
build: type-check worker with isolated globals
2026-08-01 15:21:16 +02:00
sjg
26be675242
build: enable frontend module code splitting
2026-08-01 14:40:59 +02:00
sjg
1a42d58075
refactor: embed generated frontend asset directory
2026-08-01 14:39:34 +02:00
sjg
844de809a4
fix: preserve bandplan override lookup
2026-08-01 14:23:29 +02:00
sjg
e910e644d5
refactor: extract typed frontend core utilities
2026-08-01 13:48:51 +02:00
sjg
50e07e2715
refactor: add typed frontend bootstrap
2026-08-01 13:43:46 +02:00
sjg
82121491c5
refactor: convert map feature to strict TypeScript
2026-08-01 13:39:41 +02:00
sjg
0338c8b8d2
refactor: convert scheduler to typed module
2026-08-01 13:23:30 +02:00
sjg
c7994347e9
refactor: convert bookmarks to typed module
2026-08-01 13:13:52 +02:00
sjg
9fef0ebc7b
refactor: route all decoders through plugin runtime
2026-08-01 13:06:38 +02:00
sjg
508cf2ba87
refactor: add typed decoder plugin runtime
2026-08-01 13:02:54 +02:00
sjg
6a83e2e90a
refactor: convert virtual channels to TypeScript
2026-08-01 12:57:09 +02:00
sjg
fc2f55bab9
refactor: convert satellite scheduler to TypeScript
2026-08-01 12:54:03 +02:00
sjg
4fb65971e4
refactor: convert satellite view to TypeScript
2026-08-01 12:51:22 +02:00
sjg
021d31d780
refactor: share typed APRS plugin contracts
2026-08-01 12:48:33 +02:00
sjg
074c67c7b9
refactor: convert APRS plugin to TypeScript
2026-08-01 12:43:40 +02:00
sjg
d93f784aad
refactor: convert AIS plugin to TypeScript
2026-08-01 12:39:20 +02:00
sjg
ec59908e0d
refactor: convert background decode controls to TypeScript
2026-08-01 12:36:27 +02:00
sjg
7251ec276d
refactor: convert WEFAX plugin to TypeScript
2026-08-01 12:33:38 +02:00
sjg
0ab0f80986
refactor: convert VDES plugin to TypeScript
2026-08-01 12:30:17 +02:00
sjg
2cbcc23fec
refactor: move plugin loading into typed registry
2026-08-01 12:26:29 +02:00
sjg
968fb3ea2d
refactor: type the local Leaflet AIS adapter
2026-08-01 12:23:37 +02:00
sjg
5ba3ecf59b
refactor: make FT8 family a typed module
2026-08-01 12:21:13 +02:00
sjg
03bdc10b02
refactor: convert CW plugin to TypeScript
2026-08-01 12:18:51 +02:00
sjg
d96624be4f
refactor: convert WSPR plugin to TypeScript
2026-08-01 12:15:19 +02:00
sjg
a5dccd5489
refactor: consolidate FT2 and FT4 plugins in TypeScript
2026-08-01 12:12:27 +02:00
sjg
42e5dc8604
docs: record frontend migration baseline
2026-08-01 12:09:38 +02:00
sjg
e6f593b959
refactor: convert screenshot support to TypeScript
2026-08-01 12:08:44 +02:00
sjg
9ac6d7f82c
refactor: convert WebGL renderer to TypeScript
2026-08-01 12:07:02 +02:00
sjg
a58553ba66
refactor: convert decode history worker to TypeScript
2026-08-01 12:03:19 +02:00
sjg
7442437757
refactor: convert shared UI core to TypeScript
2026-08-01 12:01:07 +02:00
sjg
bbc53d56b0
feat: generate typed frontend API contracts
2026-08-01 11:58:09 +02:00