Commit graph

217 commits

Author SHA1 Message Date
Thibault Duplessis 6e628a1aa9 simplify study events (public could only be true) 2017-02-14 14:38:30 +01:00
Thibault Duplessis 69513ee8f8 make private what can be private 2017-02-14 14:35:41 +01:00
Thibault Duplessis 7e2ec980ec use an Set cache for onlineStudyingAll, since values were never used 2017-02-14 14:26:26 +01:00
Thibault Duplessis 2aa21da9ee abstract study join/quit as study "door" with bool flag 2017-02-14 14:14:55 +01:00
ProgramFOX c96a0e7002 Tabs -> spaces in OnlineStudyingMemo.scala 2017-02-13 19:58:22 +01:00
ProgramFOX 675969a2d9 Remove OnlineStudyingMemo.getMap 2017-02-13 18:41:46 +01:00
ProgramFOX aa013ec069 '!= None' -> '.isDefined', remove redundant .toSet calls 2017-02-13 18:39:31 +01:00
ProgramFOX 0ec441b066 FriendsEntering.studyId --> FriendsEntering.isStudying 2017-02-13 18:37:06 +01:00
ProgramFOX 8df03e98d6 Remove unused function 2017-02-13 18:31:48 +01:00
ProgramFOX d7b7fee4cd Lower caching time of relation.Env.onlineStudying(All) 2017-02-13 18:30:51 +01:00
ProgramFOX 8913cd81b3 Study icon for friends in a study
The study icon will appear when:

 * A friend, who is a contributor, joins a study, or makes a move in a study if he does not have the icon yet (the latter happens if you have two studies open and close one).
 * A friend is in a study and gets added as contributor.
 * A friend is a contributor in a private study and the study becomes public.

The study icon will disappear when:

 * A friend, who is a contributor, leaves a study.
 * A friend, who is a contributor, gets his status revoked, or kicked.
 * A friend, who is a contributor, is in a public study that becomes private.
