Skip to content

Show saves, failures and progress on the Reader mark - #50

Merged
callumalpass merged 3 commits into
mainfrom
feat/mark-motion
Oct 2, 2026
Merged

callumalpass merged 3 commits into
mainfrom
feat/mark-motion

Conversation

@callumalpass

Copy link
Copy Markdown
Contributor

Adopts the mark animations from mdbase-dev/mdbase-connect#555. This is a draft until @mdbase-dev/ui with mark-activity is published to npm. It then needs the dependency bump in apps/reader, apps/extension, packages/ui and packages/markdown-editor.

  • motion.css is imported with brand.css.
  • Progress on the switcher mark:
    • bulk library updates, filled by done/total; any failed source ends it in error
    • the import migration
    • source uploads
  • Saved/error:
    • highlight and annotation creation, annotation edits
    • citations, source details, library cell edits
    • bibliography export
    • adding a source from a link
  • Busy: scan while capturing a web page, and stream while the header reports syncing. Nothing sets that state yet, so stream won't play until something does.
  • apps/reader/src/mark-activity.ts adds withMarkProgress, which always ends the tracked operation (finish, fail, or quietly on abort).

Verified against a packed build: typecheck, lint, and all tests (reader: 398, including 9 new). In preview mode, a bulk status update showed progress, then saved.

Load @mdbase-dev/ui's motion.css after brand.css so the app switcher's
mark can animate, and fill the mark with the progress Reader already
measures: a bulk status or field update (sources done of total), a
library migration (records completed of total) and a file upload (bytes
sent of total). Each ends with saved, or with error when any source or
the import failed; a stopped import or upload ends quietly.

withMarkProgress always ends the tracked operation, whatever the work
does, so the mark never stays filling.

Needs @mdbase-dev/ui 0.1.0-beta.122, which is not yet published.
Play saved or error on the app mark for user-initiated writes that do
not go through SaveNotice: creating a highlight or annotation, saving an
annotation edit, saving a citation or source details, editing a library
cell, exporting a bibliography and adding a source from a link. The mark
scans while a link is being captured, which has no measurable progress,
and streams while the header reports syncing.
@callumalpass
callumalpass marked this pull request as ready for review October 2, 2026 21:51
@callumalpass
callumalpass merged commit 061c91b into main Oct 2, 2026
2 checks passed
@callumalpass
callumalpass deleted the feat/mark-motion branch October 2, 2026 21:56
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