Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-12-10 | Don't show abandoned games. | Tor Andersson | |
2023-12-10 | Automated role panel display. | Tor Andersson | |
Create and populate aside #roles list if missing. Initialize roles and pointers into global "roles" object. | |||
2023-12-10 | Embellish signup page. | Tor Andersson | |
2023-12-10 | Show "join" page when not logged in. | Tor Andersson | |
Static page showing limited info and a call to action to login or sign up. | |||
2023-12-10 | Add support for random scenario selection and scenario groupings. | Tor Andersson | |
2023-12-10 | Color invite-only games gold when all invites are accepted. | Tor Andersson | |
2023-12-05 | Don't show completely empty games in replacement list. | Tor Andersson | |
2023-11-30 | Flag 1-player games as private when started. | Tor Andersson | |
2023-11-30 | Log IP access. | Tor Andersson | |
2023-11-30 | Hide public games from blacklisted users. | Tor Andersson | |
2023-11-30 | Allow first player choosing rematch to select player role assignment. | Tor Andersson | |
Pick one of swap, keep, or random. In case of mid-air collision, player who chose first gets to decide. | |||
2023-10-21 | Add color themes. | Tor Andersson | |
2023-10-07 | Shuffle or shift player roles for rematches. | Tor Andersson | |
For asymmetric games, shift the roles one step so everyone gets a new role. For symmetric games, shuffle the color assignments so the player order is mixed up. | |||
2023-10-05 | Revert "Add match making." | Tor Andersson | |
This reverts commit b5a31813aa284b8b64bfd2660ea3a048275cee89. | |||
2023-10-05 | Add match making. | Tor Andersson | |
2023-10-05 | Add game "setups" for automated match making and tournaments. | Tor Andersson | |
2023-10-05 | Change some URLs to be more consistent. | Tor Andersson | |
2023-10-05 | Avoid "natural" joins for future proofing schema changes. | Tor Andersson | |
2023-09-20 | Add pace property to games. | Tor Andersson | |
Currently unenforced and only visual effect in game listings.- Future time control and user penalty features may make use of it. | |||
2023-09-20 | Move mtime and active into games table. | Tor Andersson | |
Avoid joining with game_state for all the game list views. | |||
2023-09-20 | Batch game state related database updates into transactions. | Tor Andersson | |
Only update game 'mtime' when the active player changes. | |||
2023-09-18 | Tweak title globals. | Tor Andersson | |
2023-09-18 | Optimize game options parsing and formatting. | Tor Andersson | |
Sort player names in game boxes by role order. | |||
2023-09-18 | Don't show "ready to start" games on public game list. | Tor Andersson | |
2023-09-18 | Enforce limits on how many games you can create and join. | Tor Andersson | |
Also limit joining more games if you have too many games waiting. Generous default limits: 7 open, 29 active, and 3 waiting. | |||
2023-09-15 | Fix crash when updating unread chats if anonymous observers are present. | Tor Andersson | |
2023-09-15 | Improve sync error handling. | Tor Andersson | |
1) Show warning during one second then resume game. 2) Don't update cookie during simultaneous turns. When playing SoT live, discarding cards at the same time leads to many harmless in-flight action collision errors, which don't really matter. If we stop updating the cookie during simultaneous turns, we can avoid this. | |||
2023-09-13 | Calculate Elo ratings. | Tor Andersson | |
Primarily for use with future matchmaking system to provide better games for everyone. Show top 5 players of each game on the game pages. | |||
2023-09-13 | Set player_count in database for faster and easier logic. | Tor Andersson | |
Track ready to start and unjoined games in "active" header. | |||
2023-09-13 | Don't show private open games on user page. | Tor Andersson | |
2023-09-13 | Add mail verification. | Tor Andersson | |
2023-09-13 | Don't return unused replay_id from put_replay. | Tor Andersson | |
2023-09-12 | Notification system improvements. | Tor Andersson | |
Enable webhook notification support with .env WEBHOOKS=1 Send notifications when invited to a game. Use notification "too soon" logic for webhooks as well. Try sending webhooks 3 times before giving up. Check if player is on the join page instead of the funky "offline" check when sending "your game is ready" notification. Only show mail/webhook notification settings if they are enabled. | |||
2023-08-12 | Use synchronization cookie to prevent action de-sync errors. | Tor Andersson | |
2023-08-11 | Remove backup dance. | Tor Andersson | |
Use VACUUM INTO 'backup.db' instead. | |||
2023-08-10 | Fix rematch button. | Tor Andersson | |
2023-07-13 | Handle websocket errors. | Tor Andersson | |
2023-07-13 | Add "xtime" column for games to record finish date when state is missing. | Tor Andersson | |
2023-07-13 | Use sequential per-game chat ids. | Tor Andersson | |
2023-07-13 | Use status constants. | Tor Andersson | |
2023-07-01 | Add "snapshot" replay view during play. | Tor Andersson | |
Snapshots store game state without undo and only log length. Combined with the final game state's log we can recreate the view from any snapshot quickly. Move replay code into separate script file, loaded only when used. Prefix system "setup", "resign", and "restore" actions with a period. | |||
2023-06-25 | Parse strings as GMT for "human_date" formatting. | Tor Andersson | |
2023-06-16 | Update user last seen when connecting to websocket. | Tor Andersson | |
2023-06-05 | Remove stale stuff. | Tor Andersson | |
2023-05-23 | Improve replay id handling. | Tor Andersson | |
Use a without rowid table and create the replay_id dynamically. This saves a lot of database space and performance as it removes the need for a separate index. | |||
2023-05-08 | Format 1-player option. | Tor Andersson | |
2023-05-05 | Trigger backup from main database process. | Tor Andersson | |
Sqlite backups from the same database connection are much more efficient! Externally triggered backups restart every time the database changes during a backup, or need to lock the database exclusively for a long time. We periodically look for a "backup.request" file, and if it exists will write a backup. We write to "backup.tmp" first, and when finished rename the file to "backup.db". A crontab job can touch the "backup.request" file and then wait for the "backup.db" file to appear. | |||
2023-04-28 | Parse game options before passing to "roles" callback. | Tor Andersson | |
2023-04-28 | Rename game "description" to "notice". | Tor Andersson | |
2023-04-28 | Don't crash if event streams are still listening when deleting a game. | Tor Andersson | |