Commit Graph

220 Commits

Author SHA1 Message Date
Sven (AAMOS AI) cd6a9eb556 feat(mobile): redigera kost/allergier/religion i profilen när som helst (MIKRO 63)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 21:17:55 +07:00
Sven (AAMOS AI) f102288676 feat(mobile): välj religiös kosthållning (halal m.fl.) i onboarding – filtrerar fläsk (MIKRO 62)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 20:53:35 +07:00
Sven (AAMOS AI) e6216bf735 fix(reco): marknadsstyrda högtider + visningsnamn med å/ä/ö istället för slugs (MIKRO 61)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 20:46:22 +07:00
Sven (AAMOS AI) 33c72ddacd fix(reco): fria sökord + mjuk-filter så råvaru-sökning (kyckling) ger rätt recept (MIKRO 60)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 20:28:56 +07:00
Sven (AAMOS AI) 83dd0bb215 feat(entitlements): delad hushålls-pott – medlemmar delar ägarens plan & skanningskvot (MIKRO 59)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 20:12:37 +07:00
Sven (AAMOS AI) 9bd827a90d fix(household): join tar bort tomt auto-sol-hushåll så delat hushåll blir aktivt (MIKRO 58)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 20:00:49 +07:00
Sven (AAMOS AI) 1e6407d9e6 feat(mobile): slutför-profil-prompt samlar kost & allergier progressivt (MIKRO 57)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:59:39 +07:00
Sven (AAMOS AI) 9390cc0e66 fix(mobile): receptdetalj på användarens språk (MIKRO 56)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 18:56:42 +07:00
Sven (AAMOS AI) 1f67e1532f polish(mobile): cooking-avbryt, scan-review useEffect, stack-titlar, död kod (MIKRO 55)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:45:36 +07:00
Sven (AAMOS AI) d95c67d979 fix(mobile): plan/hushåll/profil felhantering + streckkod pausar kamera (MIKRO 54)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:38:15 +07:00
Sven (AAMOS AI) 13689d5f8e fix(mobile): Nya förslag bläddrar bland recept + laddindikator (MIKRO 53)
CI / Typecheck, test & build (push) Failing after 44s
2026-08-14 18:31:41 +07:00
Sven (AAMOS AI) 491daace86 fix(mobile): onError på 15 mutationer – inga tysta miss (MIKRO 52)
CI / Typecheck, test & build (push) Successful in 1m37s
2026-08-14 18:03:36 +07:00
Sven (AAMOS AI) ea1f9a113a fix(scan): timeout i uploadImage + rätt API_BASE_URL så mock-upload når telefonen (MIKRO 51)
CI / Typecheck, test & build (push) Successful in 1m36s
2026-08-14 17:49:40 +07:00
Sven (AAMOS AI) bea9f54ed5 fix(mobile): visa fel när samtyckestoggeln fallerar (tyst miss förut)
CI / Typecheck, test & build (push) Successful in 1m36s
2026-08-14 05:46:28 +07:00
Sven (AAMOS AI) f5aeb28a24 fix(mobile): tydlig bakåt-etikett (Tillbaka) istället för (tabs) i navigationen
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 05:38:29 +07:00
Sven (AAMOS AI) 72b1d9d5a3 fix(mobile): samtyckesgrinden hämtar om status efter accept (fastnade annars)
CI / Typecheck, test & build (push) Successful in 1m35s
2026-08-14 05:29:01 +07:00
Sven (AAMOS AI) 815b400eea feat(mobile): ny slogan på inloggningen – Mindre svinn, mindre stress, mer kvar i plånboken
CI / Typecheck, test & build (push) Successful in 1m39s
2026-08-14 04:11:29 +07:00
Sven (AAMOS AI) 5f9526cb07 fix(mobile): keyboard-avoidance i Screen så formulär inte göms bakom tangentbordet (FAS 35)
CI / Typecheck, test & build (push) Successful in 1m40s
2026-08-14 04:01:44 +07:00
Sven (AAMOS AI) e3d50707e8 feat(mobile): veckoplan – skapa inköpslista från planen (stänger plan→laga→handla-loopen)
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 03:12:49 +07:00
Sven (AAMOS AI) 4d9c69d0ce feat(mobile): veckoplan – markera lagad/hoppa över (smart omplanering) + aktivera plan
CI / Typecheck, test & build (push) Successful in 1m48s
2026-08-14 02:48:18 +07:00
Sven (AAMOS AI) c5f8d63964 feat(mobile): veckoplan – hämta plan, rendera dagens måltider + generera-knapp med polling
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 02:38:59 +07:00
Sven (AAMOS AI) ebc3b75cea i18n(mobile): plan.portions i 12 locales
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 02:01:04 +07:00
Sven (AAMOS AI) e6c5d3bb08 feat(mobile): veckoplan-skärm scaffold (månadsheader + veckostrip + dagsvy) + flik
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 01:47:33 +07:00
Sven (AAMOS AI) 435af14bc4 i18n(mobile): nycklar för veckoplaneraren (tabs.plan, plan.today, plan.emptyDay) i 12 locales
CI / Typecheck, test & build (push) Successful in 1m35s
2026-08-14 01:30:26 +07:00
Sven (AAMOS AI) 78ddf237f3 ci: ta bort icke-fungerande pnpm-cache (ETIMEDOUT) – ~9 min snabbare körning
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 01:00:23 +07:00
Sven (AAMOS AI) 0d1cc727ae fix(gdpr): radera user_terms_consents vid kontoradering + klassa i residual-testet
CI / Typecheck, test & build (push) Successful in 11m6s
2026-08-14 00:45:42 +07:00
Sven (AAMOS AI) e96213e907 ci(turbo): släpp fram REDIS_URL till test-tasken så worker-testet når Redis
CI / Typecheck, test & build (push) Failing after 6m12s
2026-08-14 00:16:48 +07:00
Sven (AAMOS AI) 0145c50916 test(ai-contracts): budgetspärr blockerar inte längre – uppdatera gemini-testet (MIKRO 12)
CI / Typecheck, test & build (push) Failing after 6m10s
2026-08-14 00:00:55 +07:00
Sven (AAMOS AI) 27291936ba ci: testdatabas app_test så seed-spärren släpper igenom
CI / Typecheck, test & build (push) Failing after 5m51s
2026-08-13 23:39:50 +07:00
Sven (AAMOS AI) 4ad4aca0aa ci: sätt TEST_DATABASE_URL så db:test-setup kan köra
CI / Typecheck, test & build (push) Failing after 5m46s
2026-08-13 22:56:35 +07:00
Sven (AAMOS AI) d65a420fe8 ci: återställ orörd pnpm-lock.yaml + .prettierignore (skydda genererade filer)
CI / Typecheck, test & build (push) Failing after 5m44s
2026-08-13 21:17:46 +07:00
Sven (AAMOS AI) a38cc49c99 ci: låt pnpm-version styras av package.json (fixar action-setup-konflikt)
CI / Typecheck, test & build (push) Failing after 5m51s
2026-08-13 19:19:43 +07:00
Sven (AAMOS AI) 73d76ad384 ci: service-containrar via namn, ta bort host-port-krock
CI / Typecheck, test & build (push) Failing after 13s
2026-08-13 18:48:29 +07:00
Sven (AAMOS AI) c32a7e33c7 ci: trigga på master + formatfix inför Gitea Actions
CI / Typecheck, test & build (push) Failing after 2s
2026-08-13 17:25:14 +07:00
Sven (AAMOS AI) 61d60931ad feat(mobile): tallriksfoto → meal-review + i18n (otestad, väntar Expo-test) 2026-08-13 07:04:10 +07:00
Sven (AAMOS AI) f7227c40cf Sluta spåra secrets/ i git (materialiseras från SSM vid deploy) 2026-08-13 05:16:00 +07:00
Sven (AAMOS AI) f917d0c866 Gemini global budget: larm istället för block (blockera aldrig användarskanning) 2026-08-13 04:32:46 +07:00
Sven (AAMOS AI) ceaa52a097 feat(mobile): consent-texter pa 11 sprak 2026-08-13 02:31:25 +07:00
Sven (AAMOS AI) dd715c3f61 feat(mobile): consent-gate i auth-flödet 2026-08-13 02:17:52 +07:00
Sven (AAMOS AI) e88bbb50a6 feat(mobile): ConsentScreen + consent api 2026-08-13 02:14:03 +07:00
Sven (AAMOS AI) 61c3193f17 feat(consent): user_terms_consents + /v1/me/consent 2026-08-13 02:06:44 +07:00
Sven (AAMOS AI) 1df3ca1709 fix(deploy): exkludera prod .env/secrets/certs från rsync 2026-08-12 23:17:41 +07:00
Sven (AAMOS AI) 10ba64e4ba fix(ops): gemini-block i summary-byggaren, inte routen 2026-08-12 22:41:11 +07:00
Sven (AAMOS AI) 7dc7cd1403 docs(handoff): SSH-prod config noterad 2026-08-12 21:27:37 +07:00
Sven (AAMOS AI) 1a596d2674 feat(ops): fyll gemini-blocket från gemini_usage 2026-08-12 21:13:39 +07:00
Sven (AAMOS AI) 602405d56d feat(ops): logga gemini_usage per scan (best-effort) 2026-08-12 21:08:03 +07:00
Sven (AAMOS AI) f11cbce114 feat(ai): surfacea Gemini token-usage 2026-08-12 20:59:49 +07:00
Sven (AAMOS AI) 14a5243bb2 feat(db): gemini_usage-tabell för token-telemetri 2026-08-12 20:51:50 +07:00
Sven (AAMOS AI) 3fb4374a99 feat(ops): gemini-block i summary 2026-08-12 20:48:06 +07:00
Sven (AAMOS AI) bf04a12b89 fix(gemini): read binary response body as Buffer instead of UTF-8 string
customNodeFetch previously used res.setEncoding('utf8') and concatenated
chunks into a string. This corrupted JPEG/PNG binary data with UTF-8
replacement characters, causing Gemini to return:
  400 Unable to process input image.

Now chunks are collected as Buffers and concatenated, preserving binary
integrity when images are fetched from presigned S3 URLs before being
sent to Gemini.
2026-08-12 20:30:24 +07:00