Skip to content

Add 20 QR campaign and library features - #2

Merged
nearbycoder merged 1 commit into
mainfrom
codex/campaign-toolkit
Sep 12, 2026
Merged

nearbycoder merged 1 commit into
mainfrom
codex/campaign-toolkit

Conversation

@nearbycoder

Copy link
Copy Markdown
Owner

What changed

Adds 20 campaign and library features: eight static QR generators (Wi-Fi, contact, email, SMS, phone, location, text, WhatsApp), a UTM builder, tracking cleanup, printable QR cards, bulk pause/resume/visibility/tagging/link copying, visibility/routing/scan filters, and pagination. The toolkit is available from workspace navigation and the command menu. The README lists all 20 additions and explains static versus managed QR behavior.

Batch mutations validate organization ownership and update all selected codes in one transaction. Single and batch writes share organization locking so concurrent requests cannot exceed active-code limits or race slug allocation. Tag overflow and invalid selections roll back the entire batch. No database migration is required.

Fixes the CI and Playwright fallback auth secrets to satisfy the existing 32-character production requirement.

Validation

  • TypeScript and changed-file Biome checks pass.
  • 50 unit tests pass, including payload encoding, Unicode vCards, URL cleanup, filters, tags, and activation limits.
  • 33 desktop/mobile Playwright tests pass; 3 existing intentional skips.
  • Browser tests cover all QR types, PNG/SVG downloads, print layout, batch persistence, cross-organization rejection, atomic rollback, concurrent activations, and pagination.
  • Production build passes. Printed QR card visually verified as a single-page A4 PDF.

Static toolkit codes embed their content and do not provide managed-link editing or scan analytics. Scanner handling of action formats varies by device.

@nearbycoder
nearbycoder merged commit a270378 into main Sep 12, 2026
2 checks passed
@nearbycoder
nearbycoder deleted the codex/campaign-toolkit branch September 12, 2026 03:59
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