Skip to content

feat(export): include votes, stamps, hands up and comments in a board's JSON, for reading elsewhere - #78

Merged
ascorbic merged 6 commits into
mainfrom
export-activity
Oct 16, 2026
Merged

ascorbic merged 6 commits into
mainfrom
export-activity

Conversation

@ascorbic

Copy link
Copy Markdown
Owner

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 activity block for reading, which importing ignores.

What the activity block holds

Everything 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.
  • stamps and volunteers: 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

  • Import's schema already drops unknown keys, so older Tacks import these files too. No version bump.
  • activity doesn't count towards the 4 MB import limit.
  • Backups never carry it.

Also in this branch

  • The export docs page gets a section on the option, and the FAQ mentions it.
  • AGENTS.md's comment convention now follows emdash's. Comments are for future readers of the code: no justification, narrative, restatement or numbering, and no references to issues, pull requests or review threads. Separately, 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 leaving activity behind, and the size limit.
  • e2e/export.spec.ts: the switch in the playground's vote scenario, a download's activity, the file reading back without it, and the choice remembered.
  • pnpm check, pnpm test (1,961 tests), pnpm build and pnpm --filter site build pass after merging main, and so does e2e/export.spec.ts.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅

View logs ↗
No Preview URL. Enable ↗ e780617 2026-10-16T11:29:16.988Z View logs ↗
  • Build: Success ✅

View logs ↗
No Preview URL. Enable ↗ 2f1d221 2026-10-16T10:56:20.332Z View logs ↗
  • Build: Success ✅

View logs ↗
No Preview URL. Enable ↗ 38233df 2026-10-15T08:51:51.740Z View logs ↗
  • Build: Failed ❌

View logs ↗
647f383 2026-10-15T07:23:42.182Z View logs ↗

@ascorbic
ascorbic merged commit 6493b3e into main Oct 16, 2026
7 checks passed
@ascorbic
ascorbic deleted the export-activity branch October 16, 2026 12:13
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