Commit Graph
224 Commits
Author SHA1 Message Date
leanderandClaude Opus 5.5 d04afb3e0c Use real links in the "Other" dropdown
The items were buttons calling window.open() without noopener, which
let the opened page access window.opener. Links also support
middle-click and show the URL on hover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:50:23 +01:00
leanderandClaude Opus 5.5 c997b74d01 Verify Sanity webhook signatures in the revalidate route
The secret was passed in the query string, which ends up in access logs
and doesn't protect the request body. Verify the signed header with
@sanity/webhook instead, and return 400 for invalid JSON.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:48:49 +01:00
leanderandClaude Opus 5.5 c5c366884a Fetch only upcoming events from Sanity
Filter and limit in GROQ instead of fetching every event and filtering
in JavaScript. Event dates are stored as Oslo local time strings, so
compare them against the current Oslo time in the same format.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:46:06 +01:00
leanderandClaude Opus 5.5 b05ecf757d Handle events without a description
Event cards crashed on a missing description, and the event metadata
included "null" for missing fields. Truncate previews by grapheme so
emoji aren't split, and show descriptions of exactly 70 characters in
full.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:41:07 +01:00
leanderandClaude Opus 5.5 1f82345a2f Keep .env and local build artifacts out of the Docker image
Without a .dockerignore, COPY . . baked the .env file (including the
webhook secret) into the image and overwrote the container's
node_modules with the host's. Pass public build-time values as build
args and provide the rest at runtime through env_file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:38:49 +01:00
leander d03278ef0d replace deprecated next lint with eslint 2026-10-30 21:30:12 +01:00
leanderandClaude Opus 5.5 da3d26d16b Render pages statically using next/root-params
getLocale() read request headers, which made every route dynamic and the
page-level revalidate a no-op. Make [locale]/layout.tsx the root layout
so the locale can be read through next/root-params, set <html lang>, add
generateStaticParams for locales and slugs, and pass the locale
explicitly to metadata translations.

The middleware now matches all non-file paths so URLs without a locale
are redirected instead of hitting the root layout's notFound().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:28:32 +01:00
leanderandClaude Opus 5.5 a8b31a5379 Expire cache tags immediately on webhook revalidation
The "max" profile serves stale content once more while revalidating, so
the first visit after publishing showed the old version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:18:07 +01:00
leander 30da54c78e use next cache instead of sanity's cache 2026-10-30 21:16:08 +01:00
leander 13463d4eeb fetch board member data on data change 2026-10-30 21:13:58 +01:00
leander d44fbfa9d7 fix 404 page i18n handling 2026-10-30 21:11:53 +01:00
leander 52b8f2b7b7 remove redundant layout tags 2026-10-30 21:03:53 +01:00
leander 38f1ba69b4 return 404 on no data for blogposts/events 2026-10-30 21:02:32 +01:00
leander 39ad3947fd run npm audit fix 2026-10-30 15:49:10 +01:00
leander 14c1403e6d fix some vulns 2026-10-22 19:04:06 +02:00
leander e238eed619 clarify webhook api deployment 2026-09-10 02:17:26 +02:00
leander 08bc43942a fix vulns 2026-08-29 16:47:38 +02:00
leander b0e343a390 Merge pull request #55 from UiO-Gaming/dependabot/npm_and_yarn/multi-5a59400ff4
Bump brace-expansion
2026-08-28 21:08:07 +02:00
leander c7d646362b Merge pull request #54 from UiO-Gaming/dependabot/npm_and_yarn/next-15.5.24
Bump next from 15.5.18 to 15.5.24
2026-08-28 21:07:32 +02:00
dependabot[bot] 2183175de6 Bump brace-expansion
Bumps  and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together.

Updates `brace-expansion` from 1.1.14 to 1.1.18
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18)

