Frontend redesign: Hi-Fi Archival + bun/oxlint/oxfmt/tsgo/knip toolchain #2
Loading…
Reference in a new issue
No description provided.
Delete branch "kleb/redesign-hifi-archival"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Frontend redesign (presentation only; hooks/lib/types/IPC reused unchanged):
chrome, single gold "signal" accent, self-hosted Bricolage Grotesque /
Hanken Grotesk / JetBrains Mono, cover-art hero backdrops, VU-meter progress,
spec-sheet metadata, glass surfaces.
command palette (hand-rolled on Radix Dialog).
with Spotify-style track rows; Home/Search; Download Queue; Batch Queue; Audio
Analysis; File Manager (+ dialogs); Advanced Tools; Databases; Debug Logger.
dead 18-accent picker and lib/themes.ts.
Renderer now uses real React 19 instead of the preact/compat alias: Preact broke
every Radix dialog (react-remove-scroll calling getComputedStyle on a non-element),
leaving dialog content unmounted. Removed orphaned primitives/deps (Card, Badge,
Progress, Toggle, Tooltip + their radix deps, motion, react-virtual); knip reports
0 unused dependencies.
Toolchain: pnpm -> bun (workspaces, trustedDependencies), eslint -> oxlint, added
oxfmt (tabWidth 4), tsgo typecheck, knip. Whole repo formatted with oxfmt.
Gate: typecheck, lint, build, and format:check all pass.
Codex review
Verdict: no findings
No must-fix issues were found in the reviewed diff.
No must-fix issues were found across the reviewed diff. Some files were not fully reviewed (partial coverage).
Not reviewed
The diff exceeded the configured size limit. These files were not reviewed:
12 skipped files
frontend/src/hooks/useDownload.tssrc/main/providers/songlink.tssrc/main/providers/spotify.tssrc/main/providers/tidal-api-list.tssrc/main/providers/tidal-hifi.tssrc/main/providers/tidal-manifest.tssrc/main/providers/tidal.tssrc/main/window.tssrc/preload/index.tssrc/shared/channels.tstsconfig.jsontsconfig.node.jsonExcluded as generated or vendored (not reviewed):
bun.lock,frontend/package-lock.json,frontend/pnpm-lock.yaml,pnpm-lock.yaml.Reviewed by Codex at
7f8e7cf807. This comment is conservative and based only on the PR diff, metadata, and supplied repository context.Est. cost ~$3.30 (635.3k in / 6.5k out / gpt-5.5).
Selecting "Search Spotify for ..." in the command palette dropped the typed query: handlePaletteSearch ignored its argument and only switched into search mode. The SearchBar owns its search field internally (it is not driven by spotifyUrl, which is the URL-mode input), so seed it explicitly. - App: thread the palette query through handlePaletteSearch into a {query, nonce} seed passed to SearchBar; the nonce re-applies the same query on repeat. - SearchBar: accept searchSeed/searchSeedNonce and set the search field from them, which triggers the existing debounced Spotify search.