1bfe7e3437
Fix blueprints
2026-01-16 09:10:19 -07:00
8a11275849
Add sharing
2026-01-16 08:49:21 -07:00
240ce28692
Fix caddy generation script
2026-01-16 08:03:56 -07:00
7ba16af7dc
Once more
2026-01-15 22:36:05 -07:00
e05931fbe0
Once more
2026-01-15 22:35:20 -07:00
7cd42451dd
Once more
2026-01-15 22:34:38 -07:00
d5f34778e3
Fix again
2026-01-15 22:33:33 -07:00
c872e8a159
Fix dockerfile
2026-01-15 22:31:44 -07:00
667c490537
Add import/export
2026-01-15 22:27:17 -07:00
02ecca7598
Add docs
2026-01-15 22:21:52 -07:00
cb565b5ac8
Containerize frontend
2026-01-15 22:18:56 -07:00
92b3a5bc85
Fix caddy routing
2026-01-15 21:50:05 -07:00
e26662597a
Caddy
2026-01-15 21:29:57 -07:00
88c7350377
Add css
2026-01-15 21:05:49 -07:00
bfcc33cc50
Change pins to alphanumeric
2026-01-15 21:01:04 -07:00
a5f2f19898
Fix compose issues. Add host and end early
2026-01-15 20:51:20 -07:00
eee3e7e47b
Show host and early stop
2026-01-15 20:26:22 -07:00
1d8c08a680
Fix podium screen
2026-01-15 20:13:15 -07:00
1a7cd3e723
Add tests
2026-01-15 19:52:05 -07:00
a7ad1e9bba
System AI
2026-01-15 19:39:38 -07:00
e732256cbf
Stuff
2026-01-15 19:38:44 -07:00
68e5c0fac4
Cleanup params
2026-01-15 19:18:18 -07:00
7faf459e3c
Fix flow
2026-01-15 19:14:30 -07:00
14b65a2722
Fix groups
2026-01-15 18:55:09 -07:00
705119a297
Make user internal and default app kaboot
2026-01-15 18:33:50 -07:00
685b1fd414
Fix media files
2026-01-15 18:28:06 -07:00
0a26b696f4
Fix enrollment flow
2026-01-15 17:41:36 -07:00
89eda9c03a
Cache caddy stuff
2026-01-15 17:09:25 -07:00
97c054f67b
Update compose
2026-01-15 16:59:58 -07:00
1780efeea2
Update compose
2026-01-15 16:59:48 -07:00
131c744e59
Fix init script
2026-01-15 16:49:12 -07:00
ca74f9be09
Bump worker version
2026-01-15 16:35:15 -07:00
d40618996d
Fix blueprints
2026-01-15 16:03:00 -07:00
979af743bc
Fix docker compose
2026-01-15 15:51:29 -07:00
4cd6b2131e
Fix prod encryption key
2026-01-15 15:38:23 -07:00
4688a73559
Add api key and sorting on scoreboard
2026-01-15 14:49:10 -07:00
36b686bbd4
Add openrouter
2026-01-15 12:28:51 -07:00
7c03c594c1
Branding
2026-01-15 11:52:29 -07:00
e480ad06df
Add server security hardening and draft quiz persistence
...
Security:
- Add AES-256-GCM encryption for user PII (email, API keys, config)
- Add rate limiting (helmet + express-rate-limit)
- Require auth for file uploads
UX:
- Persist draft quizzes to sessionStorage (survives refresh)
- Add URL-based edit routes (/edit/draft, /edit/:quizId)
- Fix QuizEditor async defaultConfig race condition
- Fix URL param accumulation in Landing
2026-01-15 10:12:05 -07:00
75c496e68f
Add dns instructions
2026-01-15 08:55:07 -07:00
cdf5c2577e
Add info about admin user
2026-01-15 08:43:18 -07:00
c25cbf5101
Add better prod setup
2026-01-15 08:40:40 -07:00
279dc7f2c3
Scoreboard ui stuff
2026-01-15 08:21:38 -07:00
f0d177feeb
Fix game settings scrolling
2026-01-15 07:12:52 -07:00
5974134ad8
Add more tests
2026-01-15 07:08:50 -07:00
62281e1124
Fix client answer validation bug and improve scoreboard UX
...
Bug Fix:
- Fix stale closure bug in client answer validation where correct answers
were sometimes marked incorrect. The issue occurred when players answered
quickly after a question started - React's async state updates meant
currentCorrectShape could hold the previous question's value. Added
currentCorrectShapeRef to ensure the latest value is always used.
Scoreboard Improvements:
- Unified desktop/mobile layout: avatar, name, and points on first line;
progress bar on second line; bonus pills on third line
- Removed 5-player limit to show all players
- Added vertical scrolling when player list exceeds viewport
- Fixed layout to prevent content overflow issues
2026-01-14 22:21:10 -07:00
3d6081823c
Fix UI jank a bit
2026-01-14 21:47:40 -07:00
73c7d3efed
Add gemini key ability
2026-01-14 21:04:58 -07:00
9363f643f0
Add cors stuff
2026-01-14 19:44:13 -07:00
560c974bf3
Try fix mobile
2026-01-14 16:34:59 -07:00