From 91f17f5ab2d2534af2c38d5c2fed68ec07287417 Mon Sep 17 00:00:00 2001 From: archipelago Date: Thu, 30 Jul 2026 23:26:30 -0400 Subject: [PATCH] docs: pin UIFIX-04/05/06 todos with 02-08 classification pointers --- .../pending/2026-07-30-missing-loader-states-on-slow-opens.md | 2 +- .../2026-07-30-peer-files-pictures-open-in-tab-not-lightbox.md | 2 +- ...2026-07-30-pip-should-close-lightbox-with-fluid-animation.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.planning/todos/pending/2026-07-30-missing-loader-states-on-slow-opens.md b/.planning/todos/pending/2026-07-30-missing-loader-states-on-slow-opens.md index 04171c26..2bdb99a3 100644 --- a/.planning/todos/pending/2026-07-30-missing-loader-states-on-slow-opens.md +++ b/.planning/todos/pending/2026-07-30-missing-loader-states-on-slow-opens.md @@ -13,4 +13,4 @@ Dorian (2026-07-30): "some stuff doesn't have loader states when it's gonna take ## Solution -Inventory slow-open surfaces (02-08's PERF-AFTER timings + the flagged timing regressions are a starting list: Discover, Server, Web5, Fleet, AppDetails, OpenWrtGateway); add house-style skeletons/spinners where an open can exceed ~300ms, consistent with the phase 2 rule that cached revisits show no spinner (loaders only where genuinely uncached/slow, e.g. first visits and secondary screens). Tracked as UIFIX-06 (phase 1). Await 02-08's classification for pointers. +Inventory slow-open surfaces (02-08's PERF-AFTER timings + the flagged timing regressions are a starting list: Discover, Server, Web5, Fleet, AppDetails, OpenWrtGateway); add house-style skeletons/spinners where an open can exceed ~300ms, consistent with the phase 2 rule that cached revisits show no spinner. Clearest confirmed instance (02-08 classification, pre-existing since 2026-07-22): `Cloud.vue` `viewPaidItem()`'s `content.owned-get` call has a 60s timeout and zero loading indicator. `CloudFolder.vue`'s native file grid already has a skeleton (fine). Tracked as UIFIX-06 (phase 1). diff --git a/.planning/todos/pending/2026-07-30-peer-files-pictures-open-in-tab-not-lightbox.md b/.planning/todos/pending/2026-07-30-peer-files-pictures-open-in-tab-not-lightbox.md index a7ad0aeb..7d4db823 100644 --- a/.planning/todos/pending/2026-07-30-peer-files-pictures-open-in-tab-not-lightbox.md +++ b/.planning/todos/pending/2026-07-30-peer-files-pictures-open-in-tab-not-lightbox.md @@ -13,4 +13,4 @@ Dorian (2026-07-30, on archi-dev-box; initially said "peer files", corrected to ## Solution -Route Paid Files image clicks through the existing lightbox component (find where other Cloud/media surfaces invoke it and reuse — likely the same lightbox used by My Files). Tracked as UIFIX-04 (phase 1). Await 02-08's classification report for exact file/line pointers. +Route Paid Files image clicks through the existing lightbox component. Classified by 02-08 (pre-existing, introduced f3393581 2026-07-22): `Cloud.vue`'s `viewPaidItem()` (~line 470) calls `window.open(...)` instead of routing into `MediaLightbox.vue`. Fix: invoke MediaLightbox the way My Files does. Tracked as UIFIX-04 (phase 1). diff --git a/.planning/todos/pending/2026-07-30-pip-should-close-lightbox-with-fluid-animation.md b/.planning/todos/pending/2026-07-30-pip-should-close-lightbox-with-fluid-animation.md index 001ba6f5..31e01ff6 100644 --- a/.planning/todos/pending/2026-07-30-pip-should-close-lightbox-with-fluid-animation.md +++ b/.planning/todos/pending/2026-07-30-pip-should-close-lightbox-with-fluid-animation.md @@ -13,7 +13,7 @@ Dorian (2026-07-30), two reports: 1. Entering picture-in-picture on a video does not close the lightbox — it should close with a fluid on-brand animation as PiP begins. 2. "Picture in picture must survive tab changes or video buffering pauses, doesn't seem to, please fix." — PiP currently dies when switching main tabs and/or when the video pauses to buffer. -Suspect for the tab-change death: phase 2's KeepAlive lifecycle teardowns (02-04 moved intervals/listeners to onDeactivated — if any teardown pauses or resets media elements on deactivate, that kills PiP). Removing the video element from the DOM also ends PiP by browser design — the kept-alive instance should actually HELP here (element persists off-screen) if nothing pauses it. Buffering-pause death is likely separate close-on-pause logic in the lightbox/player. 02-08's classification report will pin the exact causes. +Classified by 02-08 (all pre-existing, NOT phase 2): `src/utils/pip.ts`'s `togglePip()` (introduced f72d4b92 2026-07-23) never touches `MediaLightbox.vue`'s visibility state; no `onDeactivated` teardown exists in Cloud/CloudFolder/MediaLightbox (phase 2 added none there); pre-phase-2 tab switches fully unmounted the view, so PiP tab-survival never existed. The `