Commit Graph

  • 56d79c919e fix(PersonTypeahead): sync searchTerm when initialName prop changes Marcel 2026-03-30 14:53:45 +02:00
  • 3318b5f1c6 fix(korrespondenz): larger empty state text, hide divider+chips when no history Marcel 2026-03-30 14:43:55 +02:00
  • 71eaca9495 fix(korrespondenz): flush strips to top, larger year divider and row text Marcel 2026-03-30 14:39:56 +02:00
  • a3a7af123d fix(korrespondenz): scale up strip rows to readable sizes Marcel 2026-03-30 14:35:47 +02:00
  • 5fd7e41492 fix(korrespondenz): dark theme, compact strip labels, year divider size, chevron alignment Marcel 2026-03-30 14:33:23 +02:00
  • 0387e9f428 fix(korrespondenz): address 10 visual and functional regressions Marcel 2026-03-30 13:57:00 +02:00
  • 49f6b0a8c7 test(korrespondenz): add Playwright E2E happy-path journey Marcel 2026-03-30 13:06:14 +02:00
  • 1b95d9472b test(korrespondenz): update and expand Vitest component specs Marcel 2026-03-30 13:04:27 +02:00
  • 4f5f8255a1 feat(korrespondenz): wire up +page.svelte orchestrator with new components Marcel 2026-03-30 12:59:33 +02:00
  • 3addc72693 feat(korrespondenz): redesign ConversationTimeline to correspondence log cards Marcel 2026-03-30 12:57:27 +02:00
  • 48286b9f77 feat(frontend): new strip components, suggestions dropdown, empty state Marcel 2026-03-30 12:50:40 +02:00
  • e942699078 feat(frontend): single-person mode in +page.server.ts load function Marcel 2026-03-30 12:36:35 +02:00
  • f352058bc6 feat(frontend): rename route to /korrespondenz, update i18n, regen API types Marcel 2026-03-30 12:35:18 +02:00
  • 252881b8d1 fix(backend): reject whitespace-only person search queries Marcel 2026-03-30 12:27:57 +02:00
  • f88371e9af feat(backend): extend conversation endpoint for optional receiverId Marcel 2026-03-30 12:25:04 +02:00
  • 393cb52178 fix(admin): address PR review feedback from all personas Marcel 2026-03-30 11:23:27 +02:00
  • 09d8fb5f95 feat(admin): add READ_ALL and ANNOTATE_ALL to groups permission matrix Marcel 2026-03-30 10:12:48 +02:00
  • 9996055cac feat(admin): mass import card on system tab with live status polling Marcel 2026-03-30 09:42:44 +02:00
  • 559b522507 feat(admin): entity flyout for tablet icon strip (Phase 9 complete) Marcel 2026-03-30 09:06:03 +02:00
  • 3c54401bb2 feat(admin): responsive entity nav and collapsible list panels (Phase 9) Marcel 2026-03-30 07:19:41 +02:00
  • 06a489567a feat(admin): phase 8 — unsaved-changes guard on all detail panels Marcel 2026-03-30 01:58:10 +02:00
  • fabb517d0b refactor(admin): phase 7 — delete old tab components and page.server.ts Marcel 2026-03-30 01:44:52 +02:00
  • cee16c1657 feat(admin/system): add system maintenance page under /admin/system Marcel 2026-03-30 01:39:09 +02:00
  • 908173de97 feat(admin/tags): add tags entity with master-detail sub-routes and type-to-confirm delete Marcel 2026-03-30 01:33:33 +02:00
  • 8197db2c14 feat(admin/groups): add groups entity with master-detail sub-routes Marcel 2026-03-30 01:26:45 +02:00
  • c8a834b91b feat(admin): add layout server auth guard and Phase 1 hotfixes Marcel 2026-03-30 01:10:51 +02:00
  • 8fc360a596 fix(admin): guard GET /api/users/{id} with @RequirePermission(ADMIN_USER) Marcel 2026-03-30 01:09:40 +02:00
  • 169e6dc578 chore: merge main into feat/persons-redesign-concept-a Marcel 2026-03-29 21:30:54 +02:00
  • 04d3ac0415 fix(documents): remove bottom panel localStorage persistence Marcel 2026-03-29 21:06:50 +02:00
  • a3e8a5e15e fix(persons): invert plus icon on New Person button for theme contrast Marcel 2026-03-29 20:52:10 +02:00
  • fffecb5bf6 feat(persons): redesign detail page sections to match Concept A spec Marcel 2026-03-29 20:49:58 +02:00
  • f5645d6c32 fix(persons): replace hardcoded 'docs'/'Persons'/'Documents' strings with i18n keys Marcel 2026-03-29 20:37:51 +02:00
  • 27d7225330 fix(persons): align pages with Concept A spec — card layout, stats bar, status labels, save button Marcel 2026-03-29 20:27:22 +02:00
  • 241e4874ad fix: resolve lint and type-check issues introduced by persons redesign Marcel 2026-03-29 20:12:45 +02:00
  • 272073f186 feat(persons): add /persons/[id]/edit route with PersonEditForm, PersonDangerZone Marcel 2026-03-29 19:57:32 +02:00
  • 44e8891ca9 feat(persons): redesign /persons/[id] detail page (Concept A layout) Marcel 2026-03-29 19:55:31 +02:00
  • 7141ae1e1f feat(persons): add birthYear, deathYear, notes fields to /persons/new form Marcel 2026-03-29 19:53:30 +02:00
  • f4c99cabd5 feat(persons): enrich /persons list with stats bar, life dates, doc count chip Marcel 2026-03-29 19:52:37 +02:00
  • 3abdf9bb68 feat(persons): add formatLifeDateRange + formatDocumentStatus utility functions Marcel 2026-03-29 19:50:30 +02:00
  • 7b03aada3b chore(api): regenerate TypeScript API types from updated OpenAPI spec Marcel 2026-03-29 19:47:13 +02:00
  • 707a7610f8 feat(stats): add GET /api/stats endpoint returning totalPersons + totalDocuments Marcel 2026-03-29 19:45:25 +02:00
  • 593638482d feat(persons): add PersonSummaryDTO with document count to GET /api/persons Marcel 2026-03-29 19:44:16 +02:00
  • a3d750822c feat(persons): accept PersonUpdateDTO for POST /api/persons (all 6 fields) Marcel 2026-03-29 19:40:53 +02:00
  • 3987bbc1f9 refactor(persons): replace ResponseStatusException with DomainException in PersonService Marcel 2026-03-29 19:38:23 +02:00
  • d1e506135b feat(persons): add year range bounds validation (> 0) to PersonService Marcel 2026-03-29 19:37:08 +02:00
  • ef9a85eee8 feat(persons): add @Size constraints to PersonUpdateDTO + @Valid to controller Marcel 2026-03-29 19:35:59 +02:00
  • 93107e7c59 feat(persons): add @RequirePermission(WRITE_ALL) to write endpoints Marcel 2026-03-29 19:34:35 +02:00
  • 5374bdabd4 fix: remove always-on underline from notification cross-links Marcel 2026-03-29 16:40:11 +02:00
  • 7573d3b5da fix(dashboard): wrap mention items so last:border-0 works correctly Marcel 2026-03-29 16:35:29 +02:00
  • 7dcb8bc705 feat(dashboard): add /notifications link to DashboardMentions widget Marcel 2026-03-29 15:38:23 +02:00
  • 29634c7f7a fix(notifications): use bg-surface on <li> rows Marcel 2026-03-29 15:32:18 +02:00
  • 79185a2e34 fix(notifications): set bg-canvas directly on <li> to prevent white bleed Marcel 2026-03-29 15:27:36 +02:00
  • 209531ce0c chore(screenshots): retake proofshots after bg-canvas fix Marcel 2026-03-29 15:10:59 +02:00
  • 4899e6301f fix(notifications): use bg-canvas on list so items match page background Marcel 2026-03-29 15:07:59 +02:00
  • 9b24a88200 chore(screenshots): fix empty-state proofshots for #153 Marcel 2026-03-29 14:53:32 +02:00
  • 7155fbafd8 chore(screenshots): add /notifications page proofshots for #153 Marcel 2026-03-29 14:37:49 +02:00
  • cb58e39f3c fix(notifications): rename spec file to remove + prefix Marcel 2026-03-29 14:30:19 +02:00
  • 18b85bec1f feat(profile): add Benachrichtigungsverlauf cross-link below notification preferences Marcel 2026-03-29 14:11:05 +02:00
  • 26c58bf5dd feat(notifications): implement /notifications page with filter pills and load-more Marcel 2026-03-29 14:10:41 +02:00
  • c8f7225506 refactor(notifications): extract NotificationItem type and relativeTime to shared utility Marcel 2026-03-29 13:58:46 +02:00
  • 03ee9ccec4 chore(frontend): regenerate API types with documentTitle field Marcel 2026-03-29 13:53:49 +02:00
  • 64761d5c1f fix(notifications): clamp size param to max 100 on GET /api/notifications Marcel 2026-03-29 13:50:53 +02:00
  • 3b21aae44d feat(notifications): add documentTitle to NotificationDTO via DocumentService lookup Marcel 2026-03-29 13:50:19 +02:00
  • 5ac7880a2b fix(notifications): add missing unread-only filter branch in service and repository Marcel 2026-03-29 13:49:43 +02:00
  • 9f73c2ee4a docs: add conversations page Narrow Column redesign spec Marcel 2026-03-29 18:28:22 +02:00
  • ae47af52b9 docs: add persons section Concept A spec (Enriched Directory) Marcel 2026-03-29 16:55:24 +02:00
  • 5facb52d21 docs: add admin redesign Concept C spec (v1.1 with tablet addendum) marcel 2026-03-29 15:05:44 +02:00
  • 9ed13f8bd5 fix: stretch notifications widget to full width when enrich queue is empty Marcel 2026-03-29 12:59:36 +02:00
  • bd34b59c15 fix(#145): split DashboardMentions link from muted label Marcel 2026-03-29 12:51:39 +02:00
  • 6b15ea8b1f style: standardise link hover underline (2px, offset-4, accent) globally Marcel 2026-03-29 12:35:06 +02:00
  • b1f82d91d2 style: teal accent underline on link hover globally Marcel 2026-03-29 12:31:42 +02:00
  • adba3058b4 style(#145): bump dashboard widget content links to text-lg Marcel 2026-03-29 12:18:13 +02:00
  • 5bdd26c792 fix(#145): address PR review — full-table scan, a11y, grid, tests Marcel 2026-03-29 12:11:12 +02:00
  • 7eda0aefcc feat(e2e): seed admin notifications + resume strip for dashboard proofshots Marcel 2026-03-29 11:46:39 +02:00
  • 3e76ef5281 fix(#152): disable open-in-view to prevent HikariPool exhaustion Marcel 2026-03-29 11:44:30 +02:00
  • 2171c3702a feat(#145): switch dashboard to show last-activity documents Marcel 2026-03-29 11:30:08 +02:00
  • 6976daa910 feat(#145): add recent-activity endpoint sorted by updatedAt Marcel 2026-03-29 11:29:34 +02:00
  • dc487e2f97 refactor(e2e): extract reusable captureProofshots helper Marcel 2026-03-29 11:01:49 +02:00
  • 698a0fb15e docs(#145): add dashboard proofshots (3 viewports × 2 themes) Marcel 2026-03-29 10:32:58 +02:00
  • a7b0bd96d4 test(#145): add Playwright screenshot spec for dashboard (3 viewports × 2 themes) Marcel 2026-03-29 10:30:39 +02:00
  • 7734ce7bae fix(#145): deep-link notifications; show createdAt in recent docs Marcel 2026-03-29 10:03:36 +02:00
  • c8da2224f8 feat(#145): internationalise dashboard widget strings (de/en/es) Marcel 2026-03-29 09:57:14 +02:00
  • 08f3f92167 fix(#145): dashboard notification widget shows all recent notifications Marcel 2026-03-29 09:41:28 +02:00
  • 1a849362a1 fix: replace hardcoded bg-white/border-brand-sand/text-brand-navy with semantic tokens in dashboard widgets Marcel 2026-03-29 09:36:28 +02:00
  • b948c9a46c feat(#145): implement two-mode home page (dashboard vs search results) Marcel 2026-03-29 00:43:54 +01:00
  • df79eec5cc feat(#145): add DashboardRecentDocuments widget component Marcel 2026-03-29 00:42:54 +01:00
  • 1d08522df8 feat(#145): add DashboardNeedsMetadata widget component Marcel 2026-03-29 00:40:48 +01:00
  • 2ce95f2542 feat(#145): add DashboardMentions widget component Marcel 2026-03-29 00:38:45 +01:00
  • 49f71e32ff feat(#145): add DashboardResumeStrip component Marcel 2026-03-29 00:36:33 +01:00
  • 0610f0ee0f feat(#145): update home page server load for dashboard mode Marcel 2026-03-29 00:32:52 +01:00
  • 4aa3855936 chore(#145): regenerate API types with new filter params Marcel 2026-03-29 00:30:44 +01:00
  • 0003b6d6ef chore(#145): regenerate API types from updated OpenAPI spec Marcel 2026-03-29 00:23:03 +01:00
  • 147d1f2de5 feat(#145): add status filter to GET /api/documents/search Marcel 2026-03-29 00:21:48 +01:00
  • 968993c48e feat(#145): add IncompleteDocumentDTO and ?size= param to GET /api/documents/incomplete Marcel 2026-03-29 00:19:06 +01:00
  • 304359f67d feat(#145): add type and read filter params to GET /api/notifications Marcel 2026-03-29 00:16:04 +01:00
  • bf46fe6d8b fix: replace remaining hardcoded brand-navy/white tokens with semantic tokens Marcel 2026-03-28 23:50:21 +01:00
  • 06fbb2fe81 fix: replace hardcoded brand-navy/white tokens with semantic tokens on enrich list page Marcel 2026-03-28 23:48:03 +01:00
  • 3dd0ff94c6 test(#148): add controller tests and raise coverage gate to 88% Marcel 2026-03-28 22:56:47 +01:00
  • a81959a591 test(#148): add service unit tests reaching 90.2% branch coverage Marcel 2026-03-28 21:42:24 +01:00
  • d663ba87b0 fix(#148): flush entity manager after @Modifying queries in PersonRepositoryTest Marcel 2026-03-28 20:13:54 +01:00