Commit Graph

191 Commits

Author SHA1 Message Date
Renovate Bot f3608bf11e Update dependency vitest to v4.1.4
CI / frontend-test (push) Successful in 38s
CI / backend-test (push) Successful in 1m35s
CI / frontend-e2e (push) Successful in 2m18s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:42:30 +00:00
nitrix bb4170b0b6 Merge pull request 'Update dependency @vitejs/plugin-vue to v6.0.6' (#54) from renovate/vitejs-plugin-vue-6.x-lockfile into master
CI / frontend-test (push) Successful in 29s
CI / backend-test (push) Successful in 1m11s
CI / frontend-e2e (push) Successful in 1m48s
CI / build-and-publish (push) Has been skipped
2026-04-20 23:39:14 +02:00
nitrix 5bd5da7561 Merge pull request 'Update dependency @types/node to v24.12.2' (#53) from renovate/node-24.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / backend-test (push) Has been cancelled
2026-04-20 23:39:03 +02:00
nitrix 6241a3db9c Merge pull request 'Update dependency @types/jsdom to v28.0.1' (#52) from renovate/jsdom-28.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / backend-test (push) Has been cancelled
2026-04-20 23:38:53 +02:00
nitrix e73b189056 Merge pull request 'Update dependency vue-router to v5.0.4' (#51) from renovate/vue-router-5.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / backend-test (push) Has been cancelled
2026-04-20 23:38:43 +02:00
nitrix c33a983390 Merge pull request 'Update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.13' (#50) from renovate/spring-boot into master
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
2026-04-20 23:38:34 +02:00
nitrix de5e566796 Merge pull request 'Update dependency vue-tsc to v3.2.7' (#47) from renovate/vue-tsc-3.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
2026-04-20 23:38:13 +02:00
nitrix f8a5aa2eb6 Merge pull request 'Update dependency msw to v2.13.4' (#45) from renovate/msw-2.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / backend-test (push) Has been cancelled
2026-04-20 23:38:03 +02:00
nitrix f518e02ce0 Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.16' (#42) from renovate/vitest-eslint-plugin-1.x-lockfile into master
CI / build-and-publish (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / backend-test (push) Has been cancelled
2026-04-20 23:37:54 +02:00
Renovate Bot d732c47139 Update dependency msw to v2.13.4
CI / frontend-test (push) Successful in 37s
CI / backend-test (push) Successful in 1m27s
CI / frontend-e2e (push) Successful in 2m13s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:28:32 +00:00
Renovate Bot a8a577f4a9 Update dependency vue-tsc to v3.2.7
CI / frontend-test (push) Successful in 36s
CI / backend-test (push) Successful in 1m40s
CI / frontend-e2e (push) Successful in 2m20s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:28:20 +00:00
Renovate Bot aacea71be8 Update dependency vue-router to v5.0.4
CI / frontend-test (push) Successful in 42s
CI / backend-test (push) Successful in 1m30s
CI / frontend-e2e (push) Successful in 2m26s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:28:12 +00:00
Renovate Bot 09fb1f1346 Update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.13
CI / frontend-test (push) Successful in 37s
CI / backend-test (push) Successful in 1m25s
CI / frontend-e2e (push) Successful in 2m23s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:27:42 +00:00
Renovate Bot 7fa510d8d8 Update dependency @vitest/eslint-plugin to v1.6.16
CI / frontend-test (push) Successful in 43s
CI / backend-test (push) Successful in 1m32s
CI / frontend-e2e (push) Successful in 2m17s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:27:36 +00:00
Renovate Bot a26d53b00e Update dependency @vitejs/plugin-vue to v6.0.6
CI / frontend-test (push) Successful in 35s
CI / backend-test (push) Successful in 1m34s
CI / frontend-e2e (push) Successful in 2m16s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:27:24 +00:00
Renovate Bot 95a74f83f7 Update dependency @types/node to v24.12.2
CI / frontend-test (push) Successful in 36s
CI / backend-test (push) Successful in 1m22s
CI / frontend-e2e (push) Successful in 2m24s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:27:20 +00:00
Renovate Bot 551ec8cafa Update dependency @types/jsdom to v28.0.1
CI / frontend-test (push) Successful in 33s
CI / backend-test (push) Successful in 1m14s
CI / frontend-e2e (push) Successful in 2m3s
CI / build-and-publish (push) Has been skipped
2026-04-20 21:27:15 +00:00
nitrix c37846df62 Merge pull request 'Update dependency @msw/playwright to v0.6.7' (#48) from renovate/msw-playwright-0.x-lockfile into master
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 30s
CI / frontend-e2e (push) Successful in 1m50s
CI / build-and-publish (push) Has been skipped
2026-04-20 23:00:00 +02:00
Renovate Bot 0408ce1f8e Update dependency @msw/playwright to v0.6.7
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m39s
CI / build-and-publish (push) Has been skipped
2026-04-20 20:52:06 +00:00
nitrix 2a8c8ddffd Merge pull request 'Update oxlint monorepo' (#46) from renovate/oxlint-monorepo into master
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m38s
CI / build-and-publish (push) Has been skipped
2026-04-20 22:47:56 +02:00
nitrix d13a5b2113 Add type parameters to vi.fn() mocks for oxlint 1.60 vitest rule
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 32s
CI / frontend-e2e (push) Successful in 1m39s
CI / build-and-publish (push) Has been skipped
oxlint 1.60 enables vitest/require-mock-type-parameters by default,
which requires explicit type parameters on all vi.fn() calls.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 22:42:51 +02:00
nitrix 8fb1927917 Pin oxlint to ~1.60.0 to match eslint-plugin-oxlint peer range
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Failing after 17s
CI / frontend-e2e (push) Successful in 1m42s
CI / build-and-publish (push) Has been skipped
eslint-plugin-oxlint@1.60.0 has a strict peerDependency of
oxlint@~1.60.0, and 1.61.0 is not yet released. Keep the two in
lockstep so npm install resolves cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 22:31:05 +02:00
Renovate Bot 1cda01d252 Update oxlint monorepo
renovate/artifacts Artifact file update failure
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Failing after 7s
CI / frontend-e2e (push) Failing after 8s
CI / build-and-publish (push) Has been skipped
2026-04-20 20:02:59 +00:00
nitrix b12106d3bf Merge pull request 'Add iCal download for calendar integration' (#43) from 019-ical-download into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 28s
CI / frontend-e2e (push) Successful in 1m37s
CI / build-and-publish (push) Successful in 1m0s
0.14.0
2026-03-14 11:40:42 +01:00
nitrix d0ed6790ef Update E2E tests for kebab menu and add iCal download tests
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m38s
CI / build-and-publish (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:40:51 +01:00
nitrix 92372b6a59 Add organizer kebab menu, bottom bar, and iCal download integration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:40:40 +01:00
nitrix 7817ad182b Unify header as fixed top bar with action slot
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:40:22 +01:00
nitrix 9483e9b1f7 Extract shared bar component CSS and add calendar button to RsvpBar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:40:12 +01:00
nitrix 75e6548403 Add iCal download composable with RFC 5545 VEVENT generation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:39:54 +01:00
nitrix d4a1f0dc23 Add slugify utility for filename sanitization
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:39:41 +01:00
nitrix 3d7efb14f7 Add iCal download feature spec and clean up implemented ideas
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:39:31 +01:00
nitrix 2f8b911af8 Fix datetime-local input overflow and invisible text on iOS Safari
CI / backend-test (push) Successful in 1m2s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m36s
CI / build-and-publish (push) Successful in 1m16s
The native datetime-local picker on iOS Safari has an intrinsic min-width
that exceeds the form container, and its webkit pseudo-elements don't
inherit the glass text color, making the selected value invisible.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0.13.0
2026-03-13 17:28:13 +01:00
nitrix e9791de4e2 Remove manual -webkit-backdrop-filter prefixes
LightningCSS (Vite 8) was stripping the unprefixed backdrop-filter when
it saw the manual -webkit- prefix, breaking blur effects in Firefox and
on production. Let LightningCSS handle prefixing automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:03:33 +01:00
nitrix 3b4cc7fbb9 Add explicit browserslist to frontend package.json
Ensures deterministic CSS output across build environments (local vs
Docker/Alpine) by pinning browser targets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:03:15 +01:00
nitrix 9c0e9249ce Upgrade Docker frontend stage from Node 24 to Node 25
Aligns the Docker build environment with the local development setup
which already uses Node 25.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:03:04 +01:00
nitrix 5082ec1333 Merge pull request 'Add organizer cancel-event flow to EventList' (#41) from 018-cancel-event-list into master
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m36s
CI / build-and-publish (push) Has been skipped
2026-03-13 16:27:50 +01:00
nitrix 35b488a8be Merge pull request 'Update dependency vite-plugin-vue-devtools to v8.1.0' (#40) from renovate/vite-plugin-vue-devtools-8.x-lockfile into master
CI / backend-test (push) Successful in 59s
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
Reviewed-on: #40
2026-03-13 16:24:25 +01:00
nitrix b067c0ef1e Add organizer cancel-event flow to EventList
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m35s
CI / build-and-publish (push) Has been skipped
Organizers can now cancel events directly from the event list via the
existing PATCH /events/{eventToken} API. The confirmation dialog shows
role-differentiated messaging: "Cancel event?" with a severity warning
for organizers vs. "Remove event?" for attendees. Responses 204, 409,
and 404 all result in successful removal from the local list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:23:04 +01:00
Renovate Bot 42686502d8 Update dependency vite-plugin-vue-devtools to v8.1.0
CI / backend-test (push) Successful in 53s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m31s
CI / build-and-publish (push) Has been skipped
2026-03-13 02:02:01 +00:00
nitrix 51ab99fc61 Introduce --color-danger-solid-* CSS variables and replace hardcoded values
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m30s
CI / build-and-publish (push) Successful in 58s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0.12.0
2026-03-12 23:24:58 +01:00
nitrix d52f51d6e1 Match cancel-event confirm button color with ConfirmDialog style
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:22:06 +01:00
nitrix c1760ae376 Apply consistent label color to cancel-event bottom sheet
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:19:26 +01:00
nitrix 6d51327e56 Add touch drag-to-dismiss gesture to BottomSheet
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:15:30 +01:00
nitrix 96044ae1ed Change create-event page title to "Great, a Party!"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:08:45 +01:00
nitrix f972a41e45 Extract BackLink component into App layout
Move back navigation (chevron + "fete" brand) from per-view
definitions into a shared BackLink component rendered in App.vue.
Shown on all pages except home. Hero overlay gets pointer-events:
none so the link stays clickable on the event detail page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:06:03 +01:00
nitrix 13b01dfba8 Add exclamation mark to RSVP CTA button ("I'm attending!")
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:36:44 +01:00
nitrix fd8724db8f Rename role badges to present participle (Organizing, Attending)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:34:36 +01:00
nitrix 8885dbd722 Soften RSVP cancellation dialog wording
Replace harsh "permanently cancelled" language with friendlier
"The organizer will no longer see you as attending" and rename
buttons from "Cancel attendance" to "Cancel RSVP".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:32:19 +01:00
nitrix c51eacb261 Merge pull request 'Implement watch-event feature (017)' (#39) from 017-watch-event into master
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m30s
CI / build-and-publish (push) Has been skipped
2026-03-12 22:25:21 +01:00
nitrix c450849e4d Implement watch-event feature (017) with bookmark in RsvpBar
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m30s
CI / build-and-publish (push) Has been skipped
Add client-side watch/bookmark functionality: users can save events to
localStorage without RSVPing via a bookmark button next to the "I'm attending"
CTA. Watched events appear in the event list with a "Watching" label.
Bookmark is only visible for visitors (not attendees or organizers).

Includes spec, plan, research, tasks, unit tests, and E2E tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:20:57 +01:00