Repository navigation
CI, stale test fixes, and bundle/perf improvements - #168
Merged
Merged
Conversation
PBW fallback tab is now named 'Paris Blockchain Week 2026', and the tag filter defaults to OR (any) since 9df58e7; AND tests now opt in via tagMatchAll and an OR default test is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Only scripts/crawl-sponsors.ts uses it at runtime; src/lib/sponsor-extraction.ts has a type-only import. Also syncs the lockfile's eslint-config-next spec. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move the mapbox-gl.css import and our .mapboxgl-* overrides out of globals.css into MapView (already loaded via next/dynamic), so non-map routes don't ship the map stylesheet. Overrides are imported after the mapbox CSS to keep cascade order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SubmitEventModal, FriendsPanel, OnboardingWizard and RsvpOverlay are now loaded via next/dynamic (ssr: false) and only mounted on first open, so their chunks aren't fetched on initial page load. useHasOpened keeps them mounted after first open to preserve existing close animations/state. AuthModal is left static because Header imports UserMenu from the same module. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add loading="lazy" / decoding="async" to gallery flyers, OG thumbnails, friend avatars, UserAvatar and native ad images. No width/height added: all are sized by CSS (aspect-square / fixed size classes), so no CLS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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
Tests
conferences.test.ts: the PBW fallback tab is now namedParis Blockchain Week 2026, so the expectations were updated.filters.test.ts: the tag filter has defaulted to OR since 9df58e7. The two AND tests now settagMatchAll: true, and a new test covers the OR default. App behavior is unchanged.CI (
.github/workflows/ci.yml)master: Node 24,npm ci,tsc --noEmit,npm test.npm run lintruns withcontinue-on-error, with a TODO, because there are about 50 existing errors.next buildis left out because it needs secrets.Perf
SubmitEventModal,FriendsPanel,OnboardingWizardandRsvpOverlayare now loaded withnext/dynamic(ssr: false). They mount the first time they open, using the newuseHasOpenedlatch, and then stay mounted so the close animations and state work as before.AuthModalis not lazy-loaded:HeaderimportsUserMenufrom the same module, so splitting it off would not remove any code from the main bundle.mapbox-gl.cssand our.mapboxgl-*overrides moved fromglobals.cssintoMapView(MapView.css), which is already dynamically imported. The mapbox CSS is now a separate chunk of about 40KB that only loads with the map.loading="lazy"anddecoding="async"to gallery flyers, OG thumbnails, friend avatars,UserAvatarand native ad images.AbortSignal.timeoutto the Google Sheets gviz fetch.openaito devDependencies. Onlyscripts/uses it at runtime;src/has one type-only import.Verification
npx tsc --noEmit: cleannpm test: 265/265 passingnpx next build: succeeds🤖 Generated with Claude Code