Block a user
feat(admin): assign groups when creating an invite link
👨💻 Felix Brandt — Senior Fullstack Developer
Observations
- Backend is fully implemented (
CreateInviteRequest.groupIds,InviteService.redeemInvite()→userService.createUser()…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
Failure mode: explore possible Enums, so we get good errors we can act upon UX: show a counter
feat(admin): assign groups when creating an invite link
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
🗳️ Decision Queue — Action Required
2 decisions need your input before implementation starts.
Backend Design
- Failure mode enumeration. The issue lists `IMPORT_FAILED_NO_SPREADSH…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
⚙️ Tobias Wendt — DevOps & Platform Engineer
Observations
- No infrastructure changes required. This is a pure service-layer + frontend change. No new Docker services, no config…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
🎨 Leonie Voss — UX Designer & Accessibility Strategist
Since this issue originates from my review comment on #526, let me be specific about what I found and what the fixes should look…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
📋 Elicit — Requirements Engineer
Observations
- The issue is well above the Definition of Ready bar. User story explicit, three discrete fixes scoped and independently testable, GWT…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
🧪 Sara Holt — QA Engineer & Test Automation Specialist
Observations
- The checklist is solid. vitest-browser for the spinner, axe-playwright for a11y, visual regression at three…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
🔒 Nora "NullX" Steiner — Application Security Engineer
Observations
- Both admin import endpoints are correctly secured.
AdminController.javacarries a class-level `@RequirePermiss…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
🏛️ Markus Keller — Application Architect
Observations
- Domain boundary violation in the current design. The
message: Stringfield onImportStatus(MassImportService.java:55)…
ui(admin/system): improve mass-import status card (loading state, i18n, font size)
👨💻 Felix Brandt — Senior Fullstack Developer
Observations
- The i18n is 75% done already.
messages/{de,en,es}.jsonalready hasadmin_system_import_status_idle, `admin_system_im…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
🎨 Leonie Voss — UX Designer & Accessibility Strategist
No UX or accessibility concerns from this angle.
This is a pure test infrastructure fix. The "discard changes" flow itself — showing…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
🔐 Nora "NullX" Steiner — Application Security Engineer
No security concerns from this angle.
The affected test exercises the unsaved-changes guard — a pure UX flow that calls goto() with…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
🏗️ Markus Keller — Application Architect
Observations
- No architectural concerns. This issue is entirely within the test layer — a single test assertion is in the wrong execution…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
🛠️ Tobias Wendt — DevOps & Platform Engineer
Observations
- Flaky tests are CI debt. A test that passes 80–90% of the time trains the team to re-run pipelines rather than investigate…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
🧪 Sara Holt — QA Engineer & Test Automation Specialist
Observations
- This is the classic "await click, sync assert" anti-pattern in browser-mode testing. The problem is structural:…
bug(test): flaky browser-mode test — admin edit-user unsaved-changes guard
👨💻 Felix Brandt — Senior Fullstack Developer
Observations
- Root cause confirmed. Line 256 (
await page.getByRole('button', { name: /verwerfen/i }).click()) awaits the browser's…
marcel
deleted branch ci/deduplicate-push-trigger from marcel/familienarchiv
2026-05-14 11:12:27 +02:00
ci: restrict push trigger to main — eliminate duplicate CI runs