Skip to content

Finish what we ship: 1.4.0 - #8

Merged
btsouth merged 7 commits into
mainfrom
release/finish-what-we-ship
Sep 5, 2026
Merged

Finish what we ship: 1.4.0#8
btsouth merged 7 commits into
mainfrom
release/finish-what-we-ship

Conversation

@btsouth

@btsouth btsouth commented Sep 5, 2026

Copy link
Copy Markdown
Owner

This is the finishing pass before we point people at Typearchy. No new modes or passages, just the journeys we already ship working end to end without anyone needing help.

Challenges

  • Custom passages work by link as soon as they are saved. Review now gates the public library, profile pages, and search, not the link. One SQL rule covers every query so it cannot drift again.
  • Results on a link-shared passage join its standings and open by link, but stay off profiles until approval. Rejection still hides everything.
  • Titles cannot contain links, a profile can hold at most 20 unreviewed passages, non-creators see the review state and a Report action, and guests are told unclaimed results expire.
  • The desktop helper now reports the real reason for a failure (offline, rate limited, expired session, not found) instead of a generic error, and Escape and Tab in a native race behave like the browser.

Accounts

  • Browser button in History connects your web browser to a connected app with a one-time code. No recovery code, no other device signed out.
  • Replace a lost recovery code from Account on the website. Devices stay connected and the page shows when the code was last replaced.
  • Device list shows when each device connected and was last used.

Results and history

  • Every result and history row shows one state: local, public, pinned, or paused practice. The comparison line says what it compares against and the footer suggests a next step.
  • Export and import history from the app (E and I in History). Imports merge without duplicates.
  • The app sends its version; the server can ask outdated apps to update and tells current ones when a newer release exists.

Website

  • Homepage cut down to the game, three differentiators, and the install block. Old 1.0 screenshots and the og image replaced with captures of the current app.
  • Small-screen fixes on connect, account, profile, creator, and the browser game.

Docs and release

  • ROADMAP, README, contracts, and the release checklist updated. The checklist now lists the seven gate journeys and what covers each.
  • Version bumped to 1.4.0. New migration 0010 adds recovery_rotated_at, so run the D1 migration before deploying the worker.
  • New tests: client version, result states and history merge, link-shared challenges, browser linking, recovery replacement, helper errors, and tests/desktop-update.py which installs v1.3.0 in a private home and updates it from this checkout.

Everything in tests/ and website/tests passes locally, including the Miniflare integration suite and the offscreen Quickshell smokes.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
typearchy be666ab Commit Preview URL

Branch Preview URL
Sep 05 2026, 04:47 AM

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: c49d6adb-0293-4735-b4b1-c47687978168


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@btsouth
btsouth merged commit 191029e into main Sep 5, 2026
3 checks passed
@btsouth
btsouth deleted the release/finish-what-we-ship branch September 5, 2026 05:27
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