faeb7521ae
Build Kvitt images / build (push) Failing after 2h19m45s
SPEC §15.6 W-21 to W-23, §9.12 CP-1 to CP-14, FR-22 (D-174, D-180): - api/cards.ts: the card snapshot read through E-40 (pulled from 0, then from its cursor on focus, every 60 s and after every card write; cursor_ahead restarts), E-44 sent at once; shared because cards, expenses, accounts and settings read it. - features/cards: W-21 Kortköp (header with artwork, Uppdatera via E-42, filters with counts, day groups, Preliminär/Insättning/Utländsk valuta, the CP-10 match chip, the purchase as a side panel from 720 px and a dialog below with every S-23 sheet action, expiring/expired/fetch-failed/first-fetch/empty states, ?attempt= polling E-38 every 2 s, ?account= as S-27); W-22 catalogue and connect step (history 7/30/90/180, E-37 with client web, the bank's https page in the same tab); W-23 the connection (E-41 shorter history, renew, E-43 with erase_handled). The committed SJ Prio artwork mapped from image key sj_prio_mastercard, the D-173 drawn card for unknown keys. - lib/domain/matchCardPurchase (§14.5.8) with its cases; vectors.test.ts runs K1's match_card_purchase.json against it (moved from NOT_PORTED to PORTED). - W-5 ?cardPurchase= prefill per CP-9 and the link on save; W-6 card line with Ta bort koppling; W-3 "Från kortköp" while connected; W-13 "Anslut kort" row. - Sidebar and bottom bar: Kortköp after Översikt (D-172); icons credit_card, link_off, visibility_off added to the generated table; /cards in the dev proxy. - test/cards.ts fixtures and the fake server's card endpoints. Strings: the §13.3 keys from K2's docs/ux/strings.csv (dictionaries regenerated), plus K2's cards_foreign_amount (the foreign amount) and settings_cards_expired (W-13 row of an ended connection); web-only texts as web_cards_ and web_expenses_ keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B