Paul "LeoNerd" Evans
da31b96b55
Implement presence state visibilty limiting when polling eventsource for stream
2014-09-03 13:46:52 +01:00
Kegan Dougal
c54d8df504
Update API docs to use 'presence' key not 'state'. Fixed error messages when setting presence.
2014-09-03 11:45:30 +01:00
Kegan Dougal
65693e9e15
Fixed GET /events/$id to be not broken.
2014-09-03 11:24:45 +01:00
Paul "LeoNerd" Evans
da3e04df8b
Rename the 'do_users_share_a_room' to something slightly less verb-sounding
2014-09-03 10:40:48 +01:00
Paul "LeoNerd" Evans
ddf3ca7ab3
Neater is_presence_visible() code
2014-09-03 10:40:21 +01:00
Mark Haines
c6eafdfbaf
Add copyright notices and fix pyflakes errors
2014-09-03 09:43:11 +01:00
Mark Haines
112c7ea315
Set status message for ratelimit error responses
2014-09-03 09:37:44 +01:00
Mark Haines
30ad0c5674
Merge branch 'ratelimiting' into develop
2014-09-03 09:15:52 +01:00
Mark Haines
683596f91e
Raise LimitExceedError when the ratelimiting is throttling requests
2014-09-03 08:58:48 +01:00
Mark Haines
780548b577
rate limiting for message sending
2014-09-02 18:22:15 +01:00
Mark Haines
c7a7cdf734
Add ratelimiting function to basehandler
2014-09-02 17:57:04 +01:00
Paul "LeoNerd" Evans
d9d6fbb085
Safer handling of incoming presence EDUs that may or maynot contain 'presence' or 'state'
2014-09-02 11:17:43 +01:00
Paul "LeoNerd" Evans
7b56a7a3cb
'continue' to go to the next item in a for loop, not 'break'
2014-09-02 11:15:46 +01:00
Erik Johnston
10e7821461
By default, only room ops can change the name and topic.
2014-09-02 11:11:47 +01:00
Erik Johnston
ed25abe05f
Add message to assertion
2014-09-02 10:58:33 +01:00
Erik Johnston
040d985908
Add support for setting room name and topic when creating rooms
2014-09-02 10:02:14 +01:00
Paul "LeoNerd" Evans
270d302834
Reënable presence visibility permission checking now it's not used on redundant code paths
2014-09-01 22:15:02 +01:00
Paul "LeoNerd" Evans
32fdf8efd6
No need to test is_presence_visible in _start_polling_local because we know it will be by when it's called
2014-09-01 22:15:02 +01:00
Erik Johnston
48142a01dd
Don't set a 'default' key in the creation event
2014-09-01 20:39:43 +01:00
Erik Johnston
6d28560626
Don't put required power levels on permission state events
2014-09-01 20:27:45 +01:00
Erik Johnston
b8ab9f1c0a
Add all the necessary checks to make banning work.
2014-09-01 18:24:56 +01:00
Erik Johnston
3faa2ae78c
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-09-01 18:21:29 +01:00
Paul "LeoNerd" Evans
1c6ab2d759
Bump a user's presence last_active time every time they send a message to a room
2014-09-01 16:16:35 +01:00
Erik Johnston
db7109c43b
Add beginnings of ban support.
2014-09-01 16:15:34 +01:00
Paul "LeoNerd" Evans
fd696f1243
Perform room unit tests with 'local' users actually in the right domain ;)
2014-09-01 15:58:30 +01:00
Paul "LeoNerd" Evans
468d94c920
Rename API-visible 'mtime' presence field to 'last_active'; slightly different semantics
2014-09-01 15:39:50 +01:00
Paul "LeoNerd" Evans
02f4e3b3ff
Rename 'state' presence key to the much more obvious 'presence'; maintain a legacy 'state' copy for now
2014-09-01 14:45:41 +01:00
Erik Johnston
865469f233
Implement power level lists, default power levels and send_evnet_level/add_state_level events.
2014-09-01 14:39:09 +01:00
Erik Johnston
10efca1a74
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-09-01 13:41:44 +01:00
Paul "LeoNerd" Evans
93407cf7cf
Bugfixes on presence pushes on user joining:
...
* No need to inform clients of status of remote users; as that will
arrive in due course anyway. We don't -have- the state currently, so
we'd only send an unknown message
* Remember to bump the presence serial for the event source, so the
notifiers will wake up and report it
2014-08-29 19:53:33 +01:00
Paul "LeoNerd" Evans
a8e8d1d06c
Renamed get_current_token_part to get_current_key
2014-08-29 19:15:23 +01:00
Paul "LeoNerd" Evans
eec67a675f
Have EventSource's get_new_events_for_user() API work only on keys within that source, not overall eventstream tokens
2014-08-29 19:13:55 +01:00
Paul "LeoNerd" Evans
6797c7f1b1
TypingNotificationEventSource has to return proper tokens, not int 0
2014-08-29 19:00:55 +01:00
Paul "LeoNerd" Evans
4bfdec1eb2
Rename 'events_key' to 'room_key' so it matches the name of the event source
2014-08-29 19:00:55 +01:00
Paul "LeoNerd" Evans
6dd50da54e
Define a new event stream data source for typing notifications (currently null)
2014-08-29 17:39:33 +01:00
Paul "LeoNerd" Evans
20d0db6cfb
Move the *EventSource classes into the handlers they relate to, so it's easier to find the code
2014-08-29 17:10:28 +01:00
Erik Johnston
8e2d4c6da5
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-08-29 14:22:04 +01:00
Erik Johnston
ee06023573
Get the equalities right.
2014-08-29 13:28:06 +01:00
Erik Johnston
47fb286184
Merge branch 'presence_logging' into develop
2014-08-29 12:10:00 +01:00
Erik Johnston
5dd38d579b
Fix a couple of bugs in presence handler related to pushing updatesto the correct user. Fix presence tests.
2014-08-29 12:08:33 +01:00
Erik Johnston
8113eb7c79
Turn of trace_function logging
2014-08-28 18:45:00 +01:00
Erik Johnston
aaf4fd98ee
Only poll remote users if they are in our presence list, rather than in a common room
2014-08-28 18:43:03 +01:00
Mark Haines
722c19d033
Fix FederationHandler to event.origin
2014-08-28 18:32:44 +01:00
Erik Johnston
1b7686329e
Don't query the rooms members table so much by using the new notifier api that allows you to specify room_ids to notify.
2014-08-28 17:43:15 +01:00
Erik Johnston
54d0a75573
Merge branch 'develop' of github.com:matrix-org/synapse into presence_logging
...
Conflicts:
synapse/handlers/presence.py
2014-08-28 16:52:46 +01:00
Erik Johnston
a8d318cf82
Up timeout to 10 minutes
2014-08-28 16:44:09 +01:00
Paul "LeoNerd" Evans
efc5f3440d
Only send presence "poll"/"unpoll" EDUs when changing from/to zero remotes
2014-08-28 16:43:55 +01:00
Paul "LeoNerd" Evans
c46c806126
Re-enable presence, un-skip presence tests
2014-08-28 16:00:14 +01:00
Erik Johnston
eb3094ed31
And more logging.
2014-08-28 15:58:38 +01:00
Mark Haines
7b079a26a5
Remove get_state_for_room function from federation handler
2014-08-28 15:32:38 +01:00
Erik Johnston
e0ba81344c
Add more logging. Up the event stream timer to 10s
2014-08-28 15:30:42 +01:00
Erik Johnston
b8b52ca09d
Add logging to try and figure out what is going on with the presence stuff
2014-08-28 14:58:51 +01:00
Mark Haines
7acede1e42
Fix pyflakes warnings
2014-08-28 13:51:50 +01:00
Mark Haines
15ab5f5ad8
Merge backfill_ and backfill in federation handler
2014-08-28 13:45:35 +01:00
Erik Johnston
b485d622cc
Fix bug where we used UserID objects instead of strigns
2014-08-28 13:40:27 +01:00
Erik Johnston
d2bc5d6f29
Create the correct events with the right configuration when creating a new room.
2014-08-28 10:59:15 +01:00
Erik Johnston
c2b4b73751
Split out MessageHandler
2014-08-27 17:59:36 +01:00
Mark Haines
357dd1871d
Merge branch 'develop' into storage_transactions
...
Conflicts:
tests/handlers/test_federation.py
tests/handlers/test_room.py
2014-08-27 17:28:55 +01:00
Mark Haines
2aeaa7b77c
Merge branch 'develop' into storage_transactions
...
Conflicts:
synapse/handlers/room.py
synapse/storage/stream.py
2014-08-27 17:15:58 +01:00
Mark Haines
1d95e78759
Merge branch 'develop' into storage_transactions
2014-08-27 16:54:12 +01:00
Mark Haines
b30358f439
add _get_room_member, fix datastore methods
2014-08-27 16:51:54 +01:00
Erik Johnston
52cb5e6324
Remove stale FIXMEs
2014-08-27 16:44:29 +01:00
Erik Johnston
8af5e360d6
Remove store_id from notifier.on_new_room_event calls.
2014-08-27 16:23:33 +01:00
Erik Johnston
7917ff1271
Turn off presence again.
2014-08-27 16:09:48 +01:00
Erik Johnston
bfe9faad5a
Index sources in a nicer fashion.
2014-08-27 15:33:52 +01:00
Erik Johnston
05672a6a8c
Convert get_paginat_rows to use PaginationConfig. This allows people to supply directions.
2014-08-27 15:25:27 +01:00
Mark Haines
a0d1f5a014
Start updating state handling to use snapshots
2014-08-27 15:11:51 +01:00
Mark Haines
a03c7f27a8
Fill out prev_events before calling persist_event
2014-08-27 14:32:19 +01:00
Erik Johnston
77a255c7c3
PEP8 tweaks.
2014-08-27 14:19:39 +01:00
Erik Johnston
47519cd8c2
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
...
Conflicts:
synapse/handlers/events.py
synapse/rest/events.py
synapse/rest/room.py
2014-08-27 14:13:06 +01:00
Erik Johnston
bd16b93e8f
Implement presence event source. Change the way the notifier indexes listeners
2014-08-27 14:03:27 +01:00
Paul "LeoNerd" Evans
5eff05a4ce
Initial typing notification support - EDU federation, but no timers, and no actual push to clients
2014-08-27 11:45:16 +01:00
Mark Haines
bf05218c4b
Merge branch 'develop' into storage_transactions
2014-08-27 11:19:37 +01:00
Kegan Dougal
c65885e166
Added support for GET /events/$eventid with auth checks.
2014-08-27 10:33:01 +01:00
Mark Haines
d2798de660
Fold federation/handler into handlers/federation
2014-08-26 19:49:42 +01:00
Erik Johnston
67c5f89244
Enable presence again. Fix up api to match old api.
2014-08-26 19:40:29 +01:00
Erik Johnston
3a2a5b959c
WIP: Completely change how event streaming and pagination work. This reflects the change in the underlying storage model.
2014-08-26 18:57:46 +01:00
Mark Haines
a498df0428
Move new event boilerplate in room handlers into a method on a base clase.
2014-08-26 18:49:51 +01:00
Erik Johnston
9a93e83d90
Respect 'limit' param in initialSync api
2014-08-26 16:26:30 +01:00
Mark Haines
47c1a3d454
Merge branch 'develop' into storage_transactions
2014-08-26 16:15:49 +01:00
Mark Haines
3281fec07a
Use state_key rather than target_user_id
2014-08-26 16:14:54 +01:00
Mark Haines
a29d12a18a
Use state_key rather than target_user_id
2014-08-26 16:13:32 +01:00
Mark Haines
4b63b06cad
Merge branch 'develop' into storage_transactions
...
Conflicts:
synapse/api/auth.py
synapse/handlers/room.py
synapse/storage/__init__.py
2014-08-26 16:07:05 +01:00
Mark Haines
ac21dfff6d
Fix pyflakes errors
2014-08-26 16:02:59 +01:00
Mark Haines
32347bfcc9
fix a few pyflakes errors
2014-08-26 16:01:29 +01:00
Erik Johnston
a664ec20e0
Add a do_users_share_a_room method and use that in the presence handler.
2014-08-26 13:38:26 +01:00
Kegan Dougal
47c3a089c5
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
2014-08-26 09:26:33 +01:00
Kegan Dougal
cab3095803
Removed member list servlet: now using generic state paths.
2014-08-26 09:26:07 +01:00
Erik Johnston
cda4ff8519
Oops, we need to use defer.returnValue.
2014-08-22 18:23:02 +01:00
Erik Johnston
5b058a79cb
Make is_presence_visible always return true as it was thrashing the database.
2014-08-22 18:21:21 +01:00
Erik Johnston
b18db63c06
Turn off more spammy logging.
2014-08-22 18:13:50 +01:00
Erik Johnston
9f514915af
Add indices to schema
2014-08-22 18:03:39 +01:00
Mark Haines
1379dcae6f
Take a snapshot of the state of the room before performing updates
2014-08-22 17:00:10 +01:00
Erik Johnston
e7ee0b9fc1
Change IM sync api to also return the current presence list.
2014-08-21 16:40:21 +01:00
Erik Johnston
3d1cae0e79
In the initial sync api, return the inviter for rooms in the 'invited' state
2014-08-21 15:07:08 +01:00
Erik Johnston
c6950b18cc
Return the current state in the initial sync api.
2014-08-21 15:06:22 +01:00
Erik Johnston
1587ea26fe
Wait for getting a Join in response to an invite/join dance.
2014-08-21 14:38:22 +01:00
Paul "LeoNerd" Evans
583add34fe
Use the "collect_presencelike_data" distributor signal instead of re-implementing its behaviour
2014-08-20 16:06:47 +01:00
Paul "LeoNerd" Evans
50718825bd
Fix exception name in _fill_out_join_content() exception
2014-08-20 16:06:47 +01:00
Paul "LeoNerd" Evans
9c0e570496
Kill the "_homeserver_" injected messages for room membership changes
2014-08-20 16:06:47 +01:00