Skip to content

fix: resolve outstanding code review findings on main - #67

Merged
mberrys merged 1 commit into
mainfrom
fix/review-comments-62-64
Sep 5, 2026
Merged

mberrys merged 1 commit into
mainfrom
fix/review-comments-62-64

Conversation

@mberrys

@mberrys mberrys commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

This ports the still-relevant review comments from PRs #62/#63/#64 (seed-packet/database/media work) onto main's current implementation, fixing real bugs that are live in main today. PRs #62/#63/#64 themselves are stale duplicates whose content main already merged in newer form (see closure comments there); this PR lands the fixes those reviews called for.

Fixes

  • ops/database — deleteField inverse now captures & restores removed cell values, so Undo brings data back instead of an empty column (P1).
  • ops/media — deleteGroup inverse restores former asset memberships on Undo (P2).
  • panels/media — media board renders stored blob images instead of just the filename (P1).
  • surfaces/database — kanban always shows an Unassigned column; groups multi_select cells by array membership; multi_select cells get a real array editor (2x P2).
  • store/bundle — remap RelationField.targetDocId / GardenRef.documentId after an import ID collision so imported topology stays intact (P1).
  • store/workspace — serialize concurrent packet planting; store-driven packet preview overlay so complex sidebar packets are previewed/confirmed before planting (2x P2).
  • packets — pre-allocate base ids before sprouting so a relation can target any base regardless of declaration order (P2).

Verification

  • npm run typecheck ✅
  • npm run lint (no new errors) ✅
  • npm run test — 216 passed ✅
  • npm run build ✅

Test plan

  • deleteField → Undo restores cell values
  • deleteGroup → Undo restores memberships
  • Media board shows uploaded images
  • Kanban multi_select groups correctly, Unassigned visible
  • Import a bundle with colliding doc ids → refs point at imported copies
  • Plant a complex packet from the sidebar → preview appears first

Ports the still-relevant review comments from supra-merged seed-packet,
database, and media work onto main's current implementation:

- ops/database: deleteField inverse now captures and restores the removed
  cell values, so undo restores data instead of an empty column.
- ops/media: deleteGroup inverse remembers former asset memberships and
  restores them on undo.
- panels/media: render stored blobs on the media board instead of showing
  only the filename.
- surfaces/database: always show an Unassigned kanban column; group
  multi_select cells by array membership; give multi_select cells a real
  array editor instead of corrupting them via the scalar input.
- store/bundle: remap RelationField.targetDocId and GardenRef.documentId
  after an import ID collision so imported topology stays intact.
- store/workspace: serialize concurrent packet planting; add a store-driven
  packet preview overlay reachable from the sidebar (complex packets are
  previewed/confirmed before planting).
- packets: pre-allocate base ids before sprouting so a relation may target
  any base regardless of declaration order.

Adds regression tests for deleteField/deleteGroup undo, forward-referencing
relations, plus typecheck/lint/build clean (tests 216 passed).
@mberrys
mberrys merged commit d0d17de into main Sep 5, 2026
1 check passed
@mberrys
mberrys deleted the fix/review-comments-62-64 branch September 5, 2026 20:15
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