-
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