Skip to content

A Note queued offline is made once, even if the page closes mid-send; no flaky e2e; dead helpers gone - #112

Merged
NiallJoeMaher merged 1 commit into
mainfrom
pluck-once
Oct 26, 2026
Merged

NiallJoeMaher merged 1 commit into
mainfrom
pluck-once

Conversation

@NiallJoeMaher

Copy link
Copy Markdown
Contributor

Two flaky e2e tests, both fixed, and a small cleanup before the repo goes public.

A Note queued offline could be made twice (real bug). If a page closed or reloaded while its queue was sending, the server could make the Note while the page never heard back. The Note stayed queued and was sent again on the next load. notes-and-many.spec.ts:68 caught this 1 or 2 times in 5, on main as well.

  • CreateItemBody takes an optional clientKey. A Note, Todo or Thing with a key the account has already used returns the first item (created: false) instead of making another. A unique partial index on (userId, clientKey) covers two copies arriving at once.
  • The web paste box puts its draft key, now unique across tabs, on what it queues. The shared queue in @pluck/client (extension and iPhone) sends each entry's id the same way.
  • createTextItem returns { item, created }. There's a new two-user test: a resend, two sends at once, and another person using the same key.

extension.spec.ts:160 (sign out, then the popup asks to sign in). It opened the popup before sign-out had finished revoking and clearing the tokens. It now waits for "Signed out." first.

Cleanup:

  • Removed sourceLabel and MOVED from shared-schemas/format.ts, English helpers nothing uses since the move to catalogs.
  • Merged CLONE_URL into REPO_URL.
  • The store listing notes now give the live Support URL and Public visibility.
  • site.ts no longer calls its links launch placeholders.

I also checked that no env file, key or password is in any commit on any branch, and that every file path the docs mention exists.

Checks, run locally: typecheck, lint, 444 unit tests, and pnpm design (0 anti-patterns).

  • The fixed offline-note test passed 10 runs in a row, and the extension test 15 in a row.
  • The full e2e suite then passed three rounds (168 of 168) and one more run (56 of 56).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Per4f8yL5A7nL9frZVDJj7

… no flaky e2e; dead helpers and launch-placeholder notes gone

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Per4f8yL5A7nL9frZVDJj7
@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pluck Ready Ready Preview Oct 26, 2026 10:50pm UTC

Request Review

@NiallJoeMaher
NiallJoeMaher merged commit 0dcdc2a into main Oct 26, 2026
1 of 5 checks passed
@NiallJoeMaher
NiallJoeMaher deleted the pluck-once branch October 26, 2026 22:50
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