-
9718e27029
feat: registration form field display_width and option descriptions
bert.hausmans
2026-04-16 07:46:36 +02:00
-
c4a23b6763
feat: passwordless registration — defer account creation to approval
bert.hausmans
2026-04-16 03:27:47 +02:00
-
0221e7f6d3
fix: move impersonation banner inside layout content flow
bert.hausmans
2026-04-16 03:17:13 +02:00
-
dc886fed46
fix: impersonation banner still overlapping navbar
bert.hausmans
2026-04-16 03:14:01 +02:00
-
89645eab60
fix: impersonation banner overlapping sidebar and navbar
bert.hausmans
2026-04-16 02:58:27 +02:00
-
fcab30e5e8
fix: portal shows stale events from localStorage after user_id unlinked
bert.hausmans
2026-04-16 02:54:36 +02:00
-
67ce1e9d9d
fix: impersonation UX — banner contrast, route blocking, nav filtering
bert.hausmans
2026-04-16 02:51:50 +02:00
-
4df668b5b8
feat: replace token-based impersonation with enterprise-grade header-based system
bert.hausmans
2026-04-16 02:42:53 +02:00
-
47cb6b83d4
refactor: organisation settings — vertical sidebar layout with grouped sections
bert.hausmans
2026-04-16 02:10:50 +02:00
-
50e2c31dd9
fix: MFA verify succeeds but user stuck on challenge screen
bert.hausmans
2026-04-16 01:49:01 +02:00
-
f1a8591d17
fix: critical MFA bypass — old auth tokens survive MFA challenge
bert.hausmans
2026-04-15 23:49:51 +02:00
-
63a13c0ce9
fix: setupTotp() clobbering mfa_confirmed_at breaks login MFA check
bert.hausmans
2026-04-15 23:02:37 +02:00
-
a9c84ee0a6
refactor: password change form layout — current password full width
bert.hausmans
2026-04-15 22:54:50 +02:00
-
554ed68e8b
refactor: remove redundant cancel button from password change form
bert.hausmans
2026-04-15 22:53:22 +02:00
-
0cdee1382e
refactor: improve MFA section visual hierarchy in SecurityTab
bert.hausmans
2026-04-15 22:51:54 +02:00
-
d5fb15e5fe
feat: set preferred MFA method from account settings
bert.hausmans
2026-04-15 22:47:34 +02:00
-
a77986334c
fix: remove duplicate header on organisation crowd-types page
bert.hausmans
2026-04-15 22:34:50 +02:00
-
34cc57ac51
fix: remove duplicate header on organisation tags page
bert.hausmans
2026-04-15 22:34:36 +02:00
-
49f7944e34
feat: show active organisation name as sidebar section title
bert.hausmans
2026-04-15 22:33:32 +02:00
-
9f19c9ed37
feat: move organisation members to sidebar, drop tabs on org page
bert.hausmans
2026-04-15 22:31:21 +02:00
-
c62f377668
fix: MFA setup completion not updating UI state
bert.hausmans
2026-04-15 22:30:58 +02:00
-
4e6d5eb4aa
feat: move tags and crowd types to sidebar from org settings tabs
bert.hausmans
2026-04-15 22:30:12 +02:00
-
79b7fe0b42
feat: account settings with Vuexy tab pattern and MFA banner fix
bert.hausmans
2026-04-15 22:18:16 +02:00
-
cd2c775692
fix: eliminate all TypeScript
any usage across Vue components
bert.hausmans
2026-04-15 21:54:01 +02:00
-
0be2956ea4
feat: MFA frontend with auth page restyling, challenge screen, and setup wizard
bert.hausmans
2026-04-15 21:32:17 +02:00
-
a9e8e9bb62
docs: enforce correct Vuexy reference path in CLAUDE.md and .cursorrules
bert.hausmans
2026-04-15 21:01:45 +02:00
-
948687f27e
feat: enterprise MFA with TOTP, email codes, backup codes, and trusted devices
bert.hausmans
2026-04-15 20:45:55 +02:00
-
df68aa8aef
feat: email infrastructure frontend — settings, templates, and log tabs
bert.hausmans
2026-04-15 20:28:38 +02:00
-
65978104d8
feat: complete email infrastructure with queue, templates, logging, and API
bert.hausmans
2026-04-15 20:12:21 +02:00
-
c64875b6ef
feat: align Vuexy primary with demo teal (rgb 13,147,148)
bert.hausmans
2026-04-15 19:43:14 +02:00
-
15be8a09c6
fix: remove duplicate 'Powered by Crewli' footer on registration pages
bert.hausmans
2026-04-15 08:52:38 +02:00
-
28727f246b
chore: remove admin SPA and update to two-app production setup
bert.hausmans
2026-04-15 08:44:10 +02:00
-
945e22f322
docs: remove admin SPA references and update production URLs
bert.hausmans
2026-04-15 08:21:44 +02:00
-
2933d957a6
feat: add create organisation button and dialog on platform page
bert.hausmans
2026-04-15 01:27:40 +02:00
-
66e4167c03
refactor: identical VDataTable for members on both organisation pages
bert.hausmans
2026-04-15 01:22:01 +02:00
-
ca275723db
fix: use consistent text-body-1 text-disabled for timestamps
bert.hausmans
2026-04-15 01:16:29 +02:00
-
c7dd6aa59c
fix: slug in parentheses, capitalize status, lighter timestamps, rename button
bert.hausmans
2026-04-15 01:15:16 +02:00
-
1629b514e2
fix: unify date formatting and add missing updated_at timestamp
bert.hausmans
2026-04-15 01:13:22 +02:00
-
1e5aa3c06b
fix: align organisation page header layout with platform design
bert.hausmans
2026-04-15 01:10:25 +02:00
-
c1bacb5ee9
refactor: show organisation slug after name in header
bert.hausmans
2026-04-15 01:08:31 +02:00
-
b69d7c9488
Revert "refactor: show event slug after name in header"
bert.hausmans
2026-04-15 01:07:17 +02:00
-
13ea2304b3
refactor: show event slug after name in header
bert.hausmans
2026-04-15 01:06:05 +02:00
-
9923dab0f8
refactor: move KPI cards into Algemeen tab, Danger Zone into own tab
bert.hausmans
2026-04-15 01:04:42 +02:00
-
a8a2bc92d1
feat: refactor organisation pages with tabs, members tab, and danger zone
bert.hausmans
2026-04-15 00:59:45 +02:00
-
f2614f2b48
feat: platform admin member management — invite, remove, role update
bert.hausmans
2026-04-15 00:37:29 +02:00
-
b6ef6ec383
fix: login response missing app_roles — platform nav not showing
bert.hausmans
2026-04-15 00:18:19 +02:00
-
9e7f28420c
feat: platform admin frontend — pages, composables, navigation, impersonation
bert.hausmans
2026-04-14 23:49:36 +02:00
-
07ba791405
docs: complete event statuses documentation page
bert.hausmans
2026-04-14 23:44:13 +02:00
-
ddf26dad33
feat: platform admin backend — controllers, services, routes, tests
bert.hausmans
2026-04-14 23:33:16 +02:00
-
ec31646a93
fix: shift dialog info alert layout and full-width toggle
bert.hausmans
2026-04-14 22:58:33 +02:00
-
103d57c979
refactor: polish shift dialog with Vuexy-style alert and sticky footer
bert.hausmans
2026-04-14 22:54:47 +02:00
-
8afee801f8
feat: make shift dialog time-slot help collapsible
bert.hausmans
2026-04-14 22:47:20 +02:00
-
1c3ce547fa
refactor: polish shift create dialog layout and hierarchy
bert.hausmans
2026-04-14 22:45:12 +02:00
-
1c6aed71fe
fix: replace InfoTooltip v-tooltip with v-menu popover card
bert.hausmans
2026-04-14 22:41:01 +02:00
-
cc7cbbf29d
fix: use inline style for time slot dimming in teleported dropdown
bert.hausmans
2026-04-14 22:37:48 +02:00
-
948965e664
fix: time slot dropdown group headers and dimming via boundary detection
bert.hausmans
2026-04-14 22:31:32 +02:00
-
5bd028f408
refactor(app): event header status menu and volunteer share dialog
bert.hausmans
2026-04-14 22:19:09 +02:00
-
7bc0f1a0c7
feat: fix time slot hierarchy — seeder, API include_children, frontend dropdown, navigation
bert.hausmans
2026-04-14 22:07:37 +02:00
-
acb7fb2c3a
fix: show event_type_label on events list cards
bert.hausmans
2026-04-14 21:51:08 +02:00
-
c4712cea77
feat: edit event type label in dialog, drop non-functional status field
bert.hausmans
2026-04-14 21:48:07 +02:00
-
eec222d423
feat: toon leeftijd naast geboortedatum in persoon-detailpanel
bert.hausmans
2026-04-14 21:41:08 +02:00
-
cb16cf9091
fix: cross_event section shifts use festival-level time slots in seeder
bert.hausmans
2026-04-14 21:02:53 +02:00
-
cf02500453
fix: shift edit time slot dropdown loading state and test coverage
bert.hausmans
2026-04-14 20:46:36 +02:00
-
ea159a34fe
docs: add development prompts and vibe coding checklist
bert.hausmans
2026-04-14 19:04:19 +02:00
-
11e379a5b9
feat: add useShiftDetailStore for shift detail panel state
bert.hausmans
2026-04-14 19:04:17 +02:00
-
185637fa50
feat: add EmailBrandingTab component for organisation email branding
bert.hausmans
2026-04-14 19:04:13 +02:00
-
ae7ba63822
feat: add PersonStatus enum and PortalMeRequest form request
bert.hausmans
2026-04-14 19:04:10 +02:00
-
312663fb02
chore: update admin typed-router definitions
bert.hausmans
2026-04-14 19:04:06 +02:00
-
f1b92531c4
chore: update .gitignore and remove obsolete corporate identity assets
bert.hausmans
2026-04-14 19:04:03 +02:00
-
3e93048461
docs: update BACKLOG.md with current project status
bert.hausmans
2026-04-14 18:50:55 +02:00
-
a29fa32ac6
feat: add "Lid toevoegen als deelnemer" shortcut for org members
bert.hausmans
2026-04-14 18:38:53 +02:00
-
624756e505
docs: add user documentation for core organizer concepts
bert.hausmans
2026-04-14 18:30:23 +02:00
-
ed1eddd486
fix: allow organiser to approve shift assignments when shift is full
bert.hausmans
2026-04-14 17:42:04 +02:00
-
a9ef384515
fix: prevent cross-app auth session sharing on localhost
bert.hausmans
2026-04-14 17:19:42 +02:00
-
821bfc5bcf
chore: standardize dev-only debug logging across all three SPAs
bert.hausmans
2026-04-14 16:43:31 +02:00
-
e53f364929
fix: guard against Pinia not ready in admin router (plugin load order)
bert.hausmans
2026-04-14 16:36:43 +02:00
-
887a8fccde
chore: move VitePress dev server to port 5176 (avoid admin port conflict)
bert.hausmans
2026-04-14 16:31:23 +02:00
-
8ace0480ae
fix: handle 401 gracefully in auth initialization after httpOnly migration
bert.hausmans
2026-04-14 16:24:58 +02:00
-
b5fcb7c14a
fix: add Google Fonts domains to CSP policy
bert.hausmans
2026-04-14 16:20:51 +02:00
-
940297f214
security: implement CSP headers (API middleware + Nginx configs + dev meta tags)
bert.hausmans
2026-04-14 16:14:37 +02:00
-
513ca519b2
security: migrate auth tokens to httpOnly cookies (hybrid bearer token approach)
bert.hausmans
2026-04-14 16:06:44 +02:00
-
836cffa232
feat: password reset, email change with verification, and password change
bert.hausmans
2026-04-14 15:38:54 +02:00
-
53100d4f6d
feat: portal cross-event my-shifts endpoint and dashboard page
bert.hausmans
2026-04-14 15:07:08 +02:00
-
d4004c798c
feat: show identity match hint on registration success page
bert.hausmans
2026-04-14 08:56:25 +02:00
-
eb1a0ac666
feat: complete person identity matching system with fuzzy detection, revert, and manual link
bert.hausmans
2026-04-14 08:44:24 +02:00
-
7932e53daf
security: A01-13 — nest all event routes under organisation prefix
bert.hausmans
2026-04-14 08:16:36 +02:00
-
51e5dd6fcb
security: comprehensive security regression test suite
bert.hausmans
2026-04-14 07:25:47 +02:00
-
b8286d6a84
security: round 4 — frontend hardening (deps, XSS, cookie security)
bert.hausmans
2026-04-14 07:15:00 +02:00
-
52f6380ac0
security: round 3 — token security (crypto random, hashed storage, portal middleware)
bert.hausmans
2026-04-14 06:52:54 +02:00
-
090d2b7d89
security: round 2 — multi-tenancy isolation (OrganisationScope, scoped validation, boundary checks)
bert.hausmans
2026-04-14 06:38:19 +02:00
-
1028498705
security: round 1 — quick wins (rate limiting, headers, mass assignment, logging)
bert.hausmans
2026-04-14 01:34:51 +02:00
-
72120969c6
docs: add Vuexy-first strategy and frontend conventions to CLAUDE.md
bert.hausmans
2026-04-14 01:27:44 +02:00
-
971adc040a
docs: generate Vuexy component registry for frontend reference
bert.hausmans
2026-04-14 01:23:47 +02:00
-
da2b9ee9e7
docs: migrate frontend conventions from .cursorrules to CLAUDE.md
bert.hausmans
2026-04-14 01:07:23 +02:00
-
ef195a6777
feat(mail): center-align action button in email template
bert.hausmans
2026-04-14 00:49:41 +02:00
-
172a6a12d3
feat(mail): improve email template header and button styling
bert.hausmans
2026-04-13 23:18:57 +02:00
-
ab3e26edfc
feat(app): enable semi-dark vertical navigation sidebar
bert.hausmans
2026-04-13 23:16:35 +02:00
-
f9faeb7ea0
feat(portal): restructure into three-screen architecture with event tabs
bert.hausmans
2026-04-13 13:30:20 +02:00
-
2d7464e05b
feat(portal): horizontal navbar layout with avatar menu and profile restructuring
bert.hausmans
2026-04-13 12:44:21 +02:00
-
59ad09fad2
feat(portal): auth persistence, shift visibility, profile page, and UI polish
bert.hausmans
2026-04-13 10:19:14 +02:00