summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-20Batch game state related database updates into transactions.Tor Andersson
Only update game 'mtime' when the active player changes.
2023-09-20Don't clip role name ascenders and descenders at edge.Tor Andersson
2023-09-18Tweak title globals.Tor Andersson
2023-09-18Optimize game options parsing and formatting.Tor Andersson
Sort player names in game boxes by role order.
2023-09-18Don't show "ready to start" games on public game list.Tor Andersson
2023-09-18Show warning badge for unverified mail on profile page.Tor Andersson
2023-09-18Enforce 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-18Links to user pages from in-game role display.Tor Andersson
2023-09-15Add user links to join page.Tor Andersson
2023-09-15Fix font-face unicode-range for Noto Emoji.Tor Andersson
2023-09-15Fix crash when updating unread chats if anonymous observers are present.Tor Andersson
2023-09-15Improve 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-13Calculate 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-13Set player_count in database for faster and easier logic.Tor Andersson
Track ready to start and unjoined games in "active" header.
2023-09-13Don't show private open games on user page.Tor Andersson
2023-09-13Add mail verification.Tor Andersson
2023-09-13Don't return unused replay_id from put_replay.Tor Andersson
2023-09-13Don't recreate forum FTS search tables every time we update the schema.Tor Andersson
2023-09-12Fix query during detailed replay.Tor Andersson
2023-09-12Notification 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-31Tweak CSS syntax.Tor Andersson
2023-08-12Add deep comparison function to utility library.Tor Andersson
2023-08-12Add commont ".action" cursor CSS property.Tor Andersson
2023-08-12Use synchronization cookie to prevent action de-sync errors.Tor Andersson
2023-08-11Remove backup dance.Tor Andersson
Use VACUUM INTO 'backup.db' instead.
2023-08-10Fix rematch button.Tor Andersson
2023-07-13Handle websocket errors.Tor Andersson
2023-07-13Add trigger to prune game data when archiving a game.Tor Andersson
2023-07-13Add "xtime" column for games to record finish date when state is missing.Tor Andersson
2023-07-13Use sequential per-game chat ids.Tor Andersson
2023-07-13Use status constants.Tor Andersson
2023-07-10Don't delete undo by default when patching games.Tor Andersson
2023-07-02Lighter replay panel.Tor Andersson
2023-07-01Add "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-30Turn "undo" functions into no-ops if undo stack is not present.Tor Andersson
Allow replaying game states quickly without undo handling.
2023-06-30Remove unused msie.html file.Tor Andersson
2023-06-25Parse strings as GMT for "human_date" formatting.Tor Andersson
2023-06-16Update user last seen when connecting to websocket.Tor Andersson
2023-06-12Add Tinos web font.Tor Andersson
2023-06-05Create covers in higher quality.Tor Andersson
2023-06-05Force longer titles to wrap.Tor Andersson
2023-06-05Add another function to common code library.Tor Andersson
2023-06-05Remove stale stuff.Tor Andersson
2023-05-23Improve 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-23Make log updates more robust in preparation for future improvements.Tor Andersson
2023-05-21Remove unused Nimbus Roman web font.Tor Andersson
2023-05-18Remove support for old game parameter format.Tor Andersson
2023-05-08Format 1-player option.Tor Andersson
2023-05-05Trigger 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-28Only toggle body.shift if the active element is the root.Tor Andersson
Avoid toggling shift stuff if the chat input box has focus, etc.