fix: clickable folder path in the viewer, a favicon, open at the tablet's last page, templates repeat down long pages, sync time keeps up #34

Merged
jfro merged 2 commits from bug-batch-oct17 into main 2026-10-17 15:37:46 +00:00
Owner

Closes #33, closes #32, closes #31, closes #30, closes #27.

  • #33 Folder path in the viewer is clickable. "My files / Braining / Journals 2026" above a notebook's title is now links to each folder in the library (Trash and Imported link to theirs).
  • #32 Favicon. favicon.ico was a fully transparent 64×64 PNG and the layout had no icon link. New icon matching the header mark (dark rounded square, white pencil): favicon.svg, a real 16/32/48 favicon.ico, and a 180px apple-touch-icon.png, linked from the root layout.
  • #31 Opens at the tablet's last page. Without ?page=, the viewer opens the page in cPages.lastOpened (or lastOpenedPage in older content files), falling back to the first page if it's gone. A page in the URL still wins. Remarkable.last_opened_index/2.
  • #30 Templates repeat down long pages. The template was a single page-high <img>; it's now a repeat-y background tiled every page height from the page's top edge, sized with container query units so it scales with the page (thumbnails too). Lines small and dots tile seamlessly; lines medium repeats its header gap, as the template itself is drawn per page.
  • #27 "Synced …" keeps up. The label is worked out from a @now that a timer moves on exactly when the wording would change (relative_time_changes_in/2): at the next minute while it says minutes, the next hour while it says hours, never once it's a date. So at most once a minute.

Tests: last-opened page (new and old content, missing page, explicit page wins), breadcrumb links and navigation, the tiled template, the label ticking from "just now" to "1 min ago", and relative_time_changes_in/2. 698 passed; --warnings-as-errors (test and prod) and format --check-formatted clean.

Checked in the browser against a synced library: the favicon in the tab, a 2491px-tall lined page with rules all the way down, a breadcrumb back to its folder, and a 17-page notebook opening on page 17.

Also: viewer layout. From lg (1024px) the page and its transcription sit side by side, the transcription sticky beside the page (it was below the page until xl). The page thumbnails are a column of their own from 2xl (1536px); until then they open as a dropdown from the page number ("3 / 3 ⌄"), closed by picking a page, clicking outside, Escape, or the page number again. Checked at a 1080px-wide window and zoomed out past 2xl.

Closes #33, closes #32, closes #31, closes #30, closes #27. - **#33 Folder path in the viewer is clickable.** "My files / Braining / Journals 2026" above a notebook's title is now links to each folder in the library (Trash and Imported link to theirs). - **#32 Favicon.** `favicon.ico` was a fully transparent 64×64 PNG and the layout had no icon link. New icon matching the header mark (dark rounded square, white pencil): `favicon.svg`, a real 16/32/48 `favicon.ico`, and a 180px `apple-touch-icon.png`, linked from the root layout. - **#31 Opens at the tablet's last page.** Without `?page=`, the viewer opens the page in `cPages.lastOpened` (or `lastOpenedPage` in older content files), falling back to the first page if it's gone. A page in the URL still wins. `Remarkable.last_opened_index/2`. - **#30 Templates repeat down long pages.** The template was a single page-high `<img>`; it's now a `repeat-y` background tiled every page height from the page's top edge, sized with container query units so it scales with the page (thumbnails too). Lines small and dots tile seamlessly; lines medium repeats its header gap, as the template itself is drawn per page. - **#27 "Synced …" keeps up.** The label is worked out from a `@now` that a timer moves on exactly when the wording would change (`relative_time_changes_in/2`): at the next minute while it says minutes, the next hour while it says hours, never once it's a date. So at most once a minute. Tests: last-opened page (new and old content, missing page, explicit page wins), breadcrumb links and navigation, the tiled template, the label ticking from "just now" to "1 min ago", and `relative_time_changes_in/2`. 698 passed; `--warnings-as-errors` (test and prod) and `format --check-formatted` clean. Checked in the browser against a synced library: the favicon in the tab, a 2491px-tall lined page with rules all the way down, a breadcrumb back to its folder, and a 17-page notebook opening on page 17. **Also: viewer layout.** From `lg` (1024px) the page and its transcription sit side by side, the transcription sticky beside the page (it was below the page until `xl`). The page thumbnails are a column of their own from `2xl` (1536px); until then they open as a dropdown from the page number ("3 / 3 ⌄"), closed by picking a page, clicking outside, Escape, or the page number again. Checked at a 1080px-wide window and zoomed out past 2xl.
Closes #33, closes #32, closes #31, closes #30, closes #27
jfro merged commit 6465a828cc into main 2026-10-17 15:37:46 +00:00
jfro deleted branch bug-batch-oct17 2026-10-17 15:37:46 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jfro/rm-analyzer!34
No description provided.