Sync/upstream main 20260615b#340
Closed
Rassl wants to merge 43 commits into
Closed
Conversation
Add case-group, group-layout, group-morph, card-style, and board-scroll-lock modules; wire grouping into the case-board animator and graph-canvas. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Feat/metro overlay semantic zoom try
# Conflicts: # src/components/universe/graph-canvas.tsx
Feature/2d canvas
feat: attachments for any node
feat: allow attach images for non admins
feat: attachables one payment
feat: attachables view
# Conflicts: # src/components/universe/graph-canvas.tsx
Sync/upstream fetch on select
feat: update bullet icon
feat: metro stations view enhancment
feat: remove storyline
Syncs the fork with stakwork/graphmindset main (28 commits), bringing in
the reposition-on-load camera fix the fork was missing, plus render-images,
the withdraw flow, swapped add-data modals, review action types, etc.
Camera fix (the reported bug): the fork rebuilt the entire graph and
rescaled on every related-data load, reshuffling all node positions under
the camera. Adopted upstream's incremental model in graph-transform.ts +
graph-canvas.tsx:
- baseModel rebuilds only on dataVersion/schema change, never on appends
- appendToGraph folds fetched nodes in without reshuffling existing ones
- recomputeDescendantLayout re-lays-out only the selected subtree
- layoutGeneration tells GraphView to snap on rebuild, animate on append
Kept the fork's metro-aware apiToGraph/applyLayout (fixedRefIds, LORE_Y_LIFT,
force-grouped types) and adopted upstream's count-based crowd-grouping rule.
Conflict resolutions:
- GraphView.tsx: took upstream's perf/cross-edge/layoutGeneration rewrite,
kept fork's mutedNodeIds/suppressLabelIds + label-size tuning
- graph-canvas.tsx: merged fork's metro/case-board/station-hud/attachables
with upstream's append/recompute data layer; added render-images imageUrl
- modals: adopted upstream's add-modal/add-node-form/add-edge-form/
add-source-form architecture (deleted add-node-modal.tsx), re-applied the
fork's sats->bullets rebrand to the new forms + budget withdraw strings
- tests: repointed cluster-merge import to graph-transform; rebranded
sats->bullets expectations in node-preview-panel/budget-modal tests
Build green, app-code typechecks clean, 728/729 tests pass (the 1 failure,
main-area.test, pre-exists on origin/main).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
recomputeDescendantLayout re-lays-out the selected node's entire directed subtree and rewrites those nodes' originalPositions to a compact collapse- toward-selection. That's the intended UX for the pure radial graph, but the metro view's positions are data-driven (fixed stations + lifted lore), so the rewrite dragged the schematic into a pile on select and — because it also added originalPositions entries for fixed stations that applyLayout deliberately omits — left everything collapsed after deselect. Gate the recompute on !metroEnabled. Metro fetches now rely on appendToGraph's placeChildren alone (fans new nodes around their parent), leaving existing and fixed-position nodes untouched so deselect restores the clean schematic. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Sync/upstream main 20260614
…untdown
Syncs 9 new upstream commits (main was 9 behind). Clean auto-merge — no
conflicts, and none of the graph/camera files were touched.
Brought in:
- feat: image attach (add-node-form, edit-node-modal, graph-api image upload
+ ALLOWED_IMAGE_TYPES / MAX_IMAGE_UPLOAD_BYTES) — separate from the fork's
attachables (create/edit upload vs. view)
- BudgetModal: token-backup prompt on first-purchase success
- formatCountdown: HH:MM:SS for long invoice expiries
- My Content: filter stale processing items from banner count
Fix carried over from sync: edit-node-modal.test.tsx mocked @/lib/graph-api
without the new image exports (ALLOWED_IMAGE_TYPES etc.) the component now
imports, so the suite failed to collect. This test is broken on upstream/main
too (their image-attach commit didn't update the mock); added the missing
exports to the mock.
Build green, app code typechecks clean, 744/745 tests pass (the 1 failure,
main-area.test, pre-exists on origin/main). No user-facing "sats" strings
leaked in — the fork's bullets rebrand is intact.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Sync/upstream main 20260615
Syncs 5 new upstream commits (main was 5 behind). Clean auto-merge, no
conflicts; graph/camera files untouched.
Brought in:
- feat: dedicated collapsible image section in edit-node modal
- persist l402 + signature cookies for 30 days (AUTH_COOKIE_DAYS) +
cookie-storage test, sphinx bridge/payment tweaks
- node-preview-panel / budget-modal minor updates
Updated two stale upstream tests whose assertions lagged behind upstream's
own deliberate behavior changes (these tests don't even run on upstream/main —
their graph-api mock omits the new image exports, so they fail to collect):
- edit-node-modal "refreshes node on success": the panel is now refreshed
with the freshly-rebuilt node (edits applied, name hoisted), not the
original object reference — assert by ref_id/node_type.
- node-preview-panel edit button: the modal is now seeded from the panel's
live current node (one source of truth), not the separately-fetched full
node — assert on the current node identity, renamed accordingly.
Build green, app code typechecks clean, 751/752 tests pass (the 1 failure,
main-area.test, pre-exists on origin/main). No user-facing "sats" leaked in.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.