dorfteich/apps/web/src
Claude Opus 5 45f1925917
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m28s
CI / Import/export fidelity gate (pull_request) Has been skipped
CI / Auth e2e pack (pull_request) Failing after 4m1s
CI / Build container images (pull_request) Successful in 4m3s
#302: configurable pond start page, created with every new pond
Opening a pond landed on whatever sorted first in the sidebar — stable,
but a rule nobody could see, and one whose target moved as soon as
someone added a page ahead of it. New ponds landed on the empty-pond hint
instead of anything useful.

- `startPageId` joins the pond settings. No migration: `Pond.settings` is
  already jsonb. It stores an id, not a slug, so renaming or moving the
  page keeps it working.
- `PondHomePage` prefers it, but only when the page is in this user's
  page list. That list already holds just what they may see, so a start
  page hidden by a page-scoped grant — or trashed — falls back silently
  instead of landing them on a 404, and it costs no extra request.
- Both creation paths give the pond a start page, titled from the
  creator's stored locale. It happens after the creating transaction
  commits: the owner's grant is written inside it and permissions cache
  per pond, so creating the page any earlier would ask about rights the
  grant has not published yet. A failure is logged, not fatal — a pond
  without a start page still works.

`PagesModule` imported `PondsModule` without using it. Removing that
vestigial edge let PondsModule depend on PagesModule in the honest
direction instead of tying the two together with forwardRef.

Every pond created through the api now owns a page, which broke eight
suites whose teardown deleted ponds directly — `Page.pond` deliberately
has no cascade, because a real purge removes contents explicitly and
audits it. A shared `deletePondsWhere` helper deletes pages first. Two
tests that counted pages now account for the start page rather than
pretending the pond began empty.
2026-08-01 08:06:35 +02:00
..
access #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
api-tokens #168: Formulare — Fehler-Verdrahtung und Namenslücken 2026-07-21 14:26:54 +02:00
auth Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
comments #133 Kommentare fest inline im Lesemodus (Slide-in-Panel ablösen) 2026-07-19 01:22:22 +02:00
components #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
editor #169: Nicht-Text-Inhalte — Task-Checkboxen, Wissensgraph 2026-07-21 14:35:16 +02:00
export Move page actions into the TopBar as self-hosted icon buttons (#101) 2026-07-12 04:39:42 +02:00
favorites Favorites: personal page stars, golden icons, sidebar filter (#132) 2026-07-16 12:03:55 +02:00
files #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
fonts Add per-pond fonts: catalog, build, application, and admin UI (#66) 2026-07-10 11:16:29 +02:00
graph #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
i18n #302: configurable pond start page, created with every new pond 2026-08-01 08:06:35 +02:00
import #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
labels #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
layout #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
lib #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung 2026-07-21 14:39:03 +02:00
links Offer creating the page on the not-found screen (#115) 2026-07-14 16:45:27 +02:00
members #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
notifications #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
offline Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
pages #302: configurable pond start page, created with every new pond 2026-08-01 08:06:35 +02:00
plugins draw.io reference plugin: fullscreen editing, inline SVG rendering 2026-07-12 14:15:30 +02:00
ponds #302: configurable pond start page, created with every new pond 2026-08-01 08:06:35 +02:00
search #211: classification through feeds, public API, search and the no-JS shell 2026-07-31 07:23:53 +02:00
setup Add the first-run setup wizard UI (#81) 2026-07-11 16:05:01 +02:00
styles #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
theme #186: pond accent theming — scoped derivation, cascade pond > user > default 2026-07-29 09:09:36 +02:00
watches #300: route icon-only controls through IconButton/IconLink 2026-08-01 06:56:13 +02:00
App.tsx Pond knowledge graph view (#112) 2026-07-14 10:59:07 +02:00
main.tsx #207: print stylesheet with the classification on every printed sheet 2026-07-31 06:48:44 +02:00