Backlog: H16 done (oxygenhub#14) 30924fc6c7d6
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-28 14:14 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
30924fc6c7d6e6339da6f856b3cce5b3843d31deba11e2f196d6834365da77ca- Depends on
- 3982115e1a75 75036530b621 e4a9dc2948fc
- Depended on by
- 3b1dc8a974a3 540b229288ba
- In bookmarks
- agents-in-readme bare-hashes carried-not-removed carry-identical doctor-trust identical-sides keyless-tags main merge-remote-bookmark only-help-103 paths-for-resolutions-and-amend push-notes show-stat subrepo-pin-state switch-says
- In tags
- v0.1.0 v0.10.0 v0.11.0 v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.5.0 v0.5.1 v0.6.0 v0.7.0 v0.8.0 v0.9.0
- Edits
- 3 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified docs/backlog-overnight-2.md +8 −1
| … | 24 unchanged lines |
||
| 25 | 25 | - [x] H13 Notifications: per-thread mark read, filter by kind and repository, "participating" versus "watching". |
|
| 26 | 26 | - [x] H14 Accessibility and mobile pass: focus styles, skip link, landmarks, responsive tables and tabs, contrast in both themes. |
|
| 27 | 27 | - [x] H15 Organisation webhooks page; admin storage and repository maintenance page (sizes, oxy gc). |
|
| 28 | - | - [ ] H16 Performance: cache rendered Markdown and highlighted files by object hash; measure the heaviest pages on Earth before and after. |
|
| 28 | + | - [x] H16 Performance: cache rendered Markdown and highlighted files by object hash; measure the heaviest pages on Earth before and after. |
|
| 29 | 29 | - [ ] H17 Issue API: labels, assignees and milestone on create/edit; create labels (oxygenhub#3). |
|
| 30 | 30 | - [ ] H18 `refs #N` in change messages appears on the issue's timeline (oxygenhub#4). |
|
| 31 | 31 | - [ ] H19 Projects: boards of issues and proposals across an owner's repositories (oxygenhub#5). |
|
| … | 127 unchanged lines |
||
| 159 | 159 | - **Storage.** `/admin/storage` lists each repository's size, loose objects and packs. Maintenance runs `oxy gc` (grace period kept, write lock held) on one repository or all, and is audited. |
|
| 160 | 160 | - Tested in tests/accounts.rs. Hub spec §6.3, §12.2. Deployed. |
|
| 161 | 161 | - Earth's repositories can be maintained from /admin/storage now; I have not run it on Andy's data. |
|
| 162 | + | - 2026-09-28 H16 done (oxygenhub#14, closed by the change). Measured on Earth first (oxygenhub/docs/performance.md). |
|
| 163 | + | - The raw bytes of heavy files took 5 ms, but their pages took 196 to 428 ms: syntax highlighting, Markdown rendering, and above all the file's "last change", found by `log_for_path_in` rebuilding the state and reading every change on each view. |
|
| 164 | + | - Now cached, in memory-bounded LRUs keyed by content or by (state, path): rendered Markdown, highlighted files, last change and blame. Labels are still computed fresh. |
|
| 165 | + | - `?plain=1` takes the lean path. |
|
| 166 | + | - Warm views: spec.md 196 → 8 ms, repo/mod.rs 400 → 18 ms, state.rs 317 → 14 ms, blame 428 → 23 ms. |
|
| 167 | + | - Unit test for the LRU; browse test checks the second view hits the cache. Hub spec §16.3. |
|
| 168 | + | - Follow-up for oxy-core: `log_for_path_in` should reuse a loaded state instead of rebuilding it. |