Commit Graph

68 Commits

Author SHA1 Message Date
Luna 9dab5b20ae typing, episode 2 2019-03-04 15:48:51 -03:00
Luna bbf80f72b1 fix tests and an ugly circular import 2019-03-04 05:24:40 -03:00
Luna d91030a2c1 typings, episode 1
(i installed mypy and its beautiful)
2019-03-04 05:09:04 -03:00
Luna 0759a52046 pubsub.lazy_guild: s/pop/remove on remove_channel 2019-03-04 03:16:28 -03:00
Luna 7f7c71b3eb dm_channels: fix some pubsub stuff
- pubsub.channel: make gdm_recipient_view a public function
2019-02-17 00:16:26 -03:00
Luna 8a76b5a407 pubsub.channel: add gdm recipient view for chan create/update 2019-02-16 23:39:47 -03:00
Luna b079dd428a storage: handle webhook authors in messages 2019-02-05 18:00:35 -03:00
Luna f1127d1970 pubsub.lazy_guild: sanity of mind
- add more comments, always good
 - remove some unused methods and move some others to private methods
 - use _set_empty_list in close() method
2019-02-03 23:23:07 -03:00
Luna 53d7515f8c all: update copyright year 2019-01-26 19:25:46 -03:00
Luna 2632d033fa all: add GPL header 2018-12-07 02:14:58 -03:00
Luna dbc6da8ce9 pubsub.guild: remove print debug 2018-12-04 02:22:38 -03:00
Luna 7d6aab9a29 litecord.auth: use TimestampSigner
this fixes all tokens being the same.
2018-12-04 02:21:49 -03:00
Luna 8c4b7a1ac8 pubsub.lazy_guild: fix list_id for non-everyone lists
- utils: add murmurhash3 implementation
2018-12-04 02:02:40 -03:00
Luna 49edad8573 pubsub.lazy_guild: add dummy impl for chan_update 2018-12-02 19:16:00 -03:00
Luna bb36d7e669 pubsub.lazy_guild: add more checks for new group being None
presence updates aren't checking that value yet.
2018-12-02 18:52:16 -03:00
Luna 300f948ab2 pubsub.lazy_guild: remove member list from guild map too 2018-12-02 18:41:29 -03:00
Luna d1ef08fbd0 pubsub.lazy_guild: add cleanup of member lists
- blueprints.channel: delete member list when deleting channel
2018-12-02 18:37:49 -03:00
Luna 915b6224e9 permissions: fix overwrite fetching in compute_overwrites
- pubsub.guild: only send a chan action to channels user can read
2018-12-02 18:09:00 -03:00
Luna Mendes d2bedb75a4 images: add implementation for gif handling
- images: prefix the icon_hash with `a_`
 - pubsub.lazy_guild: ignore update_user when unitialized list data
2018-11-21 20:01:16 -03:00
Luna Mendes 8818b00d6d blueprints.users: call lazy guild updates upon user update
- pubsub.lazy_guild: add update_user handler
2018-11-19 23:11:27 -03:00
Luna Mendes 48c7dc539a users: use dispatch_many_filter when sending USER_UPDATE events
Related to #19.

 - dispatcher: add EventDispatcher.dispatch_many_filter
 - pubsub.channel, guild: return session ids on dispatch() return
 - pubsub.friend, user: add dispatch_filter handler
2018-11-19 15:33:16 -03:00
Luna Mendes 113ba3fb89 pubsub.lazy_guild: better method to remove member 2018-11-19 04:10:18 -03:00
Luna Mendes 994c3eb640 pubzub.lazy_guild: remove any of the user's states on remove_member 2018-11-19 03:50:15 -03:00
Luna Mendes ed628abab2 guild.mod: use remove_member in lazy_guilds
- pubsub.lazy_guild: add remove_member handler
 - users: use guild.mod's remove_member
