Folio 0.6.6, dated, with Keyd in it - #69
Conversation
The changelog is dated and says how supporters get Keyd; the 0.6.6 roadmap items are done; Supporter's Keyd card says it's in the Market instead of in design; the runbook says the supporter source is live and Keyd codes need beta,keys.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 769d282f6a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <string name="keyd_in_the_market">In the Market</string> | ||
| <string name="keyd_what_it_does">What it does</string> | ||
| <string name="keyd_features">Splits around the crease · suggestions and autocorrect · six languages · clipboard history · shortcuts · no permissions at all</string> | ||
| <string name="keyd_where_to_get_it">Keyd is a separate app, because Android needs a keyboard to be its own input method. Your code added its source to the Market, so it\'s there to get, and it asks for no permissions at all, not even the internet.</string> |
There was a problem hiding this comment.
Backfill Keyd's source for already-redeemed codes
When a supporter upgrades from 0.6.5 with an eligible code already stored, no redemption occurs in this build: MarketAccess.addSupporterSource is called only from Supporter.redeem, and re-entering the stored code still makes its first check false. The new note therefore claims that the code added Keyd's source while the Market has no such source. Reconcile the source for existing valid codes during upgrade/startup rather than only on first redemption.
Useful? React with 👍 / 👎.
| InfoRow(stringResource(R.string.status), stringResource(R.string.in_design)) | ||
| InfoRow(stringResource(R.string.what_it_will_do), stringResource(R.string.splits_around_the_crease_key_gestures_pe)) | ||
| CardNote(stringResource(R.string.folio_keys_is_a_keyboard_for_the_rest_of)) | ||
| InfoRow(stringResource(R.string.status), stringResource(R.string.keyd_in_the_market)) |
There was a problem hiding this comment.
Don't advertise Market access to keys-only codes
When a valid code carries keys without beta—a combination explicitly covered by SupporterTest—this card is displayed because it checks only SCOPE_KEYS, but MarketAccess.isOpen requires SCOPE_BETA. Such a user now sees “In the Market” and is told Keyd is there to get despite having no way to open the Market; condition this status on Market access or explain the additional scope requirement.
Useful? React with 👍 / 👎.
Release-day edits for 0.6.6.
[0.6.6] - 2026-09-21, plus a Keyd, for supporters line.--scopes beta,keys, because onlybetaopens the Market.Build, 476 tests and lint (0 errors) pass. After this merges, build and sign 0.6.6 from main with scripts/release-signed.sh.