Appearance
The nine-page beta fix list was approved in full on 2026-10-29. Every implementation lot below is merged into staging and is not deployed. Per-change notes live in the neighbouring tracking files. Personal accounts and collections were not mutated for this verification.
App staging
Local gates only. Maestro and device checks were not run for any of these pulls. GitHub Actions is red because billing is unpaid, so a red check is not a product failure and a green check was not available.
| Lot | Pull request | Staging SHA |
|---|---|---|
| Tab roots | #870 | b1bca3483167576c9696f201658e1cdd8c942fdc |
| Stable search input | #907 | 7020ad129085dc6aebb70c2e10c9c03872909ed4 |
| Empty portfolios show zero | #912 | 528f733101bbfd188a6500ed8af9ddf7a1e7fcfa |
| Catalogue typo recovery | #904 | f87f5ee11903d3fb2006b6956f34337f633b36c8 |
| Home refresh | #889 | dd0b504f5f6e874fe34723e1802a56180d728812 |
| Search past 200 cards | #896 | df04b4bfccd404f100fd4b4c6c3d25be4f2dfaa2 |
| Sort the loaded search result | #915 | 8acedf92d3d2616533ebf652067b01fd6e6237e1 |
| Catalogue defaults and release date | #878 | 18f462fe9a869d5cbf7f3b72035969bb65043e8e |
| Recent scans in release builds | #900 | 8489fc1c0967066c995d820f64640859eb0b87e4 |
| Explorer series and filters | #884 | 1a8d1937599a3116d03ef83d1d7df77782120104 |
| One Piece Promos block | #917 | dcf9291f1f239c867d0caf8771fafe7e947a8935 |
| Sealed Explorer controls | #902 | 34b19650d90819ec9c5ebc2ff20fc2eef195cc1d |
| Pokébox facet values | #916 | 61a657da8def54b2d33a841645ce02b6321e1149 |
| Compact card navigation and exact duos | #881 | 2e6eb50cfe194e8b79d4f8524f66b0e41a9a8ad1 |
| Alert and binder sheets | #894 | 01a7c2d1c0bc44ba6a13d633938be24a67f8452c |
| Genuine observation dates | #898 | 295d2e83d1d2c87b62f5a543c608b330ce123e60 |
| Card detail refresh | #914 | b6480f2264c758673892af2ea525ff9b95dec3e8 |
| Sealed detail and additions | #895 | 4ee0ee6c14cf65f628f89c7e115328a392c47cef |
| Scan capture and bulk intro | #899 | 6b58619685d7d5063bd5540b5dcdf82080e74bef |
| Bulk review controls | #903 | 6debe5858e3f2f6a5e7b23088a23788ebb6d3eea |
| Binder removal and character labels | #880 | b6787921097e1ed88d8061acb0cfc9e0a4edebc4 |
| Purchase costs on holdings | #888 | 93dd6156a3306090dd4d38968236aa40489be1c0 |
| Missing purchase prices | #901 | 0879ceed929ba6da2167d8d49d8dee63d67f2e30 |
| Species browsing | #906 | 238d0eb771225e6afddda16f87e57c193f714c81 |
| Species and character lists past 200 | #913 | f8addc764049cc863f0ae7d5719ed54b74167d32 |
| Account forms and password recovery | #882 | adef99989a935dbfdc2e907a92e89e2c08dcc0ba |
| Configured Google and Apple sign-in | #910 | aa2c02405829359b8e63c28c219d0ecd145986ca |
Backend staging
| Pull request | Staging SHA | What landed |
|---|---|---|
| #599 | 8c57bcdb | Purchase costs on holdings (setPurchasePrice) |
| #605 | 5c4a4d34 | Project sealed Tin as Pokébox |
| #606 | d1a439c0 | One Piece sealed order before pagination |
| #591 | 045319d3 | Reject duplicate explicit registration |
| #595 | 3f0f46e9 | Accept ten-character beta passwords |
Backend #603 was closed unmerged. #605 and #606 supersede it. None of these backend pulls is deployed.
Ready for review, not merged
Backend OAuth #602 (feature/oauth-beta-868, Google and Apple browser OAuth) and #600 (docs/oauth-beta-configuration) are ready for review. They are not merged and not deployed. Mobile #910 only starts sign-in when the providers are configured.
Activation still requires all of the following:
- Google and Apple credentials. There is no Apple developer licence yet, so Apple sign-in cannot be completed live.
- A separate nginx proxy change. Nginx only forwards
/api/. The public callbacks/auth/oauth/*/callbackneed their own routing. - Review of migration
0051_oauth.sqlbefore any production run. - A device test.
Still open
GET /cardsstill needs server-sidesort=price|release_dateanddirapplied beforelimitandoffsetfor searches with more than 800 results. App #915 sorts the loaded result only.fr-OP-PROMOSis missing fromGET /sets?lang=fr.GET /sets/fr-OP-PROMOS?lang=frreturns 404.block_logo.idshould beonepiece-promo. App #917 shows the Promos block the client can already see.- Series logos are still missing for
smp,xyp,bwp,hgssp,dpp,base1andbasep(English TCGdex logos exist; a product decision is still required) and for30th,mepandsvp(no logo anywhere). - Deferred to Georgic: the Japanese flag beside the French flag, and the catalogue language selector. Neither is shown until those languages exist.
Behaviour that shipped
- Selecting a tab opens its root. Back inside a journey is unchanged.
- The signup code field uses a line height that matches its type size. Password recovery confirms success and returns to login instead of adopting the session.
- Recent scans keep the minimal local card reference Home needs. Diagnostic photo archiving and uploaded scan history stay off.
- Species links use the Pokémon name without a mechanic suffix and keep an exact duo together, rather than every card of either partner.
- An observation date is shown only when the source recorded one. A request time, a computation time or a single sale date is not relabeled as that date.
- Binder deletion removes the binder and keeps the collection.
- Bulk capture does not add a session strip. Home still has recent scans.
- Sealed additions use the existing
sealedProductIdcontract. Unknown catalogue references stay rejected. Purchase prices need backend #599, which is merged, and do not require a schema change.
Local evidence
Before merge, a disposable integration branch combined app #870, #878, #880, #881, #882, #884, #888, #889, #894, #895, #896, #898, #899, #900, #901, #902, #903 and #904. That tree passed lint, TypeScript and 3,157 Jest tests (11 skipped). It was not pushed. It does not cover #906, #907, #910, #912, #913, #914, #915, #916 or #917.
Backend #599 passed 41 focused parser and SQL tests, including empty or unknown purchase costs, owner isolation and imported sealed identifiers, and a full API run of 1,609 tests with 22 skipped. Those figures are local. They are not GitHub Actions results.
No source PDF, account credential or private server configuration is stored in this repository.