• Joined on 2026-03-17
marcel commented on issue marcel/mealprep#21 2026-04-03 09:27:04 +02:00
Frontend: A4 — Join household (accept invite)

🔐 Sable — Security Engineer

A4 is the invite acceptance flow, and it's a concentrated security risk surface. This is exactly the kind of screen that needs a threat model before a single line…

marcel commented on issue marcel/mealprep#25 2026-04-03 09:27:02 +02:00
Frontend: B4 — Cook mode (full-screen step-by-step)

👨‍💻 Kai — Frontend Engineer

B4 is unusual — it's the simplest layout in the app (single column, identical across breakpoints) but has the most critical non-visual requirements: wake lock,…

marcel commented on issue marcel/mealprep#12 2026-04-03 09:27:01 +02:00
Shopping list addItem does not validate ingredient belongs to household

🎨 Atlas — UI/UX Designer

Backend fix, but I want to flag the user-facing consequence of the 404 response once the fix is in.

The scenario from a user's perspective In normal usage,…

marcel commented on issue marcel/mealprep#29 2026-04-03 09:26:57 +02:00
Frontend: J4 — Swap flow (action sheet + quick suggestions)

👨‍💻 Kai — Frontend Engineer

The ≤3-tap constraint and the two completely different interaction patterns per breakpoint (action sheet on mobile, inline panel on desktop) make this a fun but…

marcel commented on issue marcel/mealprep#4 2026-04-03 09:26:55 +02:00
Sessions not invalidated on password/role change or deactivation

🔒 Sable — Security Engineer

This is one of the highest-impact issues in the backlog. Let me add precision to the threat model and fix requirements.

**Why both attack scenarios are…

marcel commented on issue marcel/mealprep#8 2026-04-03 09:26:53 +02:00
Login error responses enable account enumeration via HTTP status codes

🔧 Backend Engineer — Spring Boot / PostgreSQL Specialist

High priority and a clean fix — but a few implementation details worth getting right:

The right exception to throw:

  • Both…
marcel commented on issue marcel/mealprep#12 2026-04-03 09:26:52 +02:00
Shopping list addItem does not validate ingredient belongs to household

🔒 Sable — Security Engineer

This is a confirmed IDOR (Insecure Direct Object Reference) — OWASP Top 10 #1 (Broken Access Control). The attack scenario in the issue is realistic and…

marcel commented on issue marcel/mealprep#21 2026-04-03 09:26:50 +02:00
Frontend: A4 — Join household (accept invite)

🧪 QA Engineer — Join Household (A4)

The invite flow is a high-stakes path — it's the only way a new member enters the system. I want comprehensive coverage before this ships.

**Happy…

marcel commented on issue marcel/mealprep#4 2026-04-03 09:26:43 +02:00
Sessions not invalidated on password/role change or deactivation

🧪 QA Engineer

This is one of the harder scenarios to test because it requires multi-session state. Here's the test plan.

Unit tests:

  • These are limited here — the interesting behavior…
marcel commented on issue marcel/mealprep#21 2026-04-03 09:26:41 +02:00
Frontend: A4 — Join household (accept invite)

🔧 Backend Engineer — Join Household (A4)

The accept-invite flow touches three tables in one transaction: user_account, household_member, and household_invite. Let me walk through the…

marcel commented on issue marcel/mealprep#12 2026-04-03 09:26:40 +02:00
Shopping list addItem does not validate ingredient belongs to household

🧪 QA Engineer

This is a textbook IDOR that needs a direct regression test. The fix is small but the test is what guarantees it never regresses.

Tests I'd add for this fix

Happy path…

marcel commented on issue marcel/mealprep#8 2026-04-03 09:26:39 +02:00
Login error responses enable account enumeration via HTTP status codes

👨‍💻 Kai — Frontend Engineer

The fix happens entirely in AuthService.java, but the status code change to 401 will touch our SvelteKit error handling — here's what I want to make sure we…

marcel commented on issue marcel/mealprep#26 2026-04-03 09:26:35 +02:00
Frontend: C1 — Weekly planner (home screen)

🎨 Atlas — UI/UX Designer

C1 is the core value screen — the one users land on every day. The spec exists and is the authoritative reference, but I want to flag a few design concerns before…

marcel commented on issue marcel/mealprep#4 2026-04-03 09:26:32 +02:00
Sessions not invalidated on password/role change or deactivation

🏗️ Backend Engineer — Spring Boot / PostgreSQL Specialist

This is the right fix and it's non-trivial to implement correctly. Let me lay out the options clearly.

The core problem: Spring…

marcel commented on issue marcel/mealprep#12 2026-04-03 09:26:28 +02:00
Shopping list addItem does not validate ingredient belongs to household

🛠️ Backend Engineer

Classic IDOR — simple to fix, important to catch. The fix itself is one line, but there are a few things to think through carefully.

The fix Change:

ingredien
marcel commented on issue marcel/mealprep#21 2026-04-03 09:26:27 +02:00
Frontend: A4 — Join household (accept invite)

👨‍💻 Kai — Frontend Engineer

A4 is a pre-auth page, which means a different layout shell than anything else in the app — no nav, no session context, fully public route. Let me think through…

marcel commented on issue marcel/mealprep#9 2026-04-03 09:26:24 +02:00
Admin audit log does not capture IP addresses

🎨 Atlas — UI/UX Designer

This is a backend data capture fix with no immediate UI impact, but it's worth thinking about how the audit log data will eventually be presented — because that…

marcel commented on issue marcel/mealprep#4 2026-04-03 09:26:20 +02:00
Sessions not invalidated on password/role change or deactivation

👨‍💻 Kai — Frontend Engineer

This is a backend concern, but it surfaces meaningfully in the frontend experience — here's what I need to handle.

**Frontend implications of session…

marcel commented on issue marcel/mealprep#12 2026-04-03 09:26:19 +02:00
Shopping list addItem does not validate ingredient belongs to household

👨‍💻 Kai — Frontend Engineer

This is a pure backend bug, but I want to flag the frontend surface that interacts with it.

How this manifests in the UI

  • The shopping list (D1) likely has…
marcel commented on issue marcel/mealprep#26 2026-04-03 09:26:12 +02:00
Frontend: C1 — Weekly planner (home screen)

🔒 Sable — Security Engineer

C1 is the app's main surface and it touches multi-tenancy, role access, and real-time data. Here's my threat model for this screen.

**Broken access control…