Skip to content

Codex/misc fixes#116

Merged
NateEaton merged 12 commits into
mainfrom
codex/misc-fixes
Mar 16, 2026
Merged

Codex/misc fixes#116
NateEaton merged 12 commits into
mainfrom
codex/misc-fixes

Conversation

@NateEaton

@NateEaton NateEaton commented Mar 15, 2026

Copy link
Copy Markdown
Owner

Summary

This PR follows up on the v0.11.0 reader/background-theme work with a set of user-facing fixes and refinements. It addresses a release-only navigation regression, improves the labels multi-select flow, redesigns and expands the reader typography sheet, restores dynamic accent behavior for non-Sepia reader themes, and fixes reader search navigation so matches reliably scroll into view. Also recovered a lost design spec.

What This Fixes

Navigation drawer

  • Fixes a release-only regression where the navigation drawer could be opened but would not dismiss by tapping outside it or swiping it closed.
  • This only affected minified release builds; debug installs behaved correctly.

Labels multi-select sheet

  • Clears the label search field whether the user selects an existing label with the keyboard action or by tapping the search result.
  • Keeps selected labels pinned directly below the search field so they remain visible while continuing to choose more labels.
  • Improves the add/edit labels flow in bookmark creation and related entry points.

Reader typography sheet

  • Adds direct reader-theme selection from the sheet, including switching the app theme when needed and remembering the last light and dark reader appearances separately.
  • Reorganizes the typography/settings sheet into Text, Layout, and Theme tabs.
  • Splits controls into clearer groups:
    • Text: font, font size, line spacing
    • Layout: width, justification, hyphenation
    • Theme: Paper, Sepia, Dark, Black
  • Moves reset actions out of the main settings list and into low-emphasis footer actions:
    • Reset text
    • Reset layout
    • Reset theme
  • Updates width presets to N / M / W = 75% / 85% / 95%.
  • Improves the visual treatment of selections and theme previews for better consistency with the rest of the app.

Reader theming and accents

  • Restores dynamic Material You accent behavior for Paper, Dark, and Black on supported Android versions.
  • Preserves the curated background/surface work introduced in v0.11.0 rather than reverting to fully dynamic themes.
  • Keeps Sepia fully curated.
  • Updates reader template styling so links, buttons, rules, and related accent elements no longer rely on hard-coded blue/white values.
  • Makes links easier to identify in every reader theme by using subtle underlines consistently.

Reader search navigation

  • Fixes the reader search behavior where searching from mid-article could leave the highlighted result off-screen.
  • Fixes next/previous result navigation so the reader now scrolls reliably to matches instead of only moving once a result happens to be in or below the current visible area.
  • Improves the overall usability of in-article search in long articles.

Duplicate URL Detection spec

  • Recreated and committed document missed in commits for v0.11.0
  • It documents an approach for detecting when a new bookmark being added has a URL that matches an existing bookmark, giving the user information to make a decision on whether to add again or not.

Additional reader and delete fixes

  • Fixes rapid multi-delete behavior in bookmark lists so each undo snackbar stays tied to the correct bookmark and pending deletes remain visibly disabled until confirmed or undone.
  • Alters the delete snackbar label to reference the bookmark title (fragment)
  • Fixes reader width behavior so changing width no longer unintentionally changes the effective text size on smaller screens.
  • Makes reader theme changes apply in place, reducing visible reload/jump behavior when switching between Paper, Sepia, Dark, and Black.
  • Expands the Wide text width preset from 95% to 98%.
  • Refines fullscreen video controls so the exit and rotate pills stay properly positioned across phone and tablet portrait/landscape layouts.

Documentation and polish

  • Updates the English user guide to reflect the drawer, labels, reader settings, theming, and search behavior changes.
  • Updates localized strings needed for the new sheet structure and controls.

NateEaton and others added 12 commits March 14, 2026 10:49
Analyzes the current API sync pipeline and proposes targeted fixes for
two issues: the ~10s blocking sync spinner on app open, and the N+1
database insert pattern in BookmarkDao. Preserves the existing deferred
content load model. Includes phased implementation plan.

https://claude.ai/code/session_01WsQFgiU2b4TMFxayW6Q2s7

Co-authored-by: Claude <noreply@anthropic.com>
Address implementation gaps identified during feasibility review:
- Fix subsection heading levels for proper markdown hierarchy
- Specify suspend fun (not Flow) for DAO duplicate lookup
- Add ShareActivity architectural approach (local compose state)
- Place duplicate fields on CreateBookmarkUiState.Open for in-app path
- Expand title match semantics table for blank existing titles
- Add navigate-away UX guidance (explicit Open button per row)
- Clarify duplicate Open vs View save action relationship
- Move url index from optional to required for V2
- Resolve date format: relative within 7 days, absolute after
- Remove resolved items from open decisions list

https://claude.ai/code/session_01PcGXsUwaCgAm4VvSTavsaC

Co-authored-by: Claude <noreply@anthropic.com>
* Add mini spec for reader & delete bugfixes (v0.11.1)

Covers six items from user feedback: rapid successive delete race
condition, text-size shift when margins change, reproducible layout
glitch, video fullscreen for article embeds, narrower minimum margin,
and theme-switch reflow elimination via CSS custom properties.

https://claude.ai/code/session_015xCk9LrWSrxxmCEWudcMkm

* Correct spec item #4: embedded videos are stripped server-side

The issue is not about fullscreen callbacks for article types — Readeck's
extraction pipeline strips iframe/embed tags from article HTML entirely.
The video content never reaches the app. Updated to document as a
server-side limitation with options for future consideration.

https://claude.ai/code/session_015xCk9LrWSrxxmCEWudcMkm

* Update spec item #4: video fullscreen UX polish

Fullscreen works correctly for all providers. Revised to focus on the
actual UX issues: discoverability (non-obvious path to fullscreen) and
auto-rotation (sensor-based rotation instead of manual rotate button).
Dropped server-side extraction limitation note as out of scope.

https://claude.ai/code/session_015xCk9LrWSrxxmCEWudcMkm

* Expand spec item #4 with video fullscreen improvements

Added four sub-items: app-controlled fullscreen entry for
discoverability, enabling "open in service" links by relaxing iframe
sandbox, auto-rotation via Activity orientation, and repositioned
pill-shaped overlay controls to avoid provider control overlap.

https://claude.ai/code/session_015xCk9LrWSrxxmCEWudcMkm

---------

Co-authored-by: Claude <noreply@anthropic.com>
@NateEaton NateEaton merged commit 46d62ad into main Mar 16, 2026
5 checks passed
@NateEaton NateEaton deleted the codex/misc-fixes branch March 16, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant