diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -533,6 +533,30 @@ anything that assumes one key per person. bound. Every await on a download path is now bounded and says which chunk it gave up on — an unbounded one is a freeze nobody can report +- **A name with no spaces in it sets a table column's minimum width, and on + Android that unpins the whole page.** Sticky headers were added to Files, + Videos, Music and Photos on 2026-09-09 and reported broken on a phone: not + the new bands but *everything*, the navigation bar included, which had been + `position: sticky` for months. That is the tell. A document wider than the + screen leaves everything pinned attached to a viewport the reader can no + longer see, so a header doing exactly what it was told looks like one that + was never pinned — **look for horizontal overflow before doubting the + sticky rules**. The overflow came from two `<td>`s that had no wrapping rule + because `.file-name` was only ever on a *file's* name: a folder called + `Rage_Against_The_Machine_Discography_1992-2000_FLAC` made a 527px table in a + 390px window, and Search's group column did the same at 442px with an + underscored group name. `word-break: break-word` is what lets such a cell + stop driving the column, and it has to be on every cell that carries a name + somebody else chose. + Two things cost more than the fix. The harness had measured this page in two + engines at three widths and found nothing, because its fixture said + `note-007.txt` and `un groupe` — **a fixture narrower than real data tests + the fixture**, and names are the one thing a file browser cannot be given + short. And a first diagnosis blamed the soft keyboard (the Search field is + `autofocus`, and Android's `interactive-widget` default splits the visual + viewport from the layout one), which was plausible, cost a round trip, and + was wrong; the screenshot showing no keyboard was already in hand. + - **Three headers decide whether a page may frame itself, and they must agree.** The same streamed download navigates a hidden iframe to `/_mbdl/<id>`. `frame-src` was reCAPTCHA's two origins with no `'self'`, `frame-ancestors` |