Commit Graph

42 Commits

Author SHA1 Message Date
d215333128 Add admin UI for managing radio fallback music
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m44s
Upload, list, and delete fallback music files from the admin page.
Backend handlers validate file type/size and prevent path traversal.
Nginx max body size increased to 50M to support large audio files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 16:19:10 +01:00
75cede3b1b Fix security vulnerabilities across backend, frontend, and infra
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m44s
- Fix auth bypass in UpdatePost/DeletePost (missing return after auth check)
- Remove Spotify access token from callback response
- Replace internal error messages with generic responses in all handlers
- Harden GraphQL: complexity limit, disable playground/introspection in prod
- Add security headers (X-Frame-Options, HSTS, etc.) to nginx
- Disable Hasura console/dev mode in production
- Add DOMPurify sanitization to Markdown component
- Fix cookie removal to use correct domain/path from auth config
- Fix nil dereference in rowing handler when Claude API errors
- Fix wildcard CORS on stamp endpoint
- Pin nginx and certbot Docker image versions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 23:59:10 +01:00
264df132df Add Steam integration showing online status and recent games
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
Fetches player summary and recently played games from Steam API with
5-minute server-side caching. Displays in the home sidebar with online
indicator and game artwork.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 01:59:34 +00:00
7381cda7b8 Move Gitea feed from frontend to backend with cached GraphQL proxy
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m39s
Replaces direct browser-to-Gitea API calls with a backend service that
proxies and caches the feed (1-min TTL), served via the existing GraphQL
HomeData query. Commit message parsing now happens server-side.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 00:14:59 +00:00
0360b1f7f1 Consolidate frontend REST calls with GraphQL
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 1s
Replace 5 separate REST calls on home page load with a single GraphQL
query. Add homeData store that fetches posts, favorites, activities,
spotify, and auth in one request. Convert all admin mutations and
auth flows to use GraphQL. Add album images to Spotify GraphQL schema.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 15:29:22 +00:00
bad44a6ddd Separate admin protected endpoints from non-admin endpoints 2026-03-10 12:32:47 +00:00
cb326ff8bf Add promote / demote user to admin and reintroduce create user dashboard 2026-03-10 12:18:24 +00:00
8e50537333 Get AI to fix vunerabilities in site
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
2026-03-09 14:12:29 +00:00
4c396ef30f Add file upload to website and integrate into chat
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
2026-03-09 13:47:38 +00:00
9fa953c969 Add local dev mode with HTTP-only nginx and DB seeding)
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m11s
2026-03-07 17:36:54 +00:00
a83b98eb2b Make chat persistent across reboot
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m25s
2026-03-05 21:43:04 +00:00
95635c86b3 Fix up live chat
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m26s
2026-03-05 19:14:05 +00:00
2c1ecce99a Merge remote-tracking branch 'gitea/rowing'
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m48s
2026-03-04 14:32:34 +00:00
1d4beca336 Add claude client to store 2026-03-04 14:21:51 +00:00
e92ac49140 new components 2026-02-10 16:46:49 +00:00
f546e8ae23 adding new tables 2026-02-06 12:52:52 +00:00
8245a9adde fix logging 2026-01-25 15:53:37 +00:00
02d70ee5db init commit websocket 2026-01-22 10:23:33 +00:00
5e355859b2 fix trusted proxies 2026-01-18 10:45:41 +00:00
e384223f13 added backend logs 2026-01-18 10:34:31 +00:00
18c87c170b make notes api return any file (so images and etc can be sent) 2026-01-13 12:13:20 +00:00
3e56b7b12f fixed file path 2026-01-12 16:06:06 +00:00
99ace613ce added obsidian note api 2026-01-12 15:46:01 +00:00
9a0c054968 added logout section 2025-12-10 01:41:31 +00:00
74f72022e0 fixed db errors 2025-12-09 23:15:06 +00:00
57a6134d24 added check token handle 2025-11-30 13:44:20 +00:00
f5935e9f52 adding jwt authentication 2025-11-30 01:40:06 +00:00
160dd24bf2 adding recently played endpoint 2025-11-29 00:30:34 +00:00
0466d9d288 adding jwt tokens 2025-11-25 16:03:05 +00:00
38c02b1986 new image size 2025-11-23 22:47:57 +00:00
09106ccb75 added listening to port && store creation 2025-11-23 21:39:06 +00:00
a70d765361 listening to added 2025-11-23 21:34:20 +00:00
e14233208d adding client info 2025-11-23 20:56:06 +00:00
2c11d724f9 adding auth 2025-11-23 20:40:50 +00:00
8ed08d8f3d adding spotify what am I listening to api 2025-11-22 11:29:11 +00:00
807dea6854 add usage of environment variables 2025-11-20 19:35:58 +00:00
22d0cb7f79 adding environment variables 2025-11-20 18:04:57 +00:00
10b5dfabfd rename db 2025-11-18 23:57:27 +00:00
5013b67db2 implemented post creation, deletion and update api 2025-11-18 23:25:56 +00:00
32327afc70 implemented post handler 2025-11-18 15:51:36 +00:00
fee7e26336 adding gorm 2025-11-17 22:26:21 +00:00
6206445e58 added backend 2025-11-16 14:16:30 +00:00