Repository navigation
Upstream 1/5: sponsor portal and Jira sync (dddperth #158–#172) - #22
Merged
JakeGinnivan merged 11 commits intoOct 19, 2026
Merged
Conversation
Upstreamed from dddwa/dddperth#158 (fork merge 272174d). Visual baselines are left fork-local. - fix(sponsor-portal): harden Jira sync and exports
Upstreamed from dddwa/dddperth#161 (fork merge 3d4e0e1). Visual baselines are left fork-local. - add runsheets page - add api call to atlassian to get issues - add params - add runsheets page - add api call to atlassian to get issues - add params - fix safe-routes - style buttons, get filter working - add filter select - fix table overflow, add icon for role instructions - remove old filter button - add comments - add location and team enums, update filter and rows to use enums for nice labels, refactor filter code in loader - add JiraAuth to get api creds from env - clean up - fix: make the runsheets route typecheck, lint and run on workerd - fix(runsheets): make the public run sheet safe to expose anonymously - refactor(runsheets): move Jira wiring out of core into fork config - fix(runsheets): use the existing Jira credentials, not a second copy Co-authored-by: Jet760 <jessicarturner00@gmail.com>
Upstreamed from dddwa/dddperth#162 (fork merge 6950d88). Visual baselines are left fork-local. - feat(sponsor-portal): prefill profile fields from Jira - docs(sponsor-portal): document the Jira prefill and Asset Upload URL
… exhibitor room Upstreamed from dddwa/dddperth#163 (fork merge e863bbb). Visual baselines are left fork-local. - fix(sponsor-portal): stop portal saves erasing committee logistics - docs(sponsor-portal): record the submitted-key rule and logistics prefill - fix(sponsor-portal): make Jira sync authoritative - refactor(sponsor-portal): clarify the Jira write-back control flow - feat(sponsor-portal): show the committee-assigned exhibitor room - test(sponsor-portal): add a collaboration harness over real SQL and a fake Jira - fix(sponsor-portal): stop every save clearing both checkbox groups
… support link Upstreamed from dddwa/dddperth#164 (fork merge 21e2376). Visual baselines are left fork-local. - fix(sponsor-portal): count committee Jira answers in progress and status flips - feat(sponsor-portal): offer the sponsorship inbox on every portal page
Upstreamed from dddwa/dddperth#168 (fork merge adafe7f). Visual baselines are left fork-local. - feat(app): retire the mobile app without breaking installed copies - fix(app): say the app is unsupported, not out of date - fix(app): state that no updates were made, rather than withdrawing support - refactor(app): move the retirement copy into conference config - fix(test): drop redundant awaits on the sync app-config loader - revert(app): drop the notice field, use existing app announcements
…sponsor saves Upstreamed from dddwa/dddperth#167 (fork merge c5f599c). Visual baselines are left fork-local. - fix(agenda): stop a null speaker tagLine 500ing every 2022 talk page - feat(sponsor-portal): make rejected sponsor saves visible in the logs
Upstreamed from dddwa/dddperth#169 (fork merge 62967a9). Visual baselines are left fork-local. - fix(a11y): stop content pages rendering a second <main>
Upstreamed from dddwa/dddperth#170 (fork merge ac2731e). Visual baselines are left fork-local. - feat(sponsors): add in-kind tier and share one tier list with the tooling
Upstreamed from dddwa/dddperth#172 (fork merge bc879f6). Visual baselines are left fork-local. - feat(admin): sponsor follow-up list with per-sponsor mailto drafts - chore: regenerate safe-routes types for the follow-up route - feat(admin): link each sponsor's upload folder from the follow-up list - feat(admin): explicit "Open in Jira" link on the follow-up list
…igured The Jira client and sync tests added with the fork's sponsor portal work read the conference's real Jira field mappings from the manifest. conference-stub configures no sponsor portal, so here they threw instead of skipping. Gate those suites on `conferenceManifest.sponsorPortal`, as sponsor-portal-config.test.ts already does: they assert in a fork with a portal and skip cleanly in the stub. Tests that build their own config still run everywhere. Also adapts the two assertions the fork added to sponsor-portal-config.test.ts to core's lazy `jira()` / `statusFlips()` accessors. The fork fixed the same collection-time crash differently (an early return), so its new lines read the values directly and failed typecheck once merged into core's version.
JakeGinnivan
added this pull request to stack #28
October 19, 2026 00:41
JakeGinnivan
deleted the
jakeginnivan/upstream-1-sponsor-portal-jira-sync
branch
October 19, 2026 01:33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
1/5 of the upstream catch-up. Sponsor portal and Jira sync, fork PRs #158, #161–#164, #167–#170 and #172.
One commit is new here rather than replayed (eb94625). The Jira mapping tests only made sense with DDD Perth's portal config, so they now skip when no sponsor portal is configured (
describe.runIf(conferenceManifest.sponsorPortal)), which is how core already handles this. The mergedsponsor-portal-config.test.tsassertions now use core's lazyjira()/statusFlips()accessors.Evidence
After: build, typecheck, lint (0 errors), unit tests, e2e (55 passed) and
pnpm vr(81 passed) all pass. Visual baselines are unchanged.Merge Danger
Door: one-way
Adds D1 migrations 0020–0024. Once a fork applies them, rolling back means writing down-migrations.
Blast Radius: sponsor-portal
Mostly behind the sponsor portal config, which the stub doesn't set. The mobile-app retirement and the public run sheet change touch every fork.
Part of a 5-PR stack that brings ddd-core up to date with every
core/change merged indddwa/dddperthsince #157. Each fork PR is replayed as one commit, credited to its author, with its fork PR number in the message. Merge the stack in order, starting at 1/5.