Sponsor portal: count committee Jira answers in progress, and a support link - #164
Merged
Merged
Conversation
…tus flips sponsorProgress and statusFlipReadiness read the stored profile directly, while the forms beside them ran the same data through prefilledLogistics / prefilledProfileFields. So the dashboard measured only what the sponsor had typed and ignored everything the committee entered in Jira. iCetana (SPN-4) is the reported case: website, social quote and a 55" screen order all sat in Jira and all rendered on the forms, while the checklist read "0 of 3" and "Not started" twice. The costly half is the status flips, not the checklist. flipWorkstreamStatuses shares the same read, so a social quote the committee collected in August left the social status parked on "Quotes and Logos Pending (Sponsor)" — waiting on a sponsor who had already answered by email. Both now derive from one effectiveAnswers() helper that defers to the two existing prefill functions rather than merging inline, so authority stays per-form and asymmetric: profile fields flip on detailsUpdatedAt, logistics wholesale on logisticsUpdatedAt. Merging in one step would let an hour-old Jira snapshot resurrect a field the sponsor had just cleared. Adds a dashboardProgress seam to the harness so the checklist is assertable end-to-end, not just as a unit — the level at which the last two bugs escaped.
The portal is new this year, so the sponsorship team should hear about anything that looks wrong before a sponsor quietly gives up on it. Scoped rather than open-ended: the mailto carries a prefilled subject naming the portal and the sponsor, so portal bugs are triageable against the sponsorship enquiries already landing in that inbox. Lives in the portal layout, so the dashboard, company profile and event logistics pages all get it without three copies. Address comes from brand.sponsorshipEmail, so a sister conference gets its own.
JakeGinnivan
deleted the
jakeginnivan/prefill-social-quote-from-jira
branch
September 16, 2026 23:54
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.
Two follow-ups from reviewing the portal against real sponsor data (iCetana, SPN-4).
1. Progress ignored everything the committee put in Jira
sponsorProgressandstatusFlipReadinessread the stored profile directly, while the forms beside them ran the same data throughprefilledLogistics/prefilledProfileFields. So the dashboard counted only what the sponsor had typed — and contradicted the form sitting next to it.Checked against real Jira rather than inferred: iCetana has website, social quote and a 55" screen order in Jira, all rendering on the forms, while the checklist read "0 of 3" and "Not started" twice.
The expensive half isn't the checklist.
flipWorkstreamStatusesshares that read, so iCetana's quote — in Jira since August — left the social status parked on "Quotes and Logos Pending (Sponsor)", waiting on a sponsor who had already answered the sponsorship team by email. That has been silently holding back a real workstream.Both now derive from one
effectiveAnswers()helper that defers to the two existing prefill functions rather than merging inline, so authority stays per-form and asymmetric: profile fields flip ondetailsUpdatedAt, logistics wholesale onlogisticsUpdatedAt. Merging in one step would let an hour-old Jira snapshot resurrect a field the sponsor had just cleared — there's a test pinning that.Adds a
dashboardProgressseam to the collaboration harness, so the checklist is assertable end-to-end rather than only as a unit. That is the level at which the last two bugs in this area escaped.2. A support link on every portal page
Scoped rather than open-ended: the
mailto:carries a prefilled subject naming the portal and the sponsor (Sponsor portal issue — iCetana), because that inbox already takes live sponsorship enquiries and a bare address would drop portal bugs into the same stream with nothing to sort them by.Lives in the portal layout, so dashboard, company profile and event logistics all get it from one place. Address reads from
brand.sponsorshipEmail, so a sister conference fork gets its own.Verified
542 tests across 49 files,
tscclean,eslintclean.New coverage: Jira-only values count toward progress; a sponsor's clear still wins after they have submitted; the social status advances on a committee-collected quote; and the support link renders with a correctly encoded subject, same-tab, with no new-tab hint.
Not fixed here, and deliberately so
customfield_10140is genuinely null. The quote in the screenshot is the socials field.addAttachmentis upload-only, and SPN-4 carries five attachments (.svg,.png,.eps, a quote.docxand the signed agreement PDF) with nothing marking which is the website logo. Guessing wrong puts a signed contract on the public sponsors page.