Repository navigation
feat(export): include votes, stamps, hands up and comments in a board's JSON, for reading elsewhere - #78
Merged
Conversation
🚀 Deploying Preview to Cloudflare 🚀Preview Deployments by commit
|
…ents and what cards show, for reading elsewhere
…arrative or references, as in emdash
…ds refuse triggers
ascorbic
force-pushed
the
export-activity
branch
from
October 16, 2026 10:54
38233df to
2f1d221
Compare
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.
A board's JSON export is a file for making a new board, so it leaves out what people did on the board: votes, stamps, hands up and comments. After a planning session that's the part worth keeping, and the file is also the only way to hand a board to another tool or an AI agent today. So the export dialog gets an option, Include votes, stamps and comments, which is off by default. With it on, the file gains an
activityblock for reading, which importing ignores.What the
activityblock holdsEverything in it is keyed by shape id, and covers only shapes that are in the file.
votes: each dot vote's settings, whether it's closed, how many people voted, and results with each shape's dots, 👍 counted as votes, total and rank. A hidden vote never names who voted, and has no results until it closes, as on the board.decisions: who agreed and who disagreed with each proposed decision.stampsandvolunteers: who stamped or put their hand up, on each shape, in order.comments: threads still showing, with their messages, authors, what they're pinned to and whether they're resolved. A thread pinned to a shape the file leaves out (a card the exporter can't read, a face-down sticky) stays out too.items: what the cards (and decisions' and action items' links) show, as the exporter sees them: title, state, labels, assignees, counts, milestone, and for discussions their category, upvotes and whether they're answered.How it fits with import and backups
activitydoesn't count towards the 4 MB import limit.Also in this branch
claude/frosty-lederberg-a5b3b9(not pushed) removes the existing citations from 429 files.Testing
test/board-export.test.ts: what goes in and what stays out, hidden votes open and closed, decision votes, items, the dialog's counts, import leavingactivitybehind, and the size limit.e2e/export.spec.ts: the switch in the playground's vote scenario, a download'sactivity, the file reading back without it, and the choice remembered.pnpm check,pnpm test(1,961 tests),pnpm buildandpnpm --filter site buildpass after mergingmain, and so doese2e/export.spec.ts.