Skip to content

fix(app-space): read eventId query param case-insensitively - #2859

Merged
jung-thomas merged 1 commit into
DEVfrom
fix/appspace-eventid-case-insensitive
Oct 20, 2026
Merged

jung-thomas merged 1 commit into
DEVfrom
fix/appspace-eventid-case-insensitive

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Problem

On /app-space/?eventId=10000015 the eventId query parameter is case-sensitive — ?eventId= works but ?eventid= (or any other casing) silently falls back to the default event. Root cause: URLSearchParams.get('eventId') is case-sensitive.

Fix

hugo-apps/src/app-space/AppSpace.vue now iterates the query params and matches the key with k.toLowerCase() === 'eventid', so any casing resolves the event.

Test

Adds AppSpace.eventid-case.test.ts: asserts the backend getAppSpaceProgress call carries the URL-supplied id (not the default 0) for eventId, eventid, EVENTID, EventId.

  • With the fix: 4/4 pass.
  • Reverting only the component change: the 3 non-exact-case variants fail — the test genuinely guards the bug.

Notes

  • Frontend-only change (one Vue island); no backend/CAP change (the backend param is the positional OData eventLegacyId, unaffected).
  • The same case-sensitive pattern exists on /event-display/ (app/display-app/src/App.vue) and the /api/qrcode handler — left out of scope; happy to follow up if you want those aligned too.

/app-space/?eventId= worked but ?eventid= (or any other casing) silently
fell back to the default event, because URLSearchParams.get('eventId') is
case-sensitive. Iterate the params and match the key case-insensitively so
any casing of the eventid key resolves the event.

Adds a regression test asserting the backend getAppSpaceProgress call carries
the URL-supplied id (not the default 0) for eventId/eventid/EVENTID/EventId.
@jung-thomas
jung-thomas merged commit fc0fbc6 into DEV Oct 20, 2026
5 checks passed
@jung-thomas
jung-thomas deleted the fix/appspace-eventid-case-insensitive branch October 20, 2026 16:06
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