2018-11-19 03:36:31 -03:00
Luna Mendes 906e891f6e blueprints.invites: call new_member event for member lists
- pubsub.lazy_guild: add new_member handler
2018-11-19 03:15:37 -03:00
Luna Mendes b17d166377 pubsub.lazy_guild: update member roles in MemberList 2018-11-18 18:43:20 -03:00
Luna Mendes 1868d86fed pubsub.lazy_guild: update old presence's roles and status 2018-11-18 18:37:59 -03:00
Luna Mendes 38b01600aa pubsub.lazy_guild: handle unknown role on role_pos_update
- pubsub.lazy_guild: handle item_index being None on resync_by_item
2018-11-18 18:33:35 -03:00
Luna Mendes e38cb38e5f pubsub.lazy_guild: fix role_pos_update giving a method to get_subs 2018-11-18 18:26:55 -03:00
Luna Mendes 46759a4e7c pylint pass
fixing unused imports across all code
2018-11-13 01:40:31 -03:00
Luna Mendes 1b637ef3cc pubsub.lazy_guild: remove print and pprint calls 2018-11-12 02:08:48 -03:00
Luna Mendes fad8484a74 pubsub.lazy_guild: use SYNC instead of DELETE->INSERT->DELETE
This makes our implementation go off-spec (depends on what you'd even
call a spec, considering lazy guilds are not documented and probably
won't be), but well... *it works*

There are also a lot of print-debugs on this commit, will clean them up.

 - pubsub.lazy_guild: filter empty groups out of items list
 - pubsub.lazy_guild: check operator's op on Operation.to_dict
 - pubsub.lazy_guild: add resync() method to deal with re-SYNCs easily
 - pubsub.lazy_guild: fix get_item_index and get_group_item_index
 - pubsub.lazy_guild: drop the ops in complex presence updates in favour
    of using resync()
 - pubsub.lazy_guild: resync on group resorting
 - pubsub.lazy_guild: use resync() on role delete
2018-11-12 02:02:56 -03:00
Luna Mendes ea6e228bb4 pubsub.lazy_guild: use member ids instead of presences on main list 2018-11-11 00:14:59 -03:00
Luna Mendes 864f6a5d9f guild.members: add basic handling of nicks in lazy guilds
- pubsub.lazy_guilds: add a list lock to prevent inconsistencies
 - pubsub.lazy_guilds: add a lot of debug info related to list sorting
2018-11-09 19:02:26 -03:00
Luna Mendes f34c3f6296 pubsub.lazy_guilds: fix role_delete not finding group for role
- pubsub.lazy_guilds: add presence reassignment on role_delete
 - pubsub.lazy_guilds: fix getting role_range due to incorrect operators
2018-11-09 17:18:35 -03:00
Luna Mendes 7103ac01ca pubsub.lazy_guild: sort groups in decreasing position order 2018-11-09 04:33:29 -03:00
Luna Mendes ad0aa95f64 pubsub.lazy_guilds: add debug calls for role_pos_update 2018-11-09 04:11:52 -03:00
Luna Mendes 1d7a71a6ad pubsub.lazy_guild: bugfixes and better role_* methods
this fixes role_create and role_delete, adds more debug logging
to understand what is going on, etc.

 - pubsub.lazy_guild: promote role_update -> new_role when updating to
    hoist=True
 - pubsub.lazy_guild: promote role_update -> role_delete when updating
    to hoist=False
 - pubsub.lazy_guild: better handling of unknown group items on
    role_delete
2018-11-09 03:56:00 -03:00
Luna Mendes 5fa5aac2f5 pubsub.lazy_guild: bugfixes, take 2 2018-11-09 03:12:48 -03:00
Luna Mendes 17dfeb0f11 pubsub.lazy_guild: bugfixes 2018-11-09 03:09:55 -03:00
Luna Mendes e0011d7a38 pubsub.lazy_guild: add implementation for role_update 2018-11-09 01:47:49 -03:00
Luna Mendes 950b9b83b2 pubsub.lazy_guild: add implementations for new_role and role_pos_update 2018-11-09 01:19:49 -03:00
Luna Mendes 6c63e014ae blueprints.guild.roles: add basic comms between roles bp and lazy guilds
- pubsub.lazy_guild: add LazyGuildDispatcher.dispatch
 - pubsub.lazy_guild: add GuildMemberList.role_delete
2018-11-09 00:47:22 -03:00
Luna Mendes 748eacf112 pubsub.lazy_guild: fix bugs around p_idx calculation 2018-11-07 23:03:48 -03:00
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