Commit Graph

16 Commits

Author SHA1 Message Date
Luna Mendes 3b532fa8b0 blueprints.users: fix settings being updated for everyone 2018-11-07 22:52:26 -03:00
Luna Mendes 134cc0eec8 pubsub.lazy_guild: add draft impl for complex updates 2018-11-07 22:51:16 -03:00
Luna Mendes 8b093d3d16 pubsub.lazy_guild: better algorithm for presence updates
this gives the separation between "complex" and "simple"
presence updates we can generalize on.
2018-11-07 21:07:31 -03:00
Luna Mendes e1a946eb87 pubsub.lazy_guild: use filter instead of genexpr 2018-11-07 19:10:27 -03:00
Luna Mendes 773ab8fd18 pubsub.lazy_guild: fix fetching user id from item
- pubsub.lazy_guild: fix get_state on unknown session id
2018-11-07 19:08:31 -03:00
Luna Mendes bd9c4cb26c pubsub.lazy_guild: add implementation for pres_update
- utils: fix index_by_func
2018-11-07 18:52:50 -03:00
Luna Mendes c212cbd392 pubsub.lazy_guild: change some instance vars to properties
- utils: add index_by_func
2018-11-07 17:53:31 -03:00
Luna Mendes 7bcd08ef7a pubsub.lazy_guild: remove LazyGuildDispatcher.unsub
states subscribe via shard_query only.
2018-11-07 17:13:30 -03:00
Luna Mendes 3b2f6062fc pubsub.lazy_guild: subscribe user to the given range 2018-11-07 16:41:22 -03:00
Luna Mendes 55f8919689 pubsub.lazy_guilds: add support for 'everyone'-type GMLs
if the everyone role can read the channel, then the member list
will be equivalent to any other list where the everyone role
can read the channel. with this in mind we can generate a "global"
member list directed only for that usecase.

 - permissions: add role_permissions
2018-11-07 04:11:17 -03:00
Luna Mendes a1a914dc87 add manage.py 2018-11-06 17:42:27 -03:00
Luna Mendes 04d89a2214 pubsub.lazy_guilds: major refactor
This makes the whole process of generating a member list
easier to understand and modify (from my point of view).

The actual event dispatching functionality is not on this
commit.

 - permissions: add optional storage kwarg
2018-11-05 22:04:48 -03:00
Luna Mendes ce5b75921a members: add role change impl
- lazy_guild: add to online/offline groups when role isnt hoisted
 - schemas: fix MEMBER_UPDATE.nick
2018-10-27 21:50:15 -03:00
Luna Mendes 2605836790 dispatcher: add dispatch_filter
- presence: (basic) handle member lists when presence update.
    Note that the respective GUILD_UPDATE_MEMBER_LIST doesn't happen
    yet. we'll need roles beforehand.
2018-10-24 19:09:05 -03:00
Luna Mendes cd4181c327 litecord.pubsub: add more functionality to GuildMemberList
GuildMemberList, as of this commit, can generate a correct list
and handle (some of) the data given in OP 14. The implementation
is still rudimentary and there's a lot of work to finish.

 - dispatcher: add LazyGuildDispatcher
 - gateway.state_manager: add states_raw to fetch
    a single state without uid
 - gateway.websocket: remove rudimentary implementation
    (moved it to GuildMemberList in litecord.pubsub.lazy_guild)
2018-10-24 16:36:24 -03:00
Luna Mendes 1d33e46fd8 pubsub: add lazy_guild 2018-10-19 19:16:29 -03:00