Conversation
Sync: dev to main
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )
Note
Medium Risk
Touches production hot-path caching, new DB schema and PDF application payloads, and removes the staff audit log API/UI—worth careful migration and exec review on deploy.
Overview
This PR replaces stale hardcoded project cards with a
club_projecttable (seed viapnpm --filter @query/db db:seed:club-projects), wires the home page and/projectsto load the published roster from Postgres, and adds member-facing club project docs and terminology updates across the glossary and portal copy.Club project applications now require a pitch and accept an optional PDF resume (validated and stored on
initiative_applications, with a lazyapplicantResumefetch for leaders). Portal and email copy shift from “initiatives” to “projects” while routes stay on/initiatives.Admin analytics gains a cached
admin.growthprocedure and a Chart.js dashboard (membership/bootcamp trends); bootcamp admin adds cohort email copy/mailto. TheaudittRPC router and admin audit page are removed (along with related tests), while audit logging in the DB may still exist elsewhere.Performance and observability:
CacheService.getOrSetdeduplicates in-flight cache misses; eviction anddeletePatternare cheaper; many list/overview endpoints usegetOrSet; negative caching for non–project-leader admins; smaller hot-path fixes (event check-in lock, hackathon slug lookup, judge assignments in parallel, markup scan short-circuit). Grafana adds p99 panels; Prometheus records p99 and alerts onPortalApiTailSlow.Misc: bootcamp public/portal “updating soon” syllabus states and optional start date;
isJudgemiddleware formatting fix.Reviewed by Cursor Bugbot for commit fe07a94. Bugbot is set up for automated code reviews on this repo. Configure here.