Commit Graph

  • fc118f7032 fix(bulk-upload): skip navigation when any chunk fails to upload Marcel 2026-04-24 21:18:17 +02:00
  • 4229e952fb fix(bulk-upload): include tagNames in quick-upload metadata payload Marcel 2026-04-24 21:12:02 +02:00
  • e1259215ef test(bulk-upload): add save-error and discard-all coverage to BulkDocumentEditLayout spec Marcel 2026-04-24 20:41:14 +02:00
  • f06d034b36 fix(bulk-upload): i18n hardcoded strings in BulkDropZone and FileSwitcherStrip Marcel 2026-04-24 20:38:39 +02:00
  • a6cd10f219 refactor(documents): extract applyBatchMetadata private helper in DocumentService Marcel 2026-04-24 20:30:15 +02:00
  • b8e6fe9ec9 refactor(documents): change DocumentBatchMetadataDTO.tags from String to List<String> tagNames Marcel 2026-04-24 20:28:12 +02:00
  • 763f1990cd refactor(documents): move batch validation from controller into DocumentService Marcel 2026-04-24 20:25:17 +02:00
  • ca62f50921 fix(forms): remove autofocus from WhoWhenSection entirely Marcel 2026-04-24 19:51:15 +02:00
  • 61f84a86ac fix(forms): apply py-3 to location input for consistent 44px height Marcel 2026-04-24 19:48:47 +02:00
  • 0eb5c95c6c fix(forms): raise date and sender field height to match receiver (44px) Marcel 2026-04-24 19:45:03 +02:00
  • d662635392 fix(PersonTypeahead): match height and border-radius of other form inputs Marcel 2026-04-24 19:38:54 +02:00
  • b00be2548c fix(PersonMultiSelect): align height and focus ring with other form inputs Marcel 2026-04-24 19:36:20 +02:00
  • 01a8654347 fix(bulk-upload): no layout shift, no autofocus on date field Marcel 2026-04-24 19:32:23 +02:00
  • c1b221412f fix(bulk-upload): PDF-only file acceptance Marcel 2026-04-24 19:29:21 +02:00
  • 76c14ea604 fix(bulk-upload): form layout polish and drop zone sizing Marcel 2026-04-24 19:26:22 +02:00
  • 539842e849 fix(bulk-upload): spec-compliant split-panel layout with local PDF preview Marcel 2026-04-24 19:17:36 +02:00
  • ef7a51fe30 chore(api): regenerate types — adds DocumentBatchMetadataDTO Marcel 2026-04-24 18:24:16 +02:00
  • ec17cb123a feat(bulk-upload): wire /documents/new to BulkDocumentEditLayout Marcel 2026-04-24 17:59:41 +02:00
  • 801470093d feat(bulk-upload): add BulkDocumentEditLayout component with save handler Marcel 2026-04-24 17:57:33 +02:00
  • af6ba6a9cc feat(bulk-upload): add UploadSaveBar component + fix bulk_save_cta message Marcel 2026-04-24 17:49:23 +02:00
  • 9acd5ec617 feat(bulk-upload): add ScopeCard component Marcel 2026-04-24 17:43:10 +02:00
  • 29a44b3cd1 feat(bulk-upload): add FileSwitcherStrip component Marcel 2026-04-24 17:40:33 +02:00
  • 5fe289b06b feat(bulk-upload): add BulkDropZone component Marcel 2026-04-24 16:40:04 +02:00
  • f76af8c678 feat(bulk-upload): add bulkTitleFromFilename utility Marcel 2026-04-24 16:30:12 +02:00
  • 69c739c6e3 feat(i18n): add BATCH_TOO_LARGE error code + 16 bulk-upload Paraglide keys Marcel 2026-04-24 16:18:51 +02:00
  • 43cf022f05 feat(documents): extend quick-upload with optional batch metadata part Marcel 2026-04-24 16:01:21 +02:00
  • 48d034dcb8 fix(transcribe-coach): propagate hover from 44px button group to inner span Marcel 2026-04-25 11:52:11 +02:00
  • c335ddd686 test(e2e): add training footer positive-case test and fix broken selectors Marcel 2026-04-25 10:22:52 +02:00
  • 7830a749a0 docs(richtlinien): shorten prerender comment to essentials Marcel 2026-04-25 09:02:51 +02:00
  • 5b7c37391c test(HelpPopover): use userEvent.keyboard for Enter/Space tests Marcel 2026-04-25 09:01:41 +02:00
  • ce72b07197 test(e2e): fix locators, add print assertion, cleanup, remove redundant emulateMedia Marcel 2026-04-25 01:25:24 +02:00
  • 505804c893 chore(i18n): remove dead transcription_empty_draw_hint key Marcel 2026-04-25 01:23:54 +02:00
  • 67421a4c0c docs(richtlinien): document why prerender=true is auth-safe Marcel 2026-04-25 01:22:33 +02:00
  • 0ea0df4f72 fix(richtlinien): <main> landmark + closing card h2 → h3 Marcel 2026-04-25 01:21:29 +02:00
  • 077f5c85df fix(TranscribeCoachEmptyState): Tailwind grid instead of inline styles; step aria-labels Marcel 2026-04-25 01:19:42 +02:00
  • 018e272a3b fix(RichtlinienRuleCard): bg-[#FAF8F1] → bg-parchment design token Marcel 2026-04-25 01:17:06 +02:00
  • 0c4a0ead7b fix(TranscribeDragDemo): reactive prefersReducedMotion + bg-parchment token Marcel 2026-04-25 01:16:00 +02:00
  • 82b12d4383 fix(HelpPopover): role=region, 44px touch target, counter-based ID Marcel 2026-04-25 01:06:52 +02:00
  • 01758e8e00 feat(tokens): add --color-parchment design token for warm example-block surfaces Marcel 2026-04-25 01:03:43 +02:00
  • 1fca1f80a2 docs(bulk-upload): explain chunkSize=10 and 50-file cap constants Marcel 2026-04-25 11:31:59 +02:00
  • 46dae8a826 feat(bulk-upload): guard discard-all with confirm dialog Marcel 2026-04-25 11:26:05 +02:00
  • e5fe2fc5c6 fix(bulk-upload): add gradient overflow indicators to chip strip Marcel 2026-04-25 11:17:05 +02:00
  • 0ab85d888b fix(bulk-upload): chip readability and focus management in FileSwitcherStrip Marcel 2026-04-25 11:14:31 +02:00
  • 48c82aa07b fix(bulk-upload): handle network errors and partial upload success Marcel 2026-04-25 11:09:49 +02:00
  • 1299f191e2 feat(bulk-upload): guard save() against concurrent invocations Marcel 2026-04-25 11:03:58 +02:00
  • 9aed929b67 fix(bulk-upload): raise discard button touch target to 44px for WCAG compliance Marcel 2026-04-25 09:13:55 +02:00
  • cb9962f0c2 test(bulk-upload): add positive navigation assertion for successful save Marcel 2026-04-25 09:12:21 +02:00
  • 262c792654 fix(bulk-upload): correct stale DocumentBatchMetadataDTO type in api.ts Marcel 2026-04-25 09:10:29 +02:00
  • 60f1db1f99 fix(bulk-upload): announce error chip status to screen readers Marcel 2026-04-25 09:08:10 +02:00
  • 8cf4f7c2e4 test(bulk-upload): fix ScopeCard spec assertions to match actual component classes Marcel 2026-04-25 09:03:57 +02:00
  • 6b10daeeac fix(bulk-upload): accessibility improvements and fetch comment Marcel 2026-04-25 01:25:03 +02:00
  • 74b473e3d7 fix(bulk-upload): match error chips by filename, not by chunk position Marcel 2026-04-25 01:15:41 +02:00
  • f1b3e8c2d8 fix(i18n): remove orphaned merge conflict markers from message files Marcel 2026-04-25 01:07:44 +02:00
  • c78a1d69dc test(bulk-upload): add unit tests for storeDocumentWithBatchMetadata Marcel 2026-04-24 21:40:17 +02:00
  • 5131c8da31 fix(bulk-upload): truncate long chip titles with tooltip in FileSwitcherStrip Marcel 2026-04-24 21:30:38 +02:00
  • eb106c9ca7 fix(bulk-upload): enlarge scroll button touch targets to 44×44px Marcel 2026-04-24 21:26:49 +02:00
  • e742c36ef6 fix(bulk-upload): populate aria-live region with active file title Marcel 2026-04-24 21:25:06 +02:00
  • 9ac01f7cc2 fix(bulk-upload): add aria-label to progress bar in UploadSaveBar Marcel 2026-04-24 21:22:49 +02:00
  • a2a7d547ee fix(bulk-upload): i18n topbar title; replace hardcoded German strings Marcel 2026-04-24 21:21:07 +02:00
  • 3c99030546 fix(bulk-upload): skip navigation when any chunk fails to upload Marcel 2026-04-24 21:18:17 +02:00
  • f75a960179 fix(bulk-upload): include tagNames in quick-upload metadata payload Marcel 2026-04-24 21:12:02 +02:00
  • 811baf78da test(bulk-upload): add save-error and discard-all coverage to BulkDocumentEditLayout spec Marcel 2026-04-24 20:41:14 +02:00
  • 43122c20cb fix(bulk-upload): i18n hardcoded strings in BulkDropZone and FileSwitcherStrip Marcel 2026-04-24 20:38:39 +02:00
  • f90d4b282e refactor(documents): extract applyBatchMetadata private helper in DocumentService Marcel 2026-04-24 20:30:15 +02:00
  • 1eb833f333 refactor(documents): change DocumentBatchMetadataDTO.tags from String to List<String> tagNames Marcel 2026-04-24 20:28:12 +02:00
  • b2264de949 refactor(documents): move batch validation from controller into DocumentService Marcel 2026-04-24 20:25:17 +02:00
  • dd6331c098 fix(forms): remove autofocus from WhoWhenSection entirely Marcel 2026-04-24 19:51:15 +02:00
  • 9d687ba9f9 fix(forms): apply py-3 to location input for consistent 44px height Marcel 2026-04-24 19:48:47 +02:00
  • 1ea95f8fe0 fix(forms): raise date and sender field height to match receiver (44px) Marcel 2026-04-24 19:45:03 +02:00
  • 65846911f3 fix(PersonTypeahead): match height and border-radius of other form inputs Marcel 2026-04-24 19:38:54 +02:00
  • 75dd8cb08d fix(PersonMultiSelect): align height and focus ring with other form inputs Marcel 2026-04-24 19:36:20 +02:00
  • db6a3225db fix(bulk-upload): no layout shift, no autofocus on date field Marcel 2026-04-24 19:32:23 +02:00
  • 8b05451f42 fix(bulk-upload): PDF-only file acceptance Marcel 2026-04-24 19:29:21 +02:00
  • aa9c47ecc8 fix(bulk-upload): form layout polish and drop zone sizing Marcel 2026-04-24 19:26:22 +02:00
  • 0e6efc9170 fix(bulk-upload): spec-compliant split-panel layout with local PDF preview Marcel 2026-04-24 19:17:36 +02:00
  • 64dbce2a00 chore(api): regenerate types — adds DocumentBatchMetadataDTO Marcel 2026-04-24 18:24:16 +02:00
  • a1f9253712 feat(bulk-upload): wire /documents/new to BulkDocumentEditLayout Marcel 2026-04-24 17:59:41 +02:00
  • 3a6a70a1f7 feat(bulk-upload): add BulkDocumentEditLayout component with save handler Marcel 2026-04-24 17:57:33 +02:00
  • edd96b05fe feat(bulk-upload): add UploadSaveBar component + fix bulk_save_cta message Marcel 2026-04-24 17:49:23 +02:00
  • 6d5fb9d8c8 feat(bulk-upload): add ScopeCard component Marcel 2026-04-24 17:43:10 +02:00
  • 1f1b7aeab5 feat(bulk-upload): add FileSwitcherStrip component Marcel 2026-04-24 17:40:33 +02:00
  • 22bba5cfcd feat(bulk-upload): add BulkDropZone component Marcel 2026-04-24 16:40:04 +02:00
  • 4248d8af72 feat(bulk-upload): add bulkTitleFromFilename utility Marcel 2026-04-24 16:30:12 +02:00
  • f86105a1be feat(i18n): add BATCH_TOO_LARGE error code + 16 bulk-upload Paraglide keys Marcel 2026-04-24 16:18:51 +02:00
  • ae445a78ae feat(documents): extend quick-upload with optional batch metadata part Marcel 2026-04-24 16:01:21 +02:00
  • c3fac5b0ad feat(#320): guided empty state + Kurrent primer for first-time transcribers Marcel 2026-04-24 21:42:29 +02:00
  • 03b180fe88 test(e2e): add transcribe-coach, richtlinien, and help-popover E2E specs; reducedMotion global default Marcel 2026-04-24 21:39:03 +02:00
  • b234db0472 feat(richtlinien): add /hilfe/transkription page with RichtlinienRuleCard Marcel 2026-04-24 21:28:25 +02:00
  • 7c3a8e7651 feat(transcribe): add HelpPopover primitive and wire (?) chip into panel header Marcel 2026-04-24 21:19:48 +02:00
  • 7fb9d74515 feat(transcribe): copy pass markieren→einrahmen in transcription_next_block_cta Marcel 2026-04-24 21:08:40 +02:00
  • dff203d526 feat(transcribe): wire coach into TranscriptionEditView, hide training footer when empty Marcel 2026-04-24 21:06:50 +02:00
  • 86584a53a8 feat(transcribe): add TranscribeCoachEmptyState and TranscribeDragDemo components Marcel 2026-04-24 21:00:01 +02:00
  • 1d5219eac4 docs(specs): add Transkriptions-Richtlinien spec for #320 Marcel 2026-04-24 18:47:47 +02:00
  • 6e021fb23a fix(briefwechsel): repair 500 by consuming backend thumbnailUrl directly Marcel 2026-04-24 13:26:13 +02:00
  • bdac5e42ad test(search): integration test covers paged search against real Postgres — address @saraholt Marcel 2026-04-24 10:55:51 +02:00
  • 18b88672ec fix(pagination): bound controls render as aria-hidden spans — address @leonievoss Marcel 2026-04-24 10:52:13 +02:00
  • 8fa061187e refactor(documents): extract buildSearchParams — address @felixbrandt Marcel 2026-04-24 10:48:34 +02:00
  • 610915b2a2 refactor(test): extract UNPAGED Pageable constant — address @felixbrandt + @saraholt Marcel 2026-04-24 10:46:46 +02:00
  • 78ac5d663d feat(documents): paginate search with a Pagination control Marcel 2026-04-24 08:34:01 +02:00
  • 826c0827dc test(search): lock pagination behaviour and @Validated rejection Marcel 2026-04-24 08:26:41 +02:00