Renovate Bot
8bd448670b
Update dependency vite to v8.0.9
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 33s
CI / frontend-e2e (push) Successful in 1m39s
CI / build-and-publish (push) Has been skipped
2026-04-20 20:52:39 +00: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
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
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 >
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
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
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 >
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
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
nitrix
e01d5ee642
Merge pull request 'Implement cancel-event feature (016)' ( #38 ) from 016-cancel-event into master
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 38s
CI / frontend-e2e (push) Successful in 1m25s
CI / build-and-publish (push) Successful in 1m31s
2026-03-12 20:42:38 +01:00
nitrix
541017965f
Implement cancel-event feature (016)
...
Add PATCH /events/{eventToken} endpoint for organizers to cancel events,
cancellation banner for visitors, and RSVP rejection on cancelled events.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 19:52:22 +01:00
nitrix
981920f004
Merge pull request 'Update dependency eslint-plugin-oxlint to ~1.55.0' ( #36 ) from renovate/oxlint-monorepo into master
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m22s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #36
2026-03-12 19:07:29 +01:00
nitrix
bf0f4ffb7f
Merge pull request 'Rename path parameter {token} to {eventToken}' ( #37 ) from 015-rename-token-to-eventToken into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m23s
CI / build-and-publish (push) Successful in 1m12s
2026-03-12 18:11:09 +01:00
nitrix
58043d1507
Rename path parameter {token} to {eventToken} in OpenAPI spec
...
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m18s
CI / build-and-publish (push) Has been skipped
Aligns the path parameter naming with the value object convention
used throughout the codebase (eventToken, rsvpToken, organizerToken).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 18:07:44 +01:00
Renovate Bot
264c4ec21f
Update dependency eslint-plugin-oxlint to ~1.55.0
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m21s
CI / build-and-publish (push) Has been skipped
2026-03-12 17:02:27 +00:00
nitrix
6d7a55fdb3
Merge pull request 'Update dependency vite to v8' ( #31 ) from renovate/vite-8.x into master
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m21s
CI / build-and-publish (push) Has been skipped
Merge pull request 'Update dependency vite to v8' (#31 )
2026-03-12 17:55:13 +01:00
nitrix
a8aacf4ee9
Merge pull request 'Update dependency vitest to v4.1.0' ( #33 ) from renovate/vitest-monorepo into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency vitest to v4.1.0' (#33 )
2026-03-12 17:55:02 +01:00
nitrix
0a404ecde3
Merge pull request 'Update dependency @vitejs/plugin-vue to v6.0.5' ( #32 ) from renovate/vitejs-plugin-vue-6.x-lockfile into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency @vitejs/plugin-vue to v6.0.5' (#32 )
2026-03-12 17:54:54 +01:00
nitrix
01f9e3dac1
Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.11' ( #34 ) from renovate/vitest-eslint-plugin-1.x-lockfile into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.11' (#34 )
2026-03-12 17:54:47 +01:00
nitrix
ad607afe83
Merge pull request 'Update oxlint monorepo' ( #29 ) from renovate/oxlint-monorepo into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update oxlint monorepo' (#29 )
2026-03-12 17:54:40 +01:00
nitrix
7ab9068c14
Merge pull request 'Add cancel RSVP feature' ( #35 ) from 014-cancel-rsvp into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m17s
CI / build-and-publish (push) Has been skipped
2026-03-12 17:49:34 +01:00
nitrix
41bb17d5c9
Add cancel RSVP feature (backend DELETE endpoint + frontend UI)
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m18s
CI / build-and-publish (push) Has been skipped
Allows guests to cancel their RSVP via a DELETE endpoint using their
guestToken. Frontend shows cancel button in RsvpBar and clears local
storage on success. Includes unit tests, integration tests, and E2E spec.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:45:37 +01:00
Renovate Bot
a44b938f08
Update oxlint monorepo
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
2026-03-12 16:03:22 +00:00
Renovate Bot
7477a953c5
Update dependency @vitest/eslint-plugin to v1.6.11
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Has been skipped
2026-03-12 16:02:57 +00:00
Renovate Bot
7fb296b47f
Update dependency vitest to v4.1.0
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 15:02:35 +00:00
Renovate Bot
8ab7d345c8
Update dependency @vitejs/plugin-vue to v6.0.5
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 15:02:20 +00:00
Renovate Bot
cf2139f229
Update dependency vite to v8
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m14s
CI / build-and-publish (push) Has been skipped
2026-03-12 14:02:26 +00:00
Renovate Bot
60649ae4de
Update oxlint monorepo
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 07:01:59 +00:00
Renovate Bot
622932418d
Update dependency oxlint to ~1.53.0
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Has been skipped
2026-03-11 06:02:47 +00:00
nitrix
2a6a658df9
Merge pull request 'Make expiryDate an internal concern, auto-set to event date + 7 days' ( #25 ) from auto-expiry-date into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Has been skipped
2026-03-09 21:33:43 +01:00
nitrix
0441ca0c33
Make expiryDate an internal concern, auto-set to event date + 7 days
...
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
The expiry date is no longer user-facing: it is removed from the API
(request and response) and the frontend. The backend now automatically
calculates it as the event date plus 7 days. The expired banner and
RSVP-bar filtering by expired status are also removed from the UI,
since expiry is purely an internal data-retention mechanism.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 21:29:12 +01:00
Renovate Bot
e6711b33d4
Update dependency @vitest/eslint-plugin to v1.6.10
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 30s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Has been skipped
2026-03-09 20:02:48 +00:00
nitrix
751201617d
Add Open Graph and Twitter Card meta-tags for link previews
...
CI / backend-test (push) Successful in 1m9s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
Replace PathResourceResolver SPA fallback with SpaController that
injects OG/Twitter meta-tags into cached index.html template.
Event pages get event-specific tags (title, date, location),
all other pages get generic fete branding. Includes og-image.png
brand asset and forward-headers-strategy for proxy support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 20:25:39 +01:00