Skip to content

Release v0.2.4: funder chips, profile completeness gate - #234

Merged
neuromechanist merged 22 commits into
mainfrom
staging
Aug 3, 2026
Merged

Release v0.2.4: funder chips, profile completeness gate#234
neuromechanist merged 22 commits into
mainfrom
staging

Conversation

@neuromechanist

Copy link
Copy Markdown
Contributor

Promotes staging to production at v0.2.4.

Changes since v0.2.3

#204 — empty funder chips on dataset pages (PR #230). Funding.funder never
existed; the API sends funder_name, so every dataset page rendered blank funder
spans. Renames the field, adds the two the type omitted (award_uri,
funder_identifier_type), and adds displayableFunding() which trims and drops
nameless entries so a null cannot recreate the blank chip. Review surveyed the full
catalog to check that dropping nameless entries hides nothing: 1080 funding entries
across 408 datasets, all carrying funder_name, none carrying funder, none with
award data and no funder name.

#226 — profile completeness (PR #231). Dismissible dashboard nudge, plus a
server-side city/country gate on /upload that withholds the form rather than hiding
it. src/lib/profile.ts is the single definition of "complete" shared by all
surfaces. GitHub handle stays a publish-time requirement, not an upload one, per
#129.

Docs (#232, #233). Closes #N does not fire on PRs merged to staging (GitHub
honours closing keywords only on the default branch), plus the v0.2.4 handoff.

Release verification

Verified on test.nemar.org running this exact commit (0.2.4+0e7f3a6), signed in with
a real backend session:

  • /upload renders the gate with zero data-upload-form in the HTML
  • dashboard renders the nudge, dismissal key scoped to the session user id
  • dataset pages render real funder names

Dev-auth containment checked explicitly, since this release adds a
@nemar.blank dev persona to auth-dev.ts: a production build contains zero
occurrences of nemar.blank, buildDevUser, or the persona strings. The
import.meta.env.DEV branch is dead-code-eliminated and buildDevUser has no other
call site.

No JS crash path on the gated upload page: every element dereference in
upload.astro's script sits behind an early-return null guard, the only top-level
wiring is optional-chained (form?., precheckReset?.), and UploadDropzone's
script is wrapped in if (zone && input), so the nemar:files-dropped event can
never be dispatched when the form is withheld.

Risk

Low. Nothing here touches host routing, canonical origins, middleware, or auth
proxying, so the staging single-host limitation (website#212) does not leave a gap
for this release. The one behavioral change for existing users is the upload gate,
which affects only accounts missing city or country.

nemar-bot and others added 22 commits August 2, 2026 21:01
Docs: promotion is a release PR, not a direct push
Fix empty funder chips on dataset pages
Docs: Closes #N does not fire on staging PRs
…ness

Nudge incomplete profiles, gate upload on city and country
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying nemar-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0e7f3a6
Status: ✅  Deploy successful!
Preview URL: https://10876ca1.nemar-website.pages.dev
Branch Preview URL: https://staging.nemar-website.pages.dev

View logs

@neuromechanist
neuromechanist merged commit 1716496 into main Aug 3, 2026
10 checks passed
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