Weekly Review: May 20-26, 2026

Review window: Tuesday, May 20, 2026 through Tuesday, May 26, 2026 Repository: seed-hypermedia/seed

Executive summary

This week leaned heavily into editor UX polish, draft lifecycle reliability, and frontend infrastructure. Main themes:

  • Hardening the editor: media block selection, code blocks, image widths, heading drag, prose alignment, formatting toolbar.

  • Cleaning up the draft lifecycle: removal of the draft preview route, metadata refresh, placeholder publishes, autosave anchor preservation, stale data.

  • Fixing comment behavior: deleted-comment flash during peer sync, duplicate comment draft editors.

  • Expanding web app capabilities: document creation menu, daemon auth error mapping, private documents.

  • Extending layout/panel behavior: panel actions inside active tab, breadcrumb section navigation, embed card click behavior.

  • Investing in infrastructure: @shm/reactive package WIP, contributor orientation docs, push/workflow error telemetry, lucide-react migration in Explore.

Highlights by theme

Editor UX

  • Preserved responsive image widths across renders in PR #641.

  • Handled pasted local media in web editors in PR #646.

  • Showed the drag handle for selected headings and restored full-block selection for covered headings in PR #660.

  • Aligned editor prose rendering and code block behavior in PR #661.

  • Kept the document editor focusable below content in PR #678.

  • Fixed code block cursor + backspace handling in 86ff4c3df.

  • Stopped the link type dropdown from bubbling clicks in d0c5a806d.

  • Preserved math textarea focus after insertion in 82f1b5b6f.

  • Sync formatting toolbar hides with the style popover in PR #684 (open).

  • Restored full-block selection for side-menu dragging in a3eb9cff1; earlier disabled full-block selection in 04311905f.

Drafts and document reliability

  • Removed the draft preview route and its actions in PR #679.

  • Refreshed draft-backed document metadata in PR #672.

  • Supported local web draft placeholder publishes in PR #663.

  • Cleaned up removed draft cards on commit in 88056a489 / 1c9f62f3f.

  • Unified desktop draft document routing in 347a4a0d2.

  • Preserved draft anchors on autosave in 22e93580c.

  • Fixed stale draft data in 05f57569d.

  • Focused inline draft title after slash insert in 03d5edc15.

Comments

  • Avoided deleted-comment flash during peer sync in PR #682.

  • Prevented duplicate comment draft editors when opening the side panel in PR #648.

  • Fixed comment tests in 35fa7d427.

Web app

  • Added a document creation menu in 2cbccf770.

  • Mapped daemon auth errors in 9eae36bdd.

  • Fixed private documents on web in 43c2a1eaf.

  • Moved document creation into the options menu in 9da919879.

  • Restored the unreferenced documents section in d432d2ef2.

Desktop and platform

  • Restored the system theme option in 12147e6c2.

  • Unified desktop draft routing in 347a4a0d2.

  • Added missing useEffect import in the desktop resource page in 797c20285.

Layout, navigation, embeds

  • Placed right panel actions inside the active tab in PR #685.

  • Fixed breadcrumb section navigation in c3a9e8e1e.

  • Improved document embed card click behavior in 2f9439953.

Frontend infrastructure and docs

  • Reported caught push and workflow errors via telemetry in PR #686.

  • Added text size, family, color, and highlight annotations and renamed color to value in 11f353a0a (landed via the editor formatting toolbar feature on main).

  • Migrated Explore icons to lucide-react and added the @shm/ui dependency in PR #627.

  • Fixed check-ts-directives to skip generated code and count net change in PR #633.

  • Ignored Python bytecode caches and removed a stray __pycache__/devcpython-313.pyc in PR #634.

  • Started a @shm/reactive package with LIBRARY slice 1 and DISCOVERY slice 1.5 in be955e8ad (WIP, not yet on a PR).

  • Drafted contributor orientation guides in PR #652 (open, +853/-79).

Pull request summary

| # | State | Merged | Title | | --- | ------ | ------ | ---------------------------------------------------------------------- | | 627 | merged | 05-19 | refactor(explore): migrate icons to lucide-react and add @shm/ui dep | | 633 | merged | 05-19 | fix(scripts): check-ts-directives skip generated code and count net | | 634 | merged | 05-19 | chore: ignore Python bytecode caches | | 641 | merged | 05-20 | fix(editor): preserve responsive image widths | | 646 | merged | 05-20 | fix(editor): handle pasted local media in web editors | | 648 | merged | 05-20 | fix(frontend): preserve comment drafts when opening side panel | | 652 | open | — | docs(repo): add contributor orientation guides | | 660 | merged | 05-22 | fix(editor): show drag handle for selected headings | | 661 | merged | 05-22 | fix(frontend): align editor prose and code block behavior | | 663 | merged | 05-22 | fix(frontend): support local web draft placeholder publishes | | 672 | merged | 05-25 | fix(frontend): refresh draft-backed document metadata | | 678 | merged | 05-25 | fix(frontend): keep editor focusable below content | | 679 | merged | 05-26 | fix(frontend): remove draft preview route and actions | | 682 | merged | 05-26 | fix(frontend): avoid deleted comment flash during sync | | 684 | open | — | fix(editor): sync formatting toolbar hides with style popover | | 685 | merged | 05-26 | fix(frontend): keep right panel action inside active tab | | 686 | merged | 05-26 | fix(frontend): report caught push and workflow errors |

15 merged, 2 open (#652 docs, #684 toolbar/popover).

Main-branch commits authored by Horacio in this window

~60 commits across editor, web, desktop, drafts, comments, and infrastructure. Largest pieces by LOC:

  • @shm/reactive WIP (+1260 / -8, 22 files) — unmerged

  • Contributor orientation docs (+853 / -79) — PR #652 open

  • Comment draft dedup (+523 / -71) — PR #648

  • Web document creation menu (+507 / -13)

  • Editor prose + code block alignment (+444 / -185) — PR #661

  • TextSize / TextFamily annotations and colorvalue rename (+434 / -39)

  • Push / workflow error reporting (+362 / -18) — PR #686

Follow-ups

  • Land or close PR #652 (contributor orientation guides). It is large and easy to bit-rot.

  • Decide whether the @shm/reactive WIP (LIBRARY + DISCOVERY slices) should be split into reviewable PRs or continue as a long-running branch.

  • Watch PR #684 (formatting toolbar / style popover sync) and verify the editor formatting toolbar feature that landed on main does not regress with the new toolbar mark types (text size, family, color, highlight).

  • Keep an eye on draft lifecycle after the cluster of fixes (#663, #672, #679) — placeholder publishes, metadata refresh, removed preview route — and confirm no regressions for local web drafts.

  • Verify the report caught push and workflow errors telemetry from PR #686 is producing useful signals and not spamming the backend.

  • Confirm desktop draft routing unification in 347a4a0d2 did not break any deep-link or inline-draft flows.

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime