Repository navigation
feat(app): consolidate 0.4.2 Effect rewrite - #239
MagicTheDev wants to merge 38 commits into
Conversation
Co-authored-by: Codex
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Added in the latest push
Please verify on Android
Validated locally with TypeScript, lint, localization checks, and 6 focused dashboard tests. Also exercised on a physical Samsung Android device. |
CI follow-upThe latest push fixed the React Compiler lint error in the War refresh retry callback. Current CI status:
The remaining failure is unrelated to the Home card reorder changes: legends-root.test.tsx has a date-dependent assertion that expects 2026-09-16T05:10:00.000Z, while the current-date calculation now returns 2026-09-21T05:10:00.000Z. I have left that unrelated Legends test unchanged. |



Summary
expo-web-browserconfig pluginAPI contract provenance
The Expo client is pinned to the committed RC25 package pair produced from ClashKing API commit
a7089c4a6315d4f00fea00d85ed9c389ac91dbbb:@clashking/api-client:0e33a0d60cab8c7ff9c13e22aabed2ce4d9a61673f914fb763725bd028a9df85@clashking/api-contracts:7e443f06d4810501e8a5cb6083e207988e1d64456f9df955f4140185477e277ePersonal bases use the final item-level
kind,saved,savedAt, anddownloadedAtcontract. Saving or relabeling uses the strictPUTbody, unsaving preserves lifetime download history, and cleanup uses the fixed older-than-90-days endpoint before refreshing authoritative state.Legend selected-day summaries use the exact
POST /v2/legends/dayscontract. Opponent enrichment batches the selected player and unique nonautomatic opponents through/v2/legends/ranks, then batches opponent day summaries through/v2/legends/days; automatic rows are deliberately excluded.Experience details
legends_by_seasonand ranking data, enriches each optional section independently, avoids a player refetch when a baseline is present, and keeps the previous content visible during day navigation.LegendDaysEndpointfields for attacks, players, star counts, average duration/destruction, heroes, pets, equipment, and pet assignments. It supportslegend_i,top_1000, andtop_200cohorts without changing the retained Army browsing experience.Validation
npm run typechecknpm run lint(0 errors; 7 pre-existing warnings)npx expo-doctor(21/21 checks)npm run web:export(28 static routes)git diff --checkNo visual tests, simulator launch, merge, deployment, production change, App Store release, or OTA publication was performed. Direct-LAN Metro plus installation and launch on the exact saved iPhone
Mattare local delivery-verification steps and are tracked separately from production release status.Supersedes #237 and #238.