-
911bdd97d5
Merge pull request 'UI Improvements' (#4) from develop into main
main
jhalitaksoy
2026-10-17 03:36:43 +0300
-
-
c3b77a404c
Merge branch 'feature/theme-polish' into develop
develop
Halit Aksoy
2026-10-17 03:28:04 +0300
-
-
12538a0ef8
docs(todo): list what documenting the deployment needs
Halit Aksoy
2026-10-17 03:28:04 +0300
-
a07390c4cc
Merge pull request 'Release: Quarkus backend, Keycloak login, game history, clock, bot, tutorial and rematch' (#3) from develop into main
jhalitaksoy
2026-10-17 03:23:37 +0300
-
-
077cf0185c
fix(keycloak): stop browsers from keeping the old login look
Halit Aksoy
2026-10-17 03:01:25 +0300
-
6f88658c60
feat(frontend): simplify the header as in the updated design
Halit Aksoy
2026-10-17 02:59:26 +0300
-
537a874374
docs: describe the themed login pages and messages
Halit Aksoy
2026-10-17 02:45:11 +0300
-
342a2455fa
feat(keycloak): give the login pages the app's three themes
Halit Aksoy
2026-10-17 02:44:54 +0300
-
64149320ac
feat(frontend): remember the theme in a cookie for the login pages
Halit Aksoy
2026-10-17 02:40:07 +0300
-
dfdb4b057c
feat(frontend): show messages at the top in the theme's colors
Halit Aksoy
2026-10-17 02:39:41 +0300
-
35c2f904a0
docs(theme-polish): add the spec
Halit Aksoy
2026-10-17 02:28:40 +0300
-
-
e763682483
Merge branch 'feature/rematch' into develop
Halit Aksoy
2026-10-17 02:22:49 +0300
-
-
a3fe708746
docs: describe rematches and series
Halit Aksoy
2026-10-17 02:21:01 +0300
-
79f68416ee
feat(frontend): show the series above the game
Halit Aksoy
2026-10-17 02:15:53 +0300
-
aa68f04b28
feat(frontend): offer a rematch on the game over card
Halit Aksoy
2026-10-17 02:09:22 +0300
-
94fc7fcbc7
feat(core): add rematch channels, series types and texts
Halit Aksoy
2026-10-17 02:05:12 +0300
-
af11fd1cf1
feat(backend): save the series of each game
Halit Aksoy
2026-10-17 02:04:24 +0300
-
dbaa1d2492
feat(backend): let players ask for a rematch
Halit Aksoy
2026-10-17 02:03:16 +0300
-
ee9e5261eb
feat(backend): keep the series a live game belongs to
Halit Aksoy
2026-10-17 02:00:44 +0300
-
c56d1f2c33
docs(rematch): add the spec
Halit Aksoy
2026-10-17 01:58:58 +0300
-
-
4144805a95
docs(todo): correct the web app's known type errors
Halit Aksoy
2026-10-16 16:24:45 +0300
-
47b75b5456
Merge branch 'feature/tutorial' into develop
Halit Aksoy
2026-10-16 16:22:02 +0300
-
-
57fa54e77d
fix(frontend): animate the lesson moves
Halit Aksoy
2026-10-16 16:05:34 +0300
-
acd60816f7
docs: describe the tutorial
Halit Aksoy
2026-10-16 15:00:44 +0300
-
636127dae4
feat(mobile): show the rules
Halit Aksoy
2026-10-16 14:59:33 +0300
-
f8ce8f215f
feat(frontend): show hints in games against the bot
Halit Aksoy
2026-10-16 14:58:56 +0300
-
d444447425
feat(frontend): offer the tutorial to newcomers and a practice game
Halit Aksoy
2026-10-16 14:55:51 +0300
-
9beb8ba7d4
feat(frontend): add the lessons
Halit Aksoy
2026-10-16 14:54:55 +0300
-
8511e0b3f2
feat(frontend): show the rules
Halit Aksoy
2026-10-16 14:53:18 +0300
-
3a46833e86
feat(core): add the rules, lessons and move explanations
Halit Aksoy
2026-10-16 14:50:42 +0300
-
9522224bf9
docs(tutorial): add the spec
Halit Aksoy
2026-10-16 14:46:50 +0300
-
-
a6a309b78d
Merge branch 'feature/game-bot' into develop
Halit Aksoy
2026-10-16 14:41:19 +0300
-
-
f7a76c861e
docs: describe the game bot
Halit Aksoy
2026-10-16 14:27:49 +0300
-
d1918fed10
feat(mobile): offer games against the bot
Halit Aksoy
2026-10-16 14:23:22 +0300
-
e66c4a3a41
feat(frontend): offer games against the bot
Halit Aksoy
2026-10-16 14:22:04 +0300
-
32d1ec98e7
feat(core): add bot levels, the bot game channel and bot names
Halit Aksoy
2026-10-16 14:20:31 +0300
-
4a018c7b53
feat(backend): save how the bot played
Halit Aksoy
2026-10-16 14:19:56 +0300
-
f0b75e5cee
feat(backend): play games against the bot
Halit Aksoy
2026-10-16 14:18:45 +0300
-
31b51d04af
feat(backend): choose bot moves by strength
Halit Aksoy
2026-10-16 14:11:46 +0300
-
f9a96fc5f5
feat(backend): add a compact board for searching moves
Halit Aksoy
2026-10-16 12:47:32 +0300
-
91577c0898
docs(game-bot): add the spec
Halit Aksoy
2026-10-16 12:46:20 +0300
-
-
f6506801d8
Merge branch 'feature/quarkus-backend' into develop
Halit Aksoy
2026-10-16 12:08:57 +0300
-
-
0903f61455
docs: describe the Java backend
Halit Aksoy
2026-10-16 11:53:13 +0300
-
6aeff37eb8
feat(backend): replace the Node backend with the Quarkus backend
Halit Aksoy
2026-10-16 11:47:40 +0300
-
0c112eb716
feat(backend): serve the WebSocket protocol and the HTTP API
Halit Aksoy
2026-10-16 11:33:07 +0300
-
d86fca8c54
feat(backend): save games in Postgres and live state in Valkey
Halit Aksoy
2026-10-16 11:26:28 +0300
-
219b50b491
feat(backend): port the game logic to Java
Halit Aksoy
2026-10-16 11:23:35 +0300
-
f0246cca61
feat(backend): add the wire types, the game loop and token verification
Halit Aksoy
2026-10-16 11:09:16 +0300
-
f0ffd6ba87
feat(backend): add the Quarkus project with a Java port of the engine
Halit Aksoy
2026-10-16 11:06:43 +0300
-
ec833b4ec5
docs(backend): spec the move to Java and Quarkus
Halit Aksoy
2026-10-16 11:00:44 +0300
-
-
5b0cddf416
docs: add publishing mancala.js to the TODO
Halit Aksoy
2026-10-16 10:52:15 +0300
-
e81e0e0841
docs: update the TODO for the rule fixes
Halit Aksoy
2026-10-16 10:49:29 +0300
-
3ea2ba18e3
fix(core): empty the first pit when animating a single stone move
Halit Aksoy
2026-10-16 10:49:09 +0300
-
27f13e2f9a
fix(mancala.js): skip the opponent's store when sowing
Halit Aksoy
2026-10-16 10:48:19 +0300
-
d8ea5d00f8
Merge branch 'feature/keycloak-theme' into develop
Halit Aksoy
2026-10-16 10:38:12 +0300
-
-
6b08fef1e6
docs: document the web redesign
Halit Aksoy
2026-10-16 10:26:59 +0300
-
9619825605
feat(frontend): lay out the home page in the new design
Halit Aksoy
2026-10-16 10:21:46 +0300
-
ce27c71176
feat(frontend): lay out the replay page in the new design
Halit Aksoy
2026-10-16 10:19:57 +0300
-
efe97da0b7
feat(frontend): lay out the game page in the new design
Halit Aksoy
2026-10-16 09:41:47 +0300
-
e3e7916265
feat(frontend): draw the new board
Halit Aksoy
2026-10-16 09:37:50 +0300
-
6279b5a820
feat(frontend): add the new themes and header
Halit Aksoy
2026-10-16 09:35:39 +0300
-
e0c66a1265
fix(core): save the chosen theme
Halit Aksoy
2026-10-16 09:32:10 +0300
-
193efd1458
feat(backend): list popular finished games while games are live
Halit Aksoy
2026-10-16 09:31:44 +0300
-
8ad833cdbb
feat(core): add what the web redesign needs
Halit Aksoy
2026-10-16 09:31:28 +0300
-
61d169ecdc
docs(web-redesign): add the spec
Halit Aksoy
2026-10-16 09:30:28 +0300
-
3cf789fd5d
chore(mobile): bump version to 0.5.1 (9)
Halit Aksoy
2026-10-16 09:26:02 +0300
-
08fc5c8b7b
fix(frontend): confirm leaving a game with Yes and go home
Halit Aksoy
2026-10-16 09:26:02 +0300
-
b472c2813c
docs: document the game clock
Halit Aksoy
2026-10-16 01:54:01 +0300
-
f9ea00d138
feat(mobile): show the game clocks
Halit Aksoy
2026-10-16 01:50:39 +0300
-
8671bb2553
feat(frontend): show the clocks in replays
Halit Aksoy
2026-10-16 01:40:05 +0300
-
20359b7a8f
feat(frontend): show the game clocks in live games
Halit Aksoy
2026-10-16 01:39:36 +0300
-
c610844e26
feat(backend): keep the game clock across restarts and in saved games
Halit Aksoy
2026-10-16 01:30:39 +0300
-
3d4f5d7d59
feat(backend): end games on time with a scheduled service
Halit Aksoy
2026-10-16 01:29:22 +0300
-
999ae79279
feat(backend): run a game clock for each player
Halit Aksoy
2026-10-16 01:27:28 +0300
-
03e1543d5d
feat(core): add game clock types and helpers
Halit Aksoy
2026-10-16 01:25:15 +0300
-
cb34c03246
docs: add game clock spec
Halit Aksoy
2026-10-16 01:23:32 +0300
-
6e6d37650d
feat(frontend): open Keycloak pages in the app's language
Halit Aksoy
2026-10-16 01:13:20 +0300
-
d52960fa0a
feat(keycloak): add a login theme in the game's look
Halit Aksoy
2026-10-16 01:13:20 +0300
-
-
bb32989279
docs: add AGENTS.md with setup, checks and pitfalls, and CLAUDE.md pointing to it
Halit Aksoy
2026-10-16 00:44:09 +0300
-
862c57da5e
Merge branch 'feature/keycloak-auth' into feature/game-history
Halit Aksoy
2026-10-16 00:40:57 +0300
-
-
ab2424b648
docs: add Keycloak login spec
Halit Aksoy
2026-10-16 00:40:57 +0300
-
b94c9336dd
docs: document game history and update the TODO
Halit Aksoy
2026-10-16 00:36:48 +0300
-
3bb151dbed
feat(frontend): replay finished games move by move
Halit Aksoy
2026-10-16 00:34:49 +0300
-
aa265f7e6c
feat(frontend): show the moves of a live game and let players look back
Halit Aksoy
2026-10-16 00:31:43 +0300
-
a65662f695
feat(frontend): show ongoing, live, popular and recent games on the home page
Halit Aksoy
2026-10-16 00:27:06 +0300
-
9278ed7447
feat(frontend): let the board render at any width
Halit Aksoy
2026-10-16 00:21:53 +0300
-
85e3fb60f6
feat(backend): add game history API and live game previews
Halit Aksoy
2026-10-16 00:21:09 +0300
-
7239bbb6ed
feat(backend): save every game and keep live games across restarts
Halit Aksoy
2026-10-16 00:18:33 +0300
-
f6136be007
feat(backend): keep live games and caches in Valkey
Halit Aksoy
2026-10-16 00:14:07 +0300
-
f404b92aaf
feat(backend): save finished games in Postgres
Halit Aksoy
2026-10-16 00:11:12 +0300
-
ed2a909f16
fix(backend): clean up spectators and finished games
Halit Aksoy
2026-10-16 00:08:38 +0300
-
16026fb6cb
feat(core): add game history types and move history helpers
Halit Aksoy
2026-10-16 00:07:36 +0300
-
29fa443b93
build: add shared Postgres and Valkey to compose
Halit Aksoy
2026-10-16 00:05:21 +0300
-
d0004742f5
docs: add game history and live games spec
Halit Aksoy
2026-10-16 00:03:32 +0300
-
-
20efa40e6c
docs: add TODO with mobile login and open issues
Halit Aksoy
2026-10-14 09:13:52 +0300
-
f5dcf930fa
feat(frontend): log in with Keycloak, as a guest or with an account
Halit Aksoy
2026-10-14 02:22:13 +0300
-
e165b0a0eb
build: use local mancala.js and @mancala/core packages
Halit Aksoy
2026-10-14 02:09:05 +0300
-
30ad51c493
feat(backend): authenticate WebSocket clients with Keycloak tokens
Halit Aksoy
2026-10-14 01:52:07 +0300
-
7c99a76af7
feat(keycloak): add Keycloak with guest login extension
Halit Aksoy
2026-10-14 01:46:48 +0300
-
-
69664796ce
feat(mobile): implement "Rejoin Game" functionality and fix storage bugs
Halit Aksoy
2026-07-16 02:00:25 +0300