Updates `brace-expansion` from 2.1.0 to 2.1.4
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
- dependency-name: brace-expansion
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-28 19:05:43 +00:00
dependabot[bot] bf6f282155 Bump next from 15.5.18 to 15.5.24
Bumps [next](https://github.com/vercel/next.js) from 15.5.18 to 15.5.24.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v15.5.18...v15.5.24)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.24
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-28 19:04:30 +00:00
leander 8480327a4c Merge pull request #53 from UiO-Gaming/dependabot/npm_and_yarn/next-15.5.18
Bump next from 15.5.15 to 15.5.18
2026-05-14 22:35:19 +08:00
dependabot[bot] 30abf637ac Bump next from 15.5.15 to 15.5.18
Bumps [next](https://github.com/vercel/next.js) from 15.5.15 to 15.5.18.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.5.15...v15.5.18)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.18
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 13:45:01 +00:00
leander 93b2dc4d4e fix vulns 2026-04-14 04:25:01 +02:00
leander 183e519a19 fix CVE-2026-27903 2026-03-23 15:14:15 +01:00
leander 1c02352aad add section ids
allow linkink to certain parts of the homepage
2026-03-09 21:03:48 +01:00
leander abcc39ce6d fix GHSA-h25m-26qc-wcjf 2026-02-14 15:41:52 +01:00
leander e9cff6ab84 another day, another vuln to fix 2026-01-19 02:08:14 +01:00
leander 6cc19ea4fb LET ME ENJOY MY VACATION IN PEACE STUPID FUCKING FRAMEWORK 2025-12-13 03:28:28 +01:00
leander 743df3691c Merge pull request #52 from UiO-Gaming/dependabot/npm_and_yarn/multi-79dce8efd9
Bump glob and npm
2025-12-13 02:24:34 +00:00
dependabot[bot] afa4e5580c Bump glob and npm
Removes [glob](https://github.com/isaacs/node-glob). It's no longer used after updating ancestor dependency [npm](https://github.com/npm/cli). These dependencies need to be updated together.


Removes `glob`

Updates `npm` from 11.5.2 to 11.7.0
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.5.2...v11.7.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 
  dependency-type: indirect
- dependency-name: npm
  dependency-version: 11.7.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-13 02:24:04 +00:00
leander 8a7ecf223d everyday I wake up to a new js-something vuln and I'm sick and tired of it
let me vacation in peacegit add .git add .
2025-12-09 12:58:09 +01:00
leander 3c6c55afd9 use padding instead of margin for event page spacing 2025-09-16 04:20:03 +02:00
leander 38d015fb20 add left margin to back button 2025-09-16 04:16:29 +02:00
leander d871eee968 add larger top and bottom margin to event pages 2025-09-16 04:13:30 +02:00
leander 2591eacd14 Merge pull request #51 from UiO-Gaming/fix/translation-rewrite
fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple fuck apple
2025-09-16 04:09:47 +02:00
leander 017f5154b1 Rewrite translation logic
Rerendering translations apparently caused issues with safari because
apple fucking sucks. Thus we had to rewrite the logic to use
prefix-based translations. This is the attempt at this. It might be a
mega commit but it's how it ought to be...
2025-09-16 03:31:11 +02:00
leander 1434528e4f add timezone to docker image 2025-08-24 19:14:18 +02:00
leander 0e283cc794 add pc room image alt text translations 2025-08-21 04:27:34 +02:00
leander e04422acb4 change phrasing of office description 2025-08-21 04:23:45 +02:00
leander 30b49ee8c9 add timezone to next-intl request middleware 2025-08-21 04:01:03 +02:00
leander 267bce6422 new 3d office + pc room image 2025-08-21 04:01:03 +02:00
leander 540ce583c9 add mazemap iframe with office directions 2025-08-11 14:44:58 +02:00
leander 48ff006c13 add restart clause to docker compose 2025-08-07 20:27:16 +02:00
leander 0fc5a7a7b6 move footer orginfo to center of grid container 1.0.0 2025-08-06 01:19:55 +02:00
leander 864aef1b7b make dropdown menu buttons at least the length of the parent button 2025-08-06 01:17:43 +02:00
leander 50bdf6503e reintroduce translation support 2025-08-06 01:16:40 +02:00
leander b4bb073d87 minor event image width increase 2025-08-01 04:44:51 +02:00
leander 8e7f4b7659 make a mess and add max width to footer 2025-08-01 04:32:38 +02:00
leander b00debdbb0 make dropdown buttons thinner 2025-08-01 04:07:23 +02:00