dorfteich/apps/web
Claude Fable 5 69563348ca
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m52s
CI / Build container images (pull_request) Successful in 1m13s
CI / Auth e2e pack (pull_request) Successful in 9m25s
CI / Import/export fidelity gate (pull_request) Successful in 58s
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CI / Lint, typecheck, test (push) Has been cancelled
CD / Build and push images (push) Has been cancelled
Gap cursor for block-edge positions (#335)
A table (or any other block node without a text position of its own) as
the page's first, last, or only block was unreachable from before/after:
neither mouse nor arrow keys could place the cursor there, so no
paragraph could be created around it.

- add the prosemirror-gapcursor plugin as a TipTap extension (via
  @tiptap/pm, no new dependency; schema-neutral, so the editorSchema
  drift fence is unaffected)
- style the gap cursor bar in base.css -- the upstream package does not
  ship its stylesheet through our import path; the blink animation
  honors prefers-reduced-motion
- e2e: keyboard-only round trip that creates paragraphs before and
  after a lone table

Closes #335

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aoPvnakfBP28nAfijgUY9
2026-08-15 20:41:23 +02:00
..
e2e Gap cursor for block-edge positions (#335) 2026-08-15 20:41:23 +02:00
public #180: dark mode — Light/Dark/System setting with token-based dark palette 2026-07-28 20:40:47 +02:00
src Gap cursor for block-edge positions (#335) 2026-08-15 20:41:23 +02:00
Dockerfile #236: pin the Node version 2026-07-31 04:14:55 +02:00
index.html #306: instance branding — logo and favicon, cropped in the browser 2026-08-01 19:30:52 +02:00
nginx.conf #179: negotiate the SPA shell's lang attribute in nginx 2026-08-01 20:01:53 +02:00
package.json #171: A11y-Tooling — axe-Smoke-Pack in CI 2026-07-21 15:24:56 +02:00
playwright.config.ts Add CD workflow: build-push, deploy Test, smoke suite, promote Int 2026-07-04 19:57:16 +02:00
tsconfig.json Add React SPA shell with routing, layout, and API status 2026-07-04 19:19:12 +02:00
vite.config.ts Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
vitest.config.ts Keep Playwright specs out of Vitest collection 2026-07-05 00:28:28 +02:00