Commit Graph

  • 3b2fae8188 feat(admin/system): extract ImportStatusCard — spinner, text-base count, statusCode i18n feat/issue-533-mass-import-ux Marcel 2026-05-14 12:11:00 +02:00
  • 8d17a2fcb3 feat(i18n): add structured import failure keys; split DONE display Marcel 2026-05-14 12:10:25 +02:00
  • 70281d2c4b feat(import): add structured statusCode to ImportStatus — replaces raw German message Marcel 2026-05-14 11:50:56 +02:00
  • 2ca8428be4 refactor(test): hoist SubmitFn to file-level type in unsaved-guard specs feat/issue-527-unsaved-warning-new-pages Marcel 2026-05-14 12:11:33 +02:00
  • 6fffc06c28 fix(test): allow extra result properties in enhance callback type Marcel 2026-05-14 11:58:19 +02:00
  • ffcb901376 fix(admin): clear unsaved-changes guard before redirect on users/new Marcel 2026-05-14 11:53:15 +02:00
  • 30469e74c9 fix(admin): clear unsaved-changes guard before redirect on groups/new Marcel 2026-05-14 11:51:16 +02:00
  • 5646e739c2 fix(ci): run svelte-kit sync before lint to fix cache-hit tsconfig miss main Marcel 2026-05-14 12:07:15 +02:00
  • bbbdf8cd09 ci: restrict push trigger to main — eliminate duplicate runs on feature branches Marcel 2026-05-14 11:09:52 +02:00
  • f727429699 fix(ci): run client coverage even when server coverage fails Marcel 2026-05-14 11:05:10 +02:00
  • e268e2dbca fix(tests): use native element clicks in layout dropdown spec Marcel 2026-05-14 10:58:29 +02:00
  • 76db26d68b fix(tests): use native element clicks in layout dropdown spec worktree-feat+issue-557-upload-artifact-v3-pin Marcel 2026-05-14 10:58:29 +02:00
  • 3de0d2f0fe fix(ci): add IMPORT_HOST_DIR stub to compose-idempotency env file Marcel 2026-05-14 10:57:30 +02:00
  • 0abbc147e2 ci(unit-tests): add negative self-test case to upload-artifact guard Marcel 2026-05-14 10:18:05 +02:00
  • 6210480952 docs(ci-gitea): replace '← upgraded from v3' with ADR-014 pin comment Marcel 2026-05-14 08:49:32 +02:00
  • e17f4110f1 docs(adr-014): record upload-artifact v3 pin and Gitea act_runner v4 limitation Marcel 2026-05-14 08:48:43 +02:00
  • fa46492759 ci(workflows): downgrade upload-artifact v4 → v3 — Gitea act_runner limitation (ADR-014) Marcel 2026-05-14 08:47:39 +02:00
  • 3965541879 ci(unit-tests): add grep guard for (upload|download)-artifact@v4+ Marcel 2026-05-14 08:46:29 +02:00
  • 5ce0856178 fix(ci): add IMPORT_HOST_DIR stub to compose-idempotency env file worktree-chore+issue-556-drop-client-branches-coverage-gate Marcel 2026-05-14 10:57:30 +02:00
  • 582191d014 docs(adr-013): set exact baseline to 75% (confirmed in CI) Marcel 2026-05-14 09:03:45 +02:00
  • 118100e58d chore(coverage): drop client branches threshold 80→75, add ADR-013 Marcel 2026-05-14 08:54:59 +02:00
  • 2e6cc346ab docs(adr-012): document duplicate-id hazard and patch-package backport Marcel 2026-05-13 08:09:57 +02:00
  • 7fc1295dc0 build(patch-package): backport vitest PR #10267 for browser-playwright birpc race Marcel 2026-05-13 08:08:28 +02:00
  • 0cf4a488bb test(meta): add duplicate-id vi.mock detector under __meta__/ Marcel 2026-05-13 08:06:14 +02:00
  • 9030a7d031 test(confirm-service): normalise vi.mock spelling and remove duplicate-id mocks Marcel 2026-05-13 08:03:43 +02:00
  • feadf372a0 refactor(confirm-service): normalise import spelling to no-extension form Marcel 2026-05-13 08:02:26 +02:00
  • edde9292e6 test(setup): also disable data-sveltekit-preload-code in browser tests Marcel 2026-05-12 22:32:03 +02:00
  • addf5c98db docs(adr-012): record the sync-factory invariant and the $app/state migration Marcel 2026-05-12 22:14:31 +02:00
  • c820884765 ci(coverage-flake-probe): add workflow_dispatch matrix job (20 parallel runs) Marcel 2026-05-12 22:12:04 +02:00
  • 67cd56acc7 ci(unit-tests): extend grep guard to async vi.mock with dynamic import Marcel 2026-05-12 22:11:09 +02:00
  • 5afebde382 refactor(eslint): ban async vi.mock factories with dynamic import in body Marcel 2026-05-12 22:09:07 +02:00
  • 636d61a81b test(meta): scan src/**/*.svelte.{test,spec}.ts for async vi.mock factories Marcel 2026-05-12 22:05:43 +02:00
  • 3c9e40ca71 test(setup): disable SvelteKit hover prefetch in browser-mode runs Marcel 2026-05-12 22:02:57 +02:00
  • 9f1b8b4215 fix(enrichment-block): migrate $app/stores → $app/state to eliminate birpc race Marcel 2026-05-12 22:00:44 +02:00
  • 89860403f6 fix(notification): remove role=link from view-all button — restores semantically honest button role Marcel 2026-05-12 18:01:38 +02:00
  • 6b78557954 refactor(notification-tests): use vi.mocked instead of type cast in call-order test Marcel 2026-05-12 17:50:55 +02:00
  • bc2dd3a98a fix(notification): add role=link and touch target to view-all button Marcel 2026-05-12 16:51:28 +02:00
  • 3005782a75 docs(adr-012): correct pattern note to document button+goto, not anchor+preventDefault Marcel 2026-05-12 16:48:15 +02:00
  • 8ccc9aba1a fix(notification): replace view-all anchor with button to prevent iframe navigation Marcel 2026-05-12 16:37:54 +02:00
  • d21ba8fed2 refactor(pdf-viewer-tests): extract shared fake, add loadDocument error path, fix assertions Marcel 2026-05-12 15:19:37 +02:00
  • 23cbb6be22 test(pdf-renderer): eliminate real pdfjs-dist loading from browser tests — use fake libLoader for all init() calls Marcel 2026-05-12 13:01:50 +02:00
  • 9260866f47 ci(unit-tests): add early grep check for banned vi.mock pdfjs-dist pattern Marcel 2026-05-12 12:19:01 +02:00
  • 7c8811e439 refactor(eslint): ban vi.mock('pdfjs-dist', ...) in spec/test files — ADR 012 Marcel 2026-05-12 12:18:28 +02:00
  • ef592ddd0c test(pdf-viewer): consolidate spec.ts into test.ts — absorb page-counter test, delete spec Marcel 2026-05-12 12:17:56 +02:00
  • 6c596babcb test(pdf-viewer): port PdfViewer.svelte.test.ts to libLoader prop injection — remove vi.mock Marcel 2026-05-12 12:17:25 +02:00
  • 763e9f5708 docs(adr-012): add overlay navigation pattern note Marcel 2026-05-12 11:25:54 +02:00
  • 37026bbbb8 refactor(notification): extract handleViewAll named function Marcel 2026-05-12 11:24:58 +02:00
  • 53ecfee25e test(notification): assert href is preserved on view-all link Marcel 2026-05-12 11:20:46 +02:00
  • fa4f8ed661 fix(style): move transkription print styles to global CSS to suppress Tailwind noise Marcel 2026-05-12 10:49:43 +02:00
  • 890b811bc1 fix(style): move ChronikFuerDichBox animation to global CSS to suppress Tailwind noise Marcel 2026-05-12 10:49:10 +02:00
  • ed91c9bcf6 fix(notification): prevent iframe navigation — use goto instead of href follow Marcel 2026-05-12 10:40:13 +02:00
  • 661e8582a2 test(notification): add goto mock and tighten selector in NotificationDropdown spec Marcel 2026-05-12 10:39:39 +02:00
  • 7ee038faaf test(ocr): fix track_reactivity_loss in OcrTrainingCard spec Marcel 2026-05-12 10:22:03 +02:00
  • ae1688319e test(annotation): replace synchronous query().toBeNull() with async not.toBeInTheDocument() Marcel 2026-05-12 10:21:24 +02:00
  • 7f07180c71 docs(adr-012): add enforcement note and libLoader revisit signal Marcel 2026-05-12 09:38:49 +02:00
  • 1ead1f293f ci(coverage): document that birpc guard covers coverage run only Marcel 2026-05-12 09:37:50 +02:00
  • a693f07eca refactor(test): convert TextLayerMock to class syntax in PdfViewer spec Marcel 2026-05-12 09:36:47 +02:00
  • 3ae7c9da0c test(pdf-renderer): guard init() against repeated calls — libLoader must fire once Marcel 2026-05-12 09:25:13 +02:00
  • 729f5c66d6 ci(coverage): use grep -F for birpc guard to avoid BRE escaping Marcel 2026-05-12 07:56:28 +02:00
  • d40f477397 ci(coverage): include coverage log in artifact upload Marcel 2026-05-12 07:55:49 +02:00
  • f126634804 refactor(test): remove what-comment from makeFakePdfjsLib Marcel 2026-05-12 07:55:11 +02:00
  • bdadff787c test(pdf-renderer): assert init() re-throws when libLoader rejects Marcel 2026-05-12 07:54:33 +02:00
  • cf78957476 ci(coverage): harden coverage guard step Marcel 2026-05-11 23:18:22 +02:00
  • f8dad85020 test(pdf-renderer): document libLoader rejection leaves pdfjsReady false Marcel 2026-05-11 23:17:30 +02:00
  • 5cd330de74 docs(pdf-viewer): comment untrack invariant on renderer init Marcel 2026-05-11 23:13:41 +02:00
  • 06b158bf54 refactor(pdf-viewer): export LibLoader type and update callers Marcel 2026-05-11 23:12:55 +02:00
  • 3594204214 ci(coverage): simplify coverage step and pin shell to bash Marcel 2026-05-11 22:52:33 +02:00
  • 073b6cb45d refactor(test): move PdfViewer import to top and annotate partial fake cast Marcel 2026-05-11 22:49:34 +02:00
  • a7e0a66355 docs(adr): 012 — browser-mode test mocking strategy Marcel 2026-05-11 21:32:12 +02:00
  • 538adb43a9 ci(guard): fail unit-tests job if [birpc] rpc is closed appears in coverage run Marcel 2026-05-11 21:31:03 +02:00
  • 115476453a fix(pdf-viewer): replace vi.mock(pdfjs-dist) with injected libLoader prop Marcel 2026-05-11 21:30:15 +02:00
  • 817ec44439 test(pdf-renderer): inject libLoader into createPdfRenderer to eliminate vi.mock factories Marcel 2026-05-11 21:25:38 +02:00
  • 51e2d50dd0 Merge pull request 'fix(ci): replace iproute2 ip with /proc/net/route for gateway detection' (#544) from fix/nightly-caddy-reload into main marcel 2026-05-12 09:57:02 +02:00
  • 9c26c00eee fix(ci): replace iproute2 ip with /proc/net/route for gateway detection Marcel 2026-05-12 09:50:56 +02:00
  • 6d16be4669 fix(ci): quote \$RESOLVE in all curl calls Marcel 2026-05-12 09:25:51 +02:00
  • f1032865f3 fix(ci): guard against empty HOST_IP in smoke test Marcel 2026-05-12 09:24:23 +02:00
  • 3056311c24 fix(ci): resolve smoke test host via bridge gateway, not 127.0.0.1 Marcel 2026-05-12 09:08:20 +02:00
  • e9caa3a1f7 chore(renovate): require manual review for privileged CI image digest bumps Marcel 2026-05-11 23:15:05 +02:00
  • 58922bee53 docs(ci): add Troubleshooting section for Reload Caddy failures Marcel 2026-05-11 23:14:35 +02:00
  • bbdf1c3e67 docs(adr): ADR-012 — nsenter via privileged container for host service management in CI Marcel 2026-05-11 23:13:50 +02:00
  • 8536b2ebbd docs(deploy): note Caddyfile symlink is a CI dependency Marcel 2026-05-11 22:52:34 +02:00
  • 4bb988824f docs(ci): update nsenter example to Alpine, document alternatives considered Marcel 2026-05-11 22:47:41 +02:00
  • 544b96bc9e fix(ci): pin Reload Caddy to alpine:3.21 digest, add reload-vs-restart rationale Marcel 2026-05-11 22:43:55 +02:00
  • fe2cdaae83 docs(ci): document DooD runner architecture and nsenter pattern Marcel 2026-05-11 22:29:39 +02:00
  • d29169eb39 fix(ci): add Caddy reload step to release workflow Marcel 2026-05-11 22:29:02 +02:00
  • d750d5cee2 fix(ci): reload Caddy via nsenter, not sudo systemctl Marcel 2026-05-11 22:28:24 +02:00
  • 90f52eae41 ci(nightly): reload Caddy before smoke test Marcel 2026-05-11 21:49:32 +02:00
  • dacc7d6ff8 test(admin): convert .not.toThrow into form-stays-mounted assertion (admin/groups/new) Marcel 2026-05-11 17:52:06 +02:00
  • e9d7b6568c test(admin): convert .not.toThrow into merge-success-banner-absent assertion (admin/tags/[id]) Marcel 2026-05-11 17:51:24 +02:00
  • b67ac17eef test(admin): convert .not.toThrow into form-stays-mounted assertion (admin/users/new) Marcel 2026-05-11 17:50:51 +02:00
  • 6ba89da829 test(geschichten): convert .not.toThrow into person-filter chip rendering assertion Marcel 2026-05-11 17:50:21 +02:00
  • de55a4e7ab test(persons): convert .not.toThrow self-skip test into Self-letter rendering assertion Marcel 2026-05-11 17:49:37 +02:00
  • 56930fb586 test(briefwechsel): convert 3 .not.toThrow to localStorage / container assertions Marcel 2026-05-11 17:49:06 +02:00
  • fec2b2ccbd test(routes): convert 3 .not.toThrow in home page to main/h1 assertions Marcel 2026-05-11 17:48:34 +02:00
  • d4ae74d9a5 test(admin): replace 1 setTimeout sleep in invites page with vi.waitFor Marcel 2026-05-11 17:44:32 +02:00
  • d754e23922 test(tags): replace 1 setTimeout sleep in TagTreeNode with vi.waitFor Marcel 2026-05-11 17:44:00 +02:00
  • 6da686ccea test(briefwechsel): replace 1 setTimeout sleep in CorrespondenzPersonBar with vi.waitFor Marcel 2026-05-11 17:43:28 +02:00
  • df75a0b5f3 test(documents): replace 1 setTimeout sleep in bulk-edit page with vi.waitFor Marcel 2026-05-11 17:42:58 +02:00
  • eb666b2eb3 test(transcription): replace 3 setTimeout sleeps in TranscriptionEditView with vi.waitFor Marcel 2026-05-11 17:40:54 +02:00
  • b4c249c489 test(documents): replace 2 setTimeout sleeps in [id]/edit page with vi.waitFor Marcel 2026-05-11 17:39:32 +02:00