67 Commits

Author SHA1 Message Date
cc 59f2c0484b Improve navigation and keys UI
- Add version switcher dropdown to quickly jump between OS versions
- Redesign keys page with grouped, collapsible sections
- Dim common prefix and highlight unique suffix for better scanning
- Add tab navigation between Entitlement Keys and Browse Files
- Show key counts per group and total
2026-04-14 17:31:03 +02:00
cc c13f83e3f7 Replace @pierre/diffs with custom diff viewer to fix freeze
The @pierre/diffs library was causing the browser to freeze when
comparing certain versions. Implemented a simple line-based diff
that only shows added/removed lines.
2026-04-14 17:17:02 +02:00
cc 47835803e6 Add error handling for comparison when binary doesn't exist
Prevents page freeze when comparing with a version that doesn't have the binary
2026-04-14 17:12:03 +02:00
cc 03286dca14 Parse plist to JSON for accurate structural diff
- Convert XML plist to JSON for proper key sorting and comparison
- Generate normalized XML from sorted JSON for diffing
- Hide unchanged lines in diff view (collapsedContextThreshold: 0)
- Simplify diffPlistKeys to use JSON comparison
2026-04-14 17:09:18 +02:00
cc 3f035977cd Use @pierre/diffs library for side-by-side diff view
- Replace custom diff implementation with @pierre/diffs FileDiff component
- Add proper indentation to normalized plist output for accurate diffing
- Keep key-level diff summary for quick overview
2026-04-14 17:05:43 +02:00
cc c16a8e9f4d Remove WASM SQLite engine and skip database download
KV backend is now the only data source - no need for SQLite.
2026-04-14 16:58:11 +02:00
cc 2c7069e6ba Add version history and side-by-side diff for binary entitlements
- Show all OS versions where the same binary path exists
- Add side-by-side diff view comparing entitlements between versions
- Normalize plist by sorting root-level keys before comparison
- Add plist utilities for parsing and key extraction
2026-04-14 16:56:57 +02:00
cc 7d35a88b39 Fix KV engine to handle version_build URL format and array index data
The keys/paths pages failed to load because:
1. findOS expected just build ID but URL contains version_build format
2. openKV expected object format but index files use array format
2026-04-14 16:47:03 +02:00
codecolorist 59f2ebb268 disable WASM SQLite engine, use KV backend only 2026-04-14 14:34:58 +00:00
codecolorist 19378d32f3 use Accept-Ranges for WASM SQLite DB download, remove full-fetch fallback 2026-04-14 14:28:00 +00:00
codecolorist 7690ba766e Fix base path and restore wasm engine 2026-04-14 13:56:08 +00:00
codecolorist 32c2b01062 Fix authenticated data release downloads in CI 2026-04-14 13:28:18 +00:00
codecolorist 8e09bd0a5d chore: retrigger build and deploy 2026-04-14 11:55:43 +00:00
codecolorist 02ce7ac7e8 Make build workflow resilient when Pages is not configured 2026-04-14 11:53:35 +00:00
codecolorist 999b323bf8 Fix CI by enabling Pages during build workflow setup 2026-04-14 11:44:19 +00:00
codecolorist 656ec39dc9 Fix build/lint issues and support cross-repo dispatch trigger 2026-04-14 11:40:15 +00:00
cc 0f0a3ab28e initial: refactor web frontend from monorepo with WASM SQLite3 engine 2026-04-10 20:08:02 +00:00