Thibault Duplessis
79cf53d719
Merge branch 'master' into lobbyRemoteSocket
...
* master: (405 commits)
remove CSP live setting
remove service worker live setting
tweak slack icon
tweak logging order
New Crowdin translations (#5468 )
tweak socket handler
remove team tournament points
upgrade dependencies
remove team best members list
i18n: ...ize -> ...ise
i18n: tournament 404 tweak (#5473 )
i18n: tweak coordinates (#5473 )
i18n: misc source tweaks (#5473 )
i18n: source is british (#5473 )
i18n: tweak site description (#5473 )
log all signups in slack
add cli example
cosmetic
signup agreement
fix identification of lichess comments - for #5470
...
2019-09-02 19:28:05 +02:00
Thibault Duplessis
4bd371cfeb
tweak socket handler
2019-09-02 07:53:22 +02:00
Thibault Duplessis
0c5a9c78b8
code tweaks
2019-08-28 20:57:55 +02:00
Thibault Duplessis
0535133cbf
better show server latency
2019-08-24 18:50:16 +02:00
Thibault Duplessis
fc7a3ac6c6
tweaks
2019-08-21 07:47:55 +02:00
Thibault Duplessis
d415858a3b
don't save events in game proxy
2019-08-20 18:05:05 +02:00
Thibault Duplessis
577ad64e22
remove debug
2019-07-22 12:49:01 +02:00
Thibault Duplessis
b0100dbea1
more lobby remote socket WIP
2019-07-20 16:25:30 +02:00
Thibault Duplessis
4199b7c144
remote socket lags and tell/users
2019-07-20 13:36:41 +02:00
Thibault Duplessis
897f60bc81
remote socket: remote TellUser, use TellUsers instead
2019-07-20 10:58:02 +02:00
Thibault Duplessis
42dfea11cc
remote socket: add support for Lags
2019-07-20 10:56:39 +02:00
Thibault Duplessis
05fb221943
keep remote lobby sockets alive
2019-07-19 23:27:54 +02:00
Thibault Duplessis
0d1ec7b03a
fix remote socket send
2019-07-19 19:25:28 +02:00
Thibault Duplessis
9ba486cd39
handle incoming lobby remote socket messages
2019-07-19 12:15:50 +02:00
Thibault Duplessis
59abdb6a37
Revert "Add socket debug info"
...
This reverts commit e58a959bba
.
2019-07-18 11:47:15 +02:00
Thibault Duplessis
6625075a8d
Merge branch 'master' into lobbyRemoteSocket
...
* master:
remove more socket debug
Revert "Add socket debug info"
2019-07-18 11:37:38 +02:00
Thibault Duplessis
4459934596
Revert "Add socket debug info"
...
This reverts commit e58a959bba
.
2019-07-18 11:30:06 +02:00
Thibault Duplessis
3adb6465ec
lobby remote socket WIP
2019-07-18 11:11:52 +02:00
Thibault Duplessis
f021c2f29a
add deprecated paths
2019-07-17 12:56:26 +02:00
Thibault Duplessis
ab967d7af2
extract remote socket protocol from implementation
2019-07-17 12:48:57 +02:00
Thibault Duplessis
415f473956
explicit remote socket out messages format
2019-07-17 11:42:04 +02:00
Thibault Duplessis
1560e4b3e5
simul remote socket WIP
2019-07-15 11:57:45 +02:00
Thibault Duplessis
ba311b0fc3
Merge branch 'master' into simulRemoteSocket
...
* master:
more sri rename fixes
fix sri rename
un-hardcode study fields
rename fixes
don't rename monitoring key
fix wording
consistent naming for sri
Fix timeago years
2019-07-13 23:46:44 +02:00
Thibault Duplessis
12e6292a7e
consistent naming for sri
2019-07-13 20:02:50 +02:00
Thibault Duplessis
57cb0fe893
simul remote socket WIP
2019-07-12 11:51:44 -04:00
Thibault Duplessis
733a228736
remove remoteSocketDomain and live setting
2019-07-12 08:22:53 -04:00
Thibault Duplessis
52dffbf2f6
remote socket support for evalPut - untested
2019-07-12 06:12:22 -04:00
Thibault Duplessis
5bba4b3560
implement evalGet and eval sub for remote socket
...
completely untested - don't deploy this
2019-07-10 22:43:19 -04:00
Thibault Duplessis
f1671dc529
remote socket: no longer remove games on finish
...
but only when unwatched
2019-07-10 14:22:10 -04:00
Thibault Duplessis
d1d0461574
fix remote socket path monitoring
2019-07-10 10:26:18 -04:00
Thibault Duplessis
1e6cbb217e
remote socket unwatch
2019-07-10 10:06:17 -04:00
Thibault Duplessis
130cbe46f0
Revert "add expiration to remote socket watched games set"
...
This reverts commit 21c69cb640
.
2019-07-10 10:04:05 -04:00
Thibault Duplessis
10938e9a5e
monitor remote socket paths
2019-07-10 10:03:04 -04:00
Thibault Duplessis
21c69cb640
add expiration to remote socket watched games set
...
to get rid of correspondence games
2019-07-10 09:40:11 -04:00
Thibault Duplessis
311ab87a6e
handle app requesting online friends in remote socket
2019-07-10 08:55:07 -04:00
Thibault Duplessis
06f0ad994c
better monitor redis publish
2019-07-09 23:03:36 -04:00
Thibault Duplessis
db52a333ef
safer regex live settings
2019-07-09 19:15:28 -04:00
Thibault Duplessis
2806d29ecc
connect to redis with lettuce/epoll
2019-07-09 18:54:00 -04:00
Thibault Duplessis
ba9c5aa62c
Merge branch 'master' into lettuce
...
* master: (29 commits)
Only attempt to resume suspended Howler.ctx if it already exists
Switch to performance.now()
some clients send negative lag values
implement remote socket disconnect/all
exhaustive match
remote socket incoming user lag
overriden User.equals needs hashCode
Close unmatched span bracket
Fix js error
fix revolution trophy position
remove remote socket debug sends
clean up remote socket for deploy
full size study search
New Crowdin translations (#5282 )
tweak faq#variants
Used reverse routing instead of hardcoded link
Fixed link to variants
Added variants link to FAQ
only load the required study chapters
credit broadcast source, refactor study rich HTML
...
2019-07-09 18:07:23 -04:00
Thibault Duplessis
ee17614c63
some clients send negative lag values
2019-07-09 14:54:10 -04:00
Thibault Duplessis
9518041197
implement remote socket disconnect/all
2019-07-09 14:25:34 -04:00
Thibault Duplessis
be92e16d4e
exhaustive match
2019-07-09 12:24:07 -04:00
Thibault Duplessis
3c2854b082
remote socket incoming user lag
2019-07-09 12:22:56 -04:00
Thibault Duplessis
e11d8a7232
remove remote socket debug sends
2019-07-08 23:52:58 -04:00
Thibault Duplessis
c86889cf71
clean up remote socket for deploy
2019-07-08 23:23:35 -04:00
Thibault Duplessis
5100a087df
struggling with redis WIP
...
need:
- fast
- non-blocking or
- quick blocking
- blocking thread pool
- connection pool
- reconnect
- not netty4
2019-07-08 12:47:00 -04:00
Thibault Duplessis
cca34a9fd9
replace jedis with lettuce
...
it's async but it pulls netty4
2019-07-07 08:25:40 -04:00
Thibault Duplessis
0a8043e836
tweak remote socket monitoring
2019-07-06 22:28:42 -04:00
Thibault Duplessis
0c3debde70
fix case
2019-07-06 19:41:13 -04:00
Thibault Duplessis
6e4e50a6bc
send no-one to remote sockets by default
2019-07-06 19:03:42 -04:00
Thibault Duplessis
b9306ffe6d
remote socket monitoring and robustness
2019-07-06 18:55:54 -04:00
Thibault Duplessis
d15653d98e
new remote socket domain, live setting for user selection
2019-07-06 14:43:50 -04:00
Thibault Duplessis
76501bc11a
monitor redis pool and messages
2019-07-06 11:57:17 -04:00
Thibault Duplessis
9443d84cbf
redis client is not threadsafe, but redis pool is
2019-07-06 11:32:34 -04:00
Thibault Duplessis
9f923c00d8
space encoding for remote socket format
2019-07-05 15:53:22 -04:00
Thibault Duplessis
1f3e7c8215
implement flags (channels) in remote socket
2019-07-05 11:40:19 -04:00
Thibault Duplessis
ef4c295004
include connection count from remote socket
2019-07-03 17:48:28 -04:00
Thibault Duplessis
26e078923c
send mlat to socket server
2019-07-03 17:28:22 -04:00
Thibault Duplessis
1e6c7a06a3
fix deploy event to remote socket
2019-07-03 17:21:46 -04:00
Thibault Duplessis
ff5224e484
remote socket tell/all
2019-07-03 17:13:03 -04:00
Thibault Duplessis
6c5b5ff27d
websocket internal messages have no "data" field
2019-07-03 13:41:15 -04:00
Thibault Duplessis
d4e786cabb
register remote socket online user IDs
2019-07-01 15:26:44 -04:00
Thibault Duplessis
02e056b48a
remote socket /notified
2019-07-01 15:23:58 -04:00
Thibault Duplessis
ae381e5a52
remote WS WIP
2019-07-01 14:10:43 -04:00
Thibault Duplessis
96ce2bc5a9
bidir redis pub/sub with Jedis
2019-07-01 12:31:13 -04:00
Thibault Duplessis
92cc9bc4ef
redis remote WS with scredis WIP
...
it works, but pulls akka 2.5 - where our play requires 2.4
2019-07-01 12:13:09 -04:00
Isaac Levy
832e115d52
Safer dupe socket check
...
Use object equality, since some case class `Member`s
could have equality for different socket connections
2019-06-20 07:43:47 -04:00
Isaac Levy
28896dc8e0
Fix Quit data race
...
Improve our reconnect race bandaid. The first version
of the bandaid uses a boolean flag which might not have been
set yet, because the new Socket might be in a message queue
instead of fully initiated. With the first version, we could
end up queueing a Quit message that gets processed after
the socket is reconnected.
This version does the check on the actor thread.
2019-06-19 12:01:56 -04:00
Niklas Fiekas
a311bcddf6
remember data race with member.ended
2019-06-18 21:11:29 +02:00
Thibault Duplessis
0965eaffdd
ensure a member only quits once
...
after a member is ejected, ignore its connection close event.
Before patch, the following sequence of events was possible:
- client connects to game
- client loses Internet
- client recovers Internet
- client establishes new connection with same SRI
- client notifies end of the initial connection (from before network split)
- since both connections share SRI, the new one is unregistered
this patch ensures that an ejected connection can't close a new one.
2019-06-18 13:43:22 +02:00
Thibault Duplessis
7fc19e47a7
add explanation comment
2019-06-18 12:59:07 +02:00
Isaac Levy
fd42b54e16
Use faster compare methods
...
The static compare methods are significantly
faster than scala's Rich<Prim> compare methods,
and they are equivalent speed to subtraction but
handle edge cases correctly.
2019-06-03 20:06:53 -04:00
Isaac Levy
e58a959bba
Add socket debug info
...
- Create a new runtime setting for socket debug info
- When setting is active, bad VersionCheck messages will send additional
info. The client can then report this info together with their current
version. Client reporting not implemented yet, but will be a simple
GET or json post.
2019-05-22 19:39:12 -04:00
Thibault Duplessis
3bfb7ff50b
possibly fix weird disconnections in games
...
sometimes there can be 2 socket instances, one of which is dead.
Make it instruct its client to resync and connect to the live one.
2019-05-21 18:49:44 +02:00
Thibault Duplessis
c56bbe9578
remove debug
2019-05-11 09:27:14 +07:00
Thibault Duplessis
b9b0336242
implement site-wide WS announcements on CLI command
2019-05-02 11:10:15 +07:00
Thibault Duplessis
c9e714dfa5
remove SocketMember.troll
2018-12-19 10:47:18 +08:00
Thibault Duplessis
ee2d4e46d8
remove useless type constructors
2018-12-18 11:48:20 +08:00
Thibault Duplessis
a12abe8cca
implement version checks on round socket
2018-12-18 11:48:08 +08:00
Thibault Duplessis
5d32199416
cleaner socket member quit code
2018-12-16 17:43:05 +08:00
Thibault Duplessis
f83507a86c
some dest encoding refactoring
2018-12-15 22:25:48 +08:00
Thibault Duplessis
c0147ebb29
socket controller isn't partial
2018-12-15 17:25:41 +08:00
Thibault Duplessis
58863d9e35
refactor ping v4
2018-12-15 17:23:41 +08:00
Thibault Duplessis
8c53243d34
tournament WS API 4 skips Socket.process for pings
2018-12-14 17:39:38 +08:00
Thibault Duplessis
97a93cf4b9
don't send null watchers
2018-12-13 00:09:02 +07:00
Thibault Duplessis
8ed41d2a54
experimental: null ping
2018-12-13 00:09:02 +07:00
Thibault Duplessis
2fa60091ec
experimental: quick ping on site socket
2018-12-13 00:09:02 +07:00
Thibault Duplessis
3b34115767
Centis JSON reader
2018-12-11 10:54:51 +07:00
Thibault Duplessis
30e109ec2e
so apparently that never happens on prod
2018-12-10 11:29:14 +07:00
Thibault Duplessis
717dc62eb0
use AtomicReference in Trouper and Duct
2018-12-10 09:35:27 +07:00
Thibault Duplessis
57c9bcd862
monitor pushing on closed WS
2018-12-09 20:17:24 +07:00
Thibault Duplessis
ed0e1c5d9a
ensure lone sockets are shut down
2018-12-09 10:21:25 +07:00
Thibault Duplessis
e784dd8b03
ensure all socket maps are properly monitored, broomed, and shut down
2018-12-09 10:09:18 +07:00
Thibault Duplessis
c1a67637c6
flatten hub.actor
2018-12-09 08:11:28 +07:00
Thibault Duplessis
880a5eeaf6
more socket related refactoring
2018-12-08 18:45:19 +07:00
Thibault Duplessis
2c52a32916
complete socket trouper rewrite and delete socket actor remains
2018-12-08 16:20:21 +07:00
Thibault Duplessis
c02ad3b5f8
remove unused config
2018-12-08 14:30:25 +07:00
Thibault Duplessis
d7dde06bd2
use more troupers in performance-sensitive services
2018-12-08 14:28:48 +07:00
Thibault Duplessis
9ef0a5d506
distinct bus classifiers for 'socketLeave and 'socketEnter
2018-12-08 14:05:18 +07:00
Thibault Duplessis
0b1ad3bbce
use Trouper for socket channels
2018-12-08 13:57:21 +07:00
Thibault Duplessis
775df41143
fix delay randomization
2018-12-08 09:21:59 +07:00
Thibault Duplessis
69f25640a0
refactor with LoneSocket
2018-12-08 09:17:30 +07:00
Thibault Duplessis
c44f10b5f6
study/relay socket trouper
2018-12-07 19:18:57 +07:00
Thibault Duplessis
3a2ad017f9
remove old hack
2018-12-07 16:16:20 +07:00
Thibault Duplessis
31036e5bf6
lobby SocketTrouper
2018-12-07 16:11:32 +07:00
Thibault Duplessis
9758f71000
site SocketTrouper
2018-12-07 15:46:24 +07:00
Thibault Duplessis
c45d27d052
refactor analyse socket member add
2018-12-07 15:16:19 +07:00
Thibault Duplessis
552707253e
TrouperMap.askIfPresent
2018-12-07 14:11:45 +07:00
Thibault Duplessis
62541e66ca
simul SocketTrouper
2018-12-07 13:00:36 +07:00
Thibault Duplessis
6f71ea1b33
Merge branch 'master' into trouper
...
* master:
remove unused timeout
reuse makeSymbol function
make TvBroadcast subscribe only to the selected game
it should be ok to publish all moves just for bots
fix blind mode form
{master} remove temporary mobile app BC
{master} fix blind mode toggle
2018-12-06 20:37:36 +07:00
Thibault Duplessis
757d337d93
make TvBroadcast subscribe only to the selected game
2018-12-06 18:50:48 +07:00
Thibault Duplessis
76674d5b1f
SocketTrouper tweaks
2018-12-06 18:04:43 +07:00
Thibault Duplessis
675b8a3037
restrict visibility of trouper functions
2018-12-06 16:58:27 +07:00
Thibault Duplessis
0b69561f40
unname the socket hub
2018-12-06 16:32:42 +07:00
Thibault Duplessis
4d5905664a
trouper socket seems to work LOCALLY.
...
it will probably explode in various ugly ways once on prod
2018-12-06 14:47:54 +07:00
Thibault Duplessis
c901aed3e2
more trouper WIP
2018-12-06 13:10:19 +07:00
Thibault Duplessis
6db51f8ea8
tournament socket trouper WIP
2018-12-05 23:21:54 +07:00
Thibault Duplessis
20ba982d24
Trouper, TrouperMap, and SocketTrouper
2018-12-05 19:55:55 +07:00
Thibault Duplessis
04ce45525b
remove monitoring
2018-08-28 08:52:54 +02:00
Thibault Duplessis
18e5ceace7
Revert "new actor map for tournament socket hub"
...
This reverts commit e8e16bde44
.
2018-08-26 06:35:21 +02:00
Thibault Duplessis
cba9c1b3ca
Revert "new round socket hub WIP"
...
This reverts commit 2a1dc5f360
.
2018-08-26 06:34:16 +02:00
Thibault Duplessis
a27f56b208
Revert "unname socket hub and population actors"
...
This reverts commit 4bc115b587
.
2018-08-26 06:33:59 +02:00
Thibault Duplessis
4bc115b587
unname socket hub and population actors
2018-08-25 11:27:50 +02:00
Thibault Duplessis
2a1dc5f360
new round socket hub WIP
2018-08-25 11:13:26 +02:00
Thibault Duplessis
e8e16bde44
new actor map for tournament socket hub
2018-08-25 08:51:31 +02:00
Seung-Zin Nam
c562051c3c
tweak: don't do simple value assignments within a for-comprehension
...
... if not necessary.
2018-08-19 23:18:07 +02:00
Thibault Duplessis
a3b95c7012
more socket Uid type safety
2018-08-12 12:58:40 +02:00
Thibault Duplessis
ee1b65b386
syntax fix
2018-08-12 10:56:00 +02:00
Thibault Duplessis
cc0010dd7a
remove debug
2018-08-11 23:23:58 +02:00
Thibault Duplessis
f14c4d3f42
comment socket handler iteratee map
2018-08-09 03:58:32 +02:00
Thibault Duplessis
d1281ad7fb
fix monitoring
2018-08-09 03:33:41 +02:00
Thibault Duplessis
3e6e435654
refactor websocket mobile BC
2018-08-08 14:19:44 +02:00
Thibault Duplessis
66597d173f
refactor websocket event prepend
2018-08-08 14:16:00 +02:00
Thibault Duplessis
c0282e2445
complete Socket.Uid and SocketVersion rewrite
2018-08-08 14:01:21 +02:00
Thibault Duplessis
866691dd56
Merge branch 'master' into versionedWebsocketUrlTyping
...
* master:
tweak deploy script
Manually apply translations
Socket optimizations
evaluation refactoring: move a few methods around
No 'highly consistent move times' for ultra (except for streaks because highly-premoved sequences are excluded anyway)
Revert "Consistent move time streak assessment: only mid-game"
Consistent move time streak assessment: only mid-game
highly --> moderately where appropriate
Add extra cheating assessment rule
Assessment: take flat move time streaks into account
Assessment simplification: combine blurs and chunk blurs in one player flag
Remove first move time for flat time detection
Remove unnecessary code
Be stricter on highly consistent move times
Assessment: take blur streaks in account
2018-08-08 13:27:01 +02:00
Isaac Levy
e3b3e2d2e3
Socket optimizations
2018-08-06 00:13:38 -04:00
Thibault Duplessis
0cd5b26205
improve Websocket type safety - WIP
2018-08-05 03:18:46 +02:00
Isaac Levy
4b1b7701df
Send websocket version in url param
...
This speeds up the initial connect to an in
progress game.
Remove message replies to Pings, except for
mobile backwards compat.
2018-08-04 11:10:09 -04:00
Thibault Duplessis
40497b41e9
remove Boolean.fold - what's wrong with if-else?
2018-07-20 11:41:46 +02:00
Thibault Duplessis
fab848f700
don't send deployPre message to clients
2018-05-09 04:17:19 +02:00
Thibault Duplessis
f30d599f52
fix detection of bot presence in a game - closes #4277
2018-04-20 05:50:12 +02:00
Thibault Duplessis
e273ad4232
send empty frames for ping; keep bot player alive in the game socket
2018-04-17 18:03:07 +02:00
Isaac Levy
36fdae55f7
Blurs & under_chat improvements
...
- Cleanup spectator calculation code
- Show blurs for games in progress
(lost in ts rewrite of round)
fixes #3794 .
2017-11-16 18:48:11 -05:00
Thibault Duplessis
1229f6ad8b
close all user WS connections on account close
2017-11-13 21:35:07 -05:00
Isaac Levy
a679326d86
fix logging typo
...
`isaacl` -> `isaacly`
2017-11-08 16:08:13 -05:00
Thibault Duplessis
8c5d7bd4e2
better monitor websocket ejects
2017-10-22 22:43:23 -05:00
Thibault Duplessis
feb8170be3
log WS ejection from server
2017-10-22 22:01:39 -05:00
Thibault Duplessis
dd1cb47ceb
scalafix: ProcedureSyntax
2017-10-21 15:06:14 -05:00
Thibault Duplessis
8c79c860cb
remove unused imports with scalafix
2017-10-21 15:01:50 -05:00
Isaac Levy
2400da72b4
Prep for Steroids refactor
2017-10-09 11:28:33 -04:00