Skip to content

fix(submit): website submissions now reach the pipeline (#19)#144

Open
Jose-Gael-Cruz-Lopez wants to merge 1 commit into
mainfrom
fix/submit-template-19
Open

fix(submit): website submissions now reach the pipeline (#19)#144
Jose-Gael-Cruz-Lopez wants to merge 1 commit into
mainfrom
fix/submit-template-19

Conversation

@Jose-Gael-Cruz-Lopez

Copy link
Copy Markdown
Collaborator

Closes #19

This is not the cosmetic fix the issue described

#19 asked for the Submit button to use the link_only.yaml template instead of a hand-built issues/new?title=&body= URL. Looking at what the automation actually reads, that's not a polish item — every hackathon submitted through the website was dead on arrival.

The pipeline does not read free text:

  • contribution_approved.py looks up issue-form fields by id (link_to_hackathon_page, …). A free-text body has none, so it raises Missing required field: URL.
  • auto_extract.yml only runs on issues carrying the auto_extract label — which only the issue form applies.

So the button appeared to work, opened a nice prefilled issue, and handed the pipeline something it cannot digest. A maintainer approving one got an error comment.

The fix

submitIssueUrl() now targets ?template=link_only.yaml and prefills the form's own url field, matching the Add: title prefix the template already uses.

Verified against the real GitHub form — the template loads, the title is prefilled Add: HackMIT 2026, and the "Link to Hackathon" input carries the URL. (I loaded the page only; nothing was submitted.)

The test pins the query param to a field id the template actually declares: GitHub prefills by id:, so renaming the input would silently stop the prefill and drop submitters onto a blank form — the same class of quiet failure this PR is fixing.

⚠️ This fix is necessary but NOT sufficient — please read

While verifying, I found the repo has only one label: community. auto_extract, new_opportunity, and approved do not exist.

GitHub silently drops template labels that don't exist. So an issue created from link_only.yaml gets community and nothing else — which means:

  • auto_extract.yml requires approved and auto_extractcan never fire
  • contribution_approved.yml requires approvedcan never fire

The entire documented contribution flow in CONTRIBUTING ("paste a link → maintainer adds approved → AI extracts → automation adds it") is currently dormant, regardless of this PR. That would explain why recent hackathons have been landing via hand-written PRs.

Creating those three labels is a repo-settings change, so I have not done it. Say the word and I'll add auto_extract, new_opportunity, and approved — after that this PR's fix actually completes the loop.

Verification

npm run test (85 pass, 5 new), npm run build, npx tsc --noEmit, npm run lint all clean.

The Submit button built a free-text issue (issues/new?title=&body=). The
pipeline does not read free text: contribution_approved.py looks up issue-FORM
fields by id, and auto_extract.yml only runs on issues carrying the
auto_extract label, which only the form applies.

So every hackathon submitted through the website produced an issue that, once a
maintainer approved it, failed with 'Missing required field: URL'. The button
looked like it worked and quietly fed the pipeline something it cannot digest.

Now targets ?template=link_only.yaml and prefills the form's own 'url' field,
matching the title prefix the template already uses.

The test pins the query param to a field id the template actually declares -
rename the input and the prefill silently stops filling anything, which is the
same class of quiet failure this commit is fixing.
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.

Frontend: Submit CTA (prefilled GitHub issue) + responsive polish

1 participant