2017-02-12 22:09:23 +01:00
Thibault Duplessis 686f70acb4 more efficient cache invalidation 2017-01-29 15:58:38 +01:00
Thibault Duplessis c1ae809f6a extract onlinePlayings out of the relation actor (it's threadsafe) 2017-01-29 15:47:25 +01:00
Thibault Duplessis d82c0154e1 tweak relation actor 2017-01-29 15:41:05 +01:00
Thibault Duplessis eeb07caaf8 rename AsyncCache2 to AsyncCache as there's now one to rule them all 2017-01-28 19:51:51 +01:00
Thibault Duplessis 2651456ba6 got rid of spray.caching 2017-01-27 00:23:43 +01:00
Thibault Duplessis 7b115045b6 user LightUser async API in the relation actor 2017-01-25 17:25:46 +01:00
Thibault Duplessis 6233c0f075 explicit synchronous access to LightUser cache 2017-01-25 12:33:04 +01:00
Thibault Duplessis c09986a243 friend/user select in challenge creation - closes #1705 2017-01-16 14:05:02 +01:00
Thibault Duplessis ee1e881a18 remove dead code and unused imports 2017-01-15 13:26:08 +01:00
Thibault Duplessis 6476336346 add patron flag to related users API 2016-12-13 10:37:41 +01:00
Thibault Duplessis 6150edf09f name async caches and expire the result future 2016-11-28 06:42:37 +01:00
Gordon Martin 97d7de81e2 Sometimes when people are playing 45/45 games the green TV on the friends list disappears. Up the expiry time. 2016-11-24 22:22:56 +00:00
Thibault Duplessis ea1758249a Revert "Revert "Update to ReactiveMongo 0.12.0""
This reverts commit b821d8fea4.
2016-10-29 10:58:52 +02:00
Thibault Duplessis b821d8fea4 Revert "Update to ReactiveMongo 0.12.0"
This reverts commit 4ad2c23fce.
2016-10-25 10:48:33 +02:00
cchantep 4ad2c23fce Update to ReactiveMongo 0.12.0 2016-10-23 18:43:56 +02:00
Thibault Duplessis dd9e84e828 Merge remote-tracking branch 'cchantep/rm-0.12-RC0' into rm012
* cchantep/rm-0.12-RC0:
  Upgrade to ReactiveMongo 0.12 (Release Candidate 0)
2016-07-27 12:12:59 +02:00
Thibault Duplessis 1e91acc491 show line icons in friends box 2016-07-24 18:25:11 +02:00
cchantep 663ade5a93 Upgrade to ReactiveMongo 0.12 (Release Candidate 0) 2016-07-21 14:41:34 +02:00
Thibault Duplessis 553e5ccac6 tweak relation module 2016-07-18 18:45:27 +02:00
Gordon Martin 280671b97c Bug fix. If a player gets disconnected while playing, and returns, their follower's buddy list now show them as playing if the game is still in progress. Fixes #2076 2016-07-07 22:28:26 +01:00
Gordon Martin df3cc18f10 discard correspondence and unlimited time control games from relation actor. 2016-07-05 22:45:16 +01:00
Gordon Martin c66c156bcf No need to create a new actor message type... SendTo (with 2 args) is appropriate here. 2016-07-05 21:40:07 +01:00
Gordon Martin ee72c3657f No need to send 2 websocket messages for online friends and online friends playing. 2016-07-05 21:04:38 +01:00
Thibault Duplessis 6bf0ca1e2c remove dead code 2016-07-05 10:42:27 +02:00
Gordon Martin 44a104525d no need to construct light users unecessarily. 2016-07-04 23:18:37 +01:00
Gordon Martin 16a8ce3b95 Fix tv on friends list bug with titled players. 2016-07-04 22:54:37 +01:00
Gordon Martin 9ae946a759 implement ornicar's suggestions. 2016-07-04 22:25:58 +01:00
Gordon Martin 3a462df646 Add TV icon next to a friend on the user's friends list if they're playing a game to allow them to click it and spectate. 2016-07-04 20:32:22 +01:00
Thibault Duplessis 8c6d8c5428 make all queries safer
use reactivemongo stopOnError=false by default, with new API uno/gather
2016-04-02 17:13:25 +07:00
Thibault Duplessis a6ee522bfe rewrite timeline and relation DB code 2016-04-02 12:36:30 +07:00
Thibault Duplessis d11f0acaff more DB code rewrite WIP 2016-04-02 00:50:57 +07:00
Thibault Duplessis 47fc97c5f0 follow caches with invalidation 2016-03-19 09:42:31 +07:00
Thibault Duplessis 1486232eb8 rewrite kamon integration for type safety 2016-03-10 23:27:55 +07:00
Thibault Duplessis 0cbf0845f3 monitor follow/block 2016-03-10 19:14:25 +07:00
Thibault Duplessis 240928718c Revert "upgrade reactivemongo. TODO: Remove the ListSets"
This reverts commit 705479757f.
2016-03-10 11:21:37 +07:00
Thibault Duplessis 705479757f upgrade reactivemongo. TODO: Remove the ListSets 2016-03-08 00:55:30 +07:00
Thibault Duplessis 4c13e519da add user best perf to relation API - closes #1640 2016-03-06 10:50:34 +07:00
Thibault Duplessis f369702747 related user doesn't always have nb games attached 2016-02-29 09:06:43 +07:00
Thibault Duplessis 8306913ae7 Following and followers JSON API - closes #1633 2016-02-23 10:54:37 +07:00
Thibault Duplessis 7bf7a46fae you're not your own friend (so sad!) 2016-01-24 10:39:25 +07:00
Thibault Duplessis f2be8e3702 fix friends aggregation matcher 2016-01-24 10:32:53 +07:00
Thibault Duplessis e98f3674dd use mongodb aggregation to fetch a user friends 2016-01-24 10:31:35 +07:00
Thibault Duplessis 5024c64505 reload online friends on relation changes 2016-01-24 04:45:18 +07:00
Thibault Duplessis 8f3c44c745 Entirely remove relation cache, carefully fetch from the DB
The relation cache wasn't scaling. With this commit, the database
is going to work more, but the JVM tenured heap should be less
solicited. And performances should be more predictable.
2016-01-24 04:33:41 +07:00
Thibault Duplessis cc723d13e3 rely less on relation cache, remove popular users suggestions 2016-01-24 03:36:28 +07:00
Thibault Duplessis 2d32a91c44 fix blocked list 2016-01-24 03:09:44 +07:00
Thibault Duplessis 608e0394aa refactor relations, paginate followers/following/blocking lists 2016-01-24 03:04:46 +07:00
Thibault Duplessis 91525fcbf7 optimize relation fetching and mapping 2016-01-24 01:58:04 +07:00
Thibault Duplessis 799db75dda boost relation caches 2016-01-24 01:29:17 +07:00
Thibault Duplessis 321efc6498 reorganize logging 2015-09-01 02:37:28 +02:00
Thibault Duplessis f9b581fa33 hint relation drop query 2015-07-31 04:08:32 +02:00
T. Alexander Lystad 877be1b906 All relations going out from a player are deleted when that player closes their accounts. Relations other players have to this player are kept. Tested that only follows in one direction are removed. Also tested that team removal on account closing still works - #690 2015-07-02 17:26:10 +02:00
Thibault Duplessis 16860a5a33 suggestions API - closes #523 2015-05-29 13:12:15 +02:00
Thibault Duplessis 67e7800628 delay scheduled tasks after deploy 2015-04-29 10:09:56 +02:00
Thibault Duplessis 5a70237cbb make caches longer again 2014-11-14 23:04:40 +01:00
Thibault Duplessis 376010525e tweak caches 2014-11-13 11:28:25 +01:00
Thibault Duplessis 3da6346a64 stop auto block reports 2014-11-01 12:17:05 +01:00
Thibault Duplessis ca4663d6e7 refactor hook matching, move logic to server side, reduce bandwidth 2014-08-02 14:37:08 +02:00
Thibault Duplessis 62fad167d6 less relation autoreports 2014-06-10 00:50:23 +02:00
Thibault Duplessis ea748a3834 less blocking auto-report, please 2014-06-01 13:01:55 +02:00
Thibault Duplessis 743bc6a711 fix relations rotation 2014-05-29 11:26:28 +02:00
Thibault Duplessis c8236f4f36 auto report blocked players 2014-05-27 18:34:33 +02:00
Thibault Duplessis e2430096d8 can't follow someone who blocks you 2014-05-26 14:49:43 +02:00
Thibault Duplessis bac10aa616 configurable followship 2014-05-03 09:39:20 +02:00
Thibault Duplessis e0c61e97aa limit relations number 2014-05-02 19:39:52 +02:00
Thibault Duplessis be375e48dd simplify friend lookup 2014-04-22 23:48:37 +02:00
Thibault Duplessis 08c69bafce simplify relation actor 2014-04-17 14:47:00 +02:00
Thibault Duplessis 305d626d5c fix initial friends box rendering 2014-04-17 14:11:18 +02:00
Thibault Duplessis 6a34417320 increase relations caches sizes 2014-04-17 00:04:14 +02:00
Thibault Duplessis e791190394 cache user titles, remove futures 2014-04-17 00:01:24 +02:00
Thibault Duplessis c4a5332f3f simplify friend box 2014-04-14 00:30:40 +02:00
Thibault Duplessis 6fe17fd9f2 less logging 2014-03-12 20:33:21 +01:00
Thibault Duplessis d750d238ad s/⇒/=> 2014-02-17 10:12:19 +01:00
Thibault Duplessis ed24ff7e7d chat friend list 2014-01-02 17:07:35 +01:00
Thibault Duplessis 8b4f6a553d remove blocking in relation actor 2014-01-02 17:02:14 +01:00
Thibault Duplessis 2286970b47 integrate relations in chat 2013-12-29 14:08:28 +01:00
Thibault Duplessis dff14fb7b8 DB tubes can now be JS or BSON 2013-12-03 21:31:31 +01:00
Thibault Duplessis 185b22b8e7 native game storage WIP 2013-12-03 00:44:09 +01:00
Thibault Duplessis a322f6b4c0 custom event bus as akka extension 2013-10-28 12:19:06 +01:00
Thibault Duplessis 21f1db1bd5 code and import cleanups 2013-10-26 23:17:11 +02:00
Thibault Duplessis 8b9febe9f9 remove user autofollow 2013-10-26 16:17:19 +02:00
Thibault Duplessis 558024494e publish SendTo events through akka event bus 2013-10-26 14:28:24 +02:00
Thibault Duplessis d696399be4 use less socket hubs and more akka event bus 2013-10-26 14:14:54 +02:00
Thibault Duplessis 8b3abe650f hide blocking and blockers hooks 2013-09-24 15:32:55 +02:00
Thibault Duplessis a7911309ae delay relation module scheduled tasks 2013-09-19 23:54:13 +02:00
Thibault Duplessis 1cb899e26c replace actor lazy refs with akka actor selections 2013-09-19 21:29:56 +02:00
Thibault Duplessis 1fe0c35ce6 start using actor selections 2013-09-19 18:37:46 +02:00
Thibault Duplessis 6b122b9e10 show nb blockers to mods 2013-09-15 10:50:43 +02:00
Thibault Duplessis 8334580ddc complete autofollow 2013-06-02 14:49:47 +02:00
Thibault Duplessis 48ce6f9511 prepare relation autofollow 2013-06-01 14:32:40 +02:00
Thibault Duplessis 021c54e2a9 better friend suggestions, using popular online users 2013-06-01 13:45:52 +02:00
Thibault Duplessis 33138dbe0b ensure friend box resynchronisation 2013-05-29 22:19:50 +02:00
Thibault Duplessis 59c36bfbae preload friend box and show number of friends 2013-05-29 19:18:15 +02:00
Thibault Duplessis d40c014f5a show all followers in friend box 2013-05-27 17:01:09 +02:00
Thibault Duplessis 2fc42d8aa8 update friends box 2013-05-24 23:55:14 +02:00
Thibault Duplessis 1bb44db1df timeline refactoring 2013-05-24 22:37:27 +02:00
Thibault Duplessis f51ed0c0a4 create a single timeline entry per event 2013-05-24 19:19:08 +02:00
Thibault Duplessis f2ac332e10 reorder imports 2013-05-24 19:04:49 +02:00
Thibault Duplessis 5435de297a progress on user timeline 2013-05-24 18:27:42 +02:00
Thibault Duplessis b6a09ab149 notify following 2013-05-24 13:27:01 +02:00
Thibault Duplessis 513896bc9b following someone pushes a timeline entry 2013-05-24 12:34:25 +02:00
Thibault Duplessis b4d89f0929 more work on followers and user profile 2013-05-23 18:59:46 +02:00
Thibault Duplessis ed0e2174ec improve user powertip and follow options 2013-05-23 16:36:52 +02:00
Thibault Duplessis ff131071c6 remove extra relation db indexes 2013-05-23 16:19:30 +02:00
Thibault Duplessis d26001dd00 progress on following/blocking 2013-05-23 15:38:55 +02:00
Thibault Duplessis 2836eb9a0f move from friend to relation, implement future sequence 2013-05-23 12:53:16 +02:00