Skip to content

CI, stale test fixes, and bundle/perf improvements - #168

Merged
snackman merged 7 commits into
masterfrom
chore/ci-tests-perf
Sep 29, 2026
Merged

snackman merged 7 commits into
masterfrom
chore/ci-tests-perf

Conversation

@snackman

Copy link
Copy Markdown
Owner

Summary

Tests

  • conferences.test.ts: the PBW fallback tab is now named Paris 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 set tagMatchAll: true, and a new test covers the OR default. App behavior is unchanged.

CI (.github/workflows/ci.yml)

  • Runs on pull requests and on pushes to master: Node 24, npm ci, tsc --noEmit, npm test.
  • npm run lint runs with continue-on-error, with a TODO, because there are about 50 existing errors.
  • next build is left out because it needs secrets.

Perf

  • SubmitEventModal, FriendsPanel, OnboardingWizard and RsvpOverlay are now loaded with next/dynamic (ssr: false). They mount the first time they open, using the new useHasOpened latch, and then stay mounted so the close animations and state work as before.
  • AuthModal is not lazy-loaded: Header imports UserMenu from the same module, so splitting it off would not remove any code from the main bundle.
  • mapbox-gl.css and our .mapboxgl-* overrides moved from globals.css into MapView (MapView.css), which is already dynamically imported. The mapbox CSS is now a separate chunk of about 40KB that only loads with the map.
  • Added loading="lazy" and decoding="async" to gallery flyers, OG thumbnails, friend avatars, UserAvatar and native ad images.
  • Added a 10s AbortSignal.timeout to the Google Sheets gviz fetch.
  • Moved openai to devDependencies. Only scripts/ uses it at runtime; src/ has one type-only import.

Verification

  • npx tsc --noEmit: clean
  • npm test: 265/265 passing
  • npx next build: succeeds

🤖 Generated with Claude Code

snackman and others added 7 commits September 29, 2026 02:44
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>
@vercel

vercel Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sheeets Ready Ready Preview Sep 29, 2026 6:49am UTC

Request Review

@snackman
snackman merged commit 0d28b21 into master Sep 29, 2026
3 checks passed
@snackman
snackman deleted the chore/ci-tests-perf branch September 30, 2026 00:51

This branch was successfully deployed

1 active deployment
Preview — 697bd423 Deployed Sep 29, 2026 by vercel[bot]
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