Skip to content

fix: address five defects found reviewing the upstream feature stack (dddperth #208) - #29

Merged
JakeGinnivan merged 1 commit into
mainfrom
jakeginnivan/upstream-fork-pr-208-review-fixes
Oct 19, 2026
Merged

JakeGinnivan merged 1 commit into
mainfrom
jakeginnivan/upstream-fork-pr-208-review-fixes

Conversation

@JakeGinnivan

Copy link
Copy Markdown
Contributor

Upstreamed from dddwa/dddperth#208.

Why this one matters for syncing

When #24 was rebased over #21 (the agenda planner's endless revalidation loop), #24 had moved that logic into the shared useQueuedSave hook, which still had the bug. So the rebase carried #21's edge-triggered fix into the hook. Meanwhile the fork fixed the same loop independently, with a needsRevalidation ref. Left alone, the next /core-pull would conflict on use-queued-save.ts, with two different fixes in the same lines. This PR takes the fork's version, so both sides match.

The five fixes

  • admin: revalidate planner data only after queued edits (useQueuedSave, plus a new test)
  • agenda: serialize My Agenda shortlist reports, so the first response establishes the HttpOnly identity and add/remove keep their order (use-my-agenda, plus a new test)
  • volunteers: reject assignments across overlapping sessions
  • sponsors: preserve Jira paragraph and line breaks in rich-text fields
  • sponsors: preserve portal saves made during a Jira sync

Upstreamed vs left behind

  • All 15 changed files are inside core/; nothing outside it and no baselines
  • 14 are byte-identical to the fork's post-#208 copies
  • jira-client.test.ts keeps upstream's describe.runIf(conferenceManifest.sponsorPortal) guards (added during the catch-up). #208's new rich-text test builds its own Jira config, so it runs unguarded in the stub.

Testing

  • tsc clean; 739 unit tests pass (38 skipped, the same as main, including the 4 guarded Jira tests); eslint clean; build passes
  • pnpm vr passes against the existing baselines with none changed, as expected: no rendered output changes. WebKit tablet was re-run after two 35s capture timeouts.
  • Did not run the axe e2e suite

After this and #27 merge, the fork's next /core-pull should be close to a no-op for these files. I haven't done a trial pull to confirm it.

🤖 Generated with Claude Code

Upstreamed from dddwa/dddperth#208.

- fix(admin): revalidate planner data only after queued edits. Replaces
  the edge-triggered fix carried into `useQueuedSave` when #24 was
  rebased over #21; the fork fixed the same loop with a
  `needsRevalidation` ref, and keeping one version on both sides stops
  the next `/core-pull` conflicting on this file.
- fix(agenda): serialize shortlist reports to preserve identity and
  order
- fix(volunteers): reject assignments across overlapping sessions
- fix(sponsors): preserve Jira paragraph and line breaks
- fix(sponsors): preserve portal saves made during Jira synchronization

Every file is byte-identical to the fork's post-#208 copy except
`jira-client.test.ts`, which keeps upstream's
`describe.runIf(conferenceManifest.sponsorPortal)` guards. The new
rich-text test builds its own Jira config, so it runs in the stub.
@JakeGinnivan
JakeGinnivan merged commit ad6ba02 into main Oct 19, 2026
3 checks passed
@JakeGinnivan
JakeGinnivan deleted the jakeginnivan/upstream-fork-pr-208-review-fixes branch October 19, 2026 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant