18b8106405
fix: use Map for abbreviations to handle mixed-case DevOps label
2026-04-05 16:13:23 +01:00
1cb029a881
feat: add seed-tags and migrate-community-connections scripts
...
Idempotent seed for 16 craft + 20 cooperative tags by slug. Migration
maps existing offering/lookingFor tags to communityConnections.topics
and copies peerSupport fields without deleting originals.
2026-04-05 16:11:52 +01:00
4b6ff19d5f
fix: add state enums to Connection matchingTags, index to TagSuggestion
2026-04-05 16:09:20 +01:00
8112e5ea47
feat: add Tag, TagSuggestion, Connection models and extend Member schema
...
Adds three new Mongoose models for the community connections feature. Extends
Member with craftTags, communityConnections block, privacy fields for both,
and a connectionRequests notification preference.
2026-04-05 16:06:03 +01:00
88c94aaaf4
Accessibility fixes.
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
2026-04-05 16:03:10 +01:00
4aacb26c4b
Add .worktrees/ to .gitignore
2026-04-05 15:57:36 +01:00
0ae18f495e
Tests, UX improvements.
2026-04-05 14:25:29 +01:00
4e6f5d36b8
UX/UI improvements.
2026-04-05 13:26:51 +01:00
418d3cc402
UI/UX tweaks and improvements.
2026-04-05 12:28:41 +01:00
4daec9b624
fix: move CI workflow from GitHub Actions to Forgejo Actions
2026-04-04 17:03:54 +01:00
61c16d8bac
fix: multi-stage Dockerfile and guard husky for Docker builds
...
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
Multi-stage build produces a smaller production image with only .output.
Husky prepare script now tolerates missing .git (Docker, CI).
2026-04-04 16:44:55 +01:00
1e30ba23cd
feat: add testing infrastructure — Vitest, Playwright, CI, git hooks
...
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
Add comprehensive testing covering 420 unit/handler tests across 24 Vitest
files, 9 Playwright E2E specs, accessibility scans, and visual regression.
Includes GitHub Actions CI, Husky pre-push hook, and TESTING.md docs.
2026-04-04 16:07:21 +01:00
036af95e00
fix: replace member.save() in invite.post.js and remove stale NUXT_PUBLIC_HELCIM_TOKEN env check
2026-04-04 14:02:06 +01:00
fdc925331d
fix: consolidate Helcim token to HELCIM_API_TOKEN for both server and widget
2026-04-04 14:00:17 +01:00
d31b5b4dac
fix: use private helcimApiToken for all server-side Helcim API calls
2026-04-04 13:37:34 +01:00
ccd1d0783a
fix: use canonical member email for series registration when authenticated
2026-04-04 13:27:47 +01:00
44f3ee8c8c
fix: check JWT auth before email lookup in series purchase
2026-04-04 13:26:01 +01:00
bc887ca1d4
fix: replace member.save() with findByIdAndUpdate in Slack invite helper
2026-04-04 13:24:22 +01:00
e592b962ec
fix: replace member.save() with findByIdAndUpdate in login.post.js
2026-04-04 13:22:36 +01:00
a7b04bfd3c
fix: remove explicit requireAuth import (Nitro auto-imports it)
2026-04-04 12:44:01 +01:00
c64933418b
feat: add skip-to-content links and aria-labels for accessibility
2026-04-04 12:42:07 +01:00
ee438f5c60
chore: remove working copies and superseded verify.get.js
2026-04-04 12:41:33 +01:00
e81000b5a6
feat: add .dockerignore and document BASE_URL in .env.example
2026-04-04 12:41:00 +01:00
a32e4de2ac
feat: wire welcome email for new member creation
2026-04-04 12:40:15 +01:00
8b7f124f15
refactor: use requireAuth in updates routes (optional-auth)
2026-04-04 12:39:09 +01:00
cbb519449a
refactor: use requireAuth in updates routes (required-auth)
2026-04-04 12:36:25 +01:00
15fdf77be8
feat: add /api/health endpoint for uptime monitoring
2026-04-04 12:35:26 +01:00
1875f16d48
feat: validate all required env vars at startup
2026-04-04 12:34:49 +01:00
255518a6a8
fix: throw on missing OIDC_COOKIE_SECRET in production
2026-04-04 12:34:06 +01:00
3b7b75ab70
fix: validate ticket type matches entitlement in series purchase
2026-04-04 12:31:58 +01:00
3620dad03a
fix: use requireAuth for member pricing to include revocation + status checks
2026-04-04 12:30:54 +01:00
cee67dc005
fix: use auth cookie for member pricing in series available endpoint
2026-04-04 12:28:55 +01:00
db04b270f4
fix: remove redundant connectDB in cancel-subscription
2026-04-04 12:27:34 +01:00
bbe94f0efb
fix: replace member.save() with atomic update in cancel-subscription
2026-04-04 12:26:56 +01:00
d4d9629d83
fix: remove redundant connectDB in verify (requireAuth handles it)
2026-04-04 12:25:25 +01:00
79c712a9e9
fix: replace member.save() with atomic update in verify
2026-04-04 12:24:52 +01:00
707ff7b13a
fix: remove redundant connectDB in logout (requireAuth handles it)
2026-04-04 12:24:24 +01:00
ab2532dee8
fix: replace member.save() with atomic update in logout
2026-04-04 12:23:01 +01:00
fcd6f4cdf4
feat: reskin admin pages to zine design system
...
Migrate the entire admin section from the dark guild-* Tailwind theme
to the zine design system (dashed borders, CSS custom properties,
Brygada 1918 + Commit Mono, cream/dark mode palette).
- Replace admin top-nav layout with sidebar matching default layout
- Reskin dashboard, members, events, series management pages
- Reskin events/create and series/create form pages
- Add dev-only test login endpoint (GET /api/dev/test-login)
- Redirect duplicate admin/dashboard.vue to /admin
- Update CLAUDE.md design system docs
2026-04-03 10:56:01 +01:00
f16f9ada64
fix: resolve sidebar nav hydration mismatch and admin events 500 error
...
Wrap auth-dependent sidebar navigation and meta in ClientOnly with
SSR fallback slots to prevent hydration mismatch that caused all
authenticated nav links to point to wrong pages. Fix admin events
page crash by replacing empty string USelect values with 'all'.
2026-04-03 09:24:29 +01:00
27d8f678ad
feat: cleanup deprecated components and background texture
2026-04-02 21:38:50 +01:00
2c5986a32e
feat: reskin modals to zine direction
2026-04-02 21:37:31 +01:00
1ac21d6a98
feat: reskin member pages to zine direction
2026-04-02 21:35:32 +01:00
88caca94c7
feat: reskin public pages to zine direction
2026-04-02 21:29:52 +01:00
8b3daadadd
feat: add zine-direction shared components
2026-04-02 21:16:00 +01:00
dbb3fbbc1b
feat: replace layout with fixed left sidebar and top strip
2026-04-02 21:11:47 +01:00
238d68d063
feat: replace design system tokens with zine direction palette and typography
2026-04-02 21:04:25 +01:00
30ac314a74
Updates!
2026-03-31 18:18:24 +01:00
df2e7e3356
Fix Go to Wiki and Sign out appearing side by side
...
Make both elements block w-full so they always stack vertically.
2026-03-19 18:13:33 +00:00
7cf6ce1833
Polish coming-soon and login modal styling
...
Move sign out below wiki button, tweak hover color, remove email
field label, rename 'Join Ghost Guild' to 'Pre-Register', and
remove 'Don't have an account?' text from login modal.
2026-03-19 18:07:20 +00:00