siftlode/frontend/src
npeter83 94fd7ba9a6 fix(downloads-ui): editor tail no-op + persisted-tab fallback (+ dead ternary)
Found during the Phase-2 Downloads-frontend review:
- VideoEditor: onLoaded now reconciles the still-pristine full-length segment to the
  REAL decoded duration (its guard `end<=0` was dead since the metadata srcDur is
  always >0). Without this the untouched last segment kept the rounded metadata
  length, so isFullSingle read false and "Create" was enabled on an unmodified
  video — producing a bogus edit that dropped the tail.
- DownloadCenter: fall back to the "queue" tab when a persisted tab (e.g. admin-only
  "system") isn't in the current set, instead of rendering a blank page.
- VideoEditor: reencode = cropOn || accurate (was a no-op `willJoin ? accurate : accurate`).

tsc clean. GUI-affecting → pending an E2E visual test (needs an authed localdev
session) before user UAT. Cross-cutting UI-consistency cleanup deferred to Phase 3.
2026-07-11 16:37:57 +02:00
..
components fix(downloads-ui): editor tail no-op + persisted-tab fallback (+ dead ternary) 2026-07-11 16:37:57 +02:00
i18n chore: Phase 1 hygiene — drop unused imports/exports/types (behavior-neutral) 2026-07-11 04:47:08 +02:00
lib chore: Phase 1 hygiene — drop unused imports/exports/types (behavior-neutral) 2026-07-11 04:47:08 +02:00
App.tsx fix(plex): series-page UX fixes from UAT (7 items) 2026-07-11 01:34:30 +02:00
index.css feat(player): keyboard + scroll-wheel controls in the video modal 2026-06-29 23:37:18 +02:00
main.tsx perf: route- and modal-level code splitting (React.lazy) 2026-07-04 19:43:50 +02:00
vite-env.d.ts feat(i18n): foundation — react-i18next, language switcher, server-persisted choice 2026-06-15 00:30:34 +02:00