Erik Johnston
e5ad2e5267
Merge pull request #582 from matrix-org/erikj/presence
...
Rewrite presence for performance.
2016-02-19 09:37:50 +00:00
Daniel Wagner-Hall
f8d21e1431
Review comments
2016-02-18 11:02:14 +00:00
Erik Johnston
e5999bfb1a
Initial cut
2016-02-17 15:40:50 +00:00
Daniel Wagner-Hall
d1fb790818
Some cleanup
2016-02-16 14:25:23 +00:00
Daniel Wagner-Hall
4bfb32f685
Branch off member and non member sends
...
Unclean, needs tidy-up, but works
2016-02-15 18:21:30 +00:00
Daniel Wagner-Hall
e71095801f
Merge implementation of /join by alias or ID
...
This code is kind of rough (passing the remote servers down a long
chain), but is a step towards improvement.
2016-02-15 15:39:16 +00:00
Erik Johnston
4e7948b47a
Allow paginating backwards from stream token
2016-01-28 11:52:34 +00:00
Richard van der Hoff
5cba88ea7c
Make it possible to paginate forwards from stream tokens
...
In order that we can fill the gap after a /sync, make it possible to paginate
forwards from a stream token.
2016-01-27 17:42:45 +00:00
Daniel Wagner-Hall
da417aa56d
Allow non-guests to peek on rooms using /events
2016-01-20 15:34:07 +00:00
Daniel Wagner-Hall
ac5a4477ad
Require unbanning before other membership changes
2016-01-15 16:27:26 +00:00
Daniel Wagner-Hall
2ef6de928d
Skip, rather than erroring, invalid guest requests
...
Erroring causes problems when people make illegal requests, because they
don't know what limit parameter they should pass.
This is definitely buggy. It leaks message counts for rooms people don't
have permission to see, via tokens. But apparently we already
consciously decided to allow that as a team, so this preserves that
behaviour.
2016-01-05 18:12:37 +00:00
Mark Haines
517fb9a023
Move the doc string to the public facing method
2015-12-22 18:53:47 +00:00
Mark Haines
9ac417fa88
Add a cache for initialSync responses that expires after 5 minutes
2015-12-22 18:27:56 +00:00
Mark Haines
491f3d16dc
Make state updates in the C+S API idempotent
2015-12-02 15:50:50 +00:00
Mark Haines
5eb4d13aaa
Fix typo in collect_presencelike_data
2015-12-02 10:50:58 +00:00
Mark Haines
a9526831a4
Wrap calls to distributor.fire in appropriately named functions so that static analysis can work out want is calling what
2015-12-01 20:53:04 +00:00
Mark Haines
95f30ecd1f
Add API for setting account_data globaly or on a per room basis
2015-12-01 18:41:32 +00:00
Daniel Wagner-Hall
924d85a75e
Merge pull request #375 from matrix-org/daniel/guestroominitialsync
...
Clean up room initialSync for guest users
2015-11-23 16:10:49 +00:00
Mark Haines
1c960fbb80
s/private_user_data/account_data/
2015-11-18 15:31:04 +00:00
Daniel Wagner-Hall
641420c5e0
Clean up room initialSync for guest users
2015-11-13 15:44:57 +00:00
Daniel Wagner-Hall
06bfd0a3c0
Merge pull request #367 from matrix-org/daniel/readafterleave
...
Merge pull request #367 from matrix-org/daniel/readafterleave
Tweak guest access permissions
2015-11-12 15:22:02 +00:00
Daniel Wagner-Hall
0d08670f61
Merge pull request #360 from matrix-org/daniel/guestroominitialsync
...
Merge pull request #360 from matrix-org/daniel/guestroominitialsync
Allow guest access to room initialSync
2015-11-12 15:19:55 +00:00
Daniel Wagner-Hall
fb7e260a20
Tweak guest access permissions
...
* Allow world_readable rooms to be read by guests who have joined and
left
* Allow regular users to access world_readable rooms
2015-11-12 15:02:00 +00:00
Daniel Wagner-Hall
50f1afbd5b
Consider joined guest users as joined users
...
Otherwise they're inconveniently allowed to write events to the room
but not to read them from the room.
2015-11-12 13:37:07 +00:00
Daniel Wagner-Hall
f15ba926cc
Allow guest access to room initialSync
2015-11-11 17:13:24 +00:00
Daniel Wagner-Hall
38d82edf0e
Allow guest users to join and message rooms
2015-11-10 16:57:13 +00:00
Daniel Wagner-Hall
ca2f90742d
Open up /events to anonymous users for room events only
...
Squash-merge of PR #345 from daniel/anonymousevents
2015-11-05 14:32:26 +00:00
Daniel Wagner-Hall
f522f50a08
Allow guests to register and call /events?room_id=
...
This follows the same flows-based flow as regular registration, but as
the only implemented flow has no requirements, it auto-succeeds. In the
future, other flows (e.g. captcha) may be required, so clients should
treat this like the regular registration flow choices.
2015-11-04 17:29:07 +00:00
Mark Haines
ddd8566f41
Store room tag content and return the content in the m.tag event
2015-11-02 15:11:31 +00:00
Mark Haines
79b65f3875
Include tags in v1 room initial sync
2015-10-30 16:28:19 +00:00
Mark Haines
fdf73c6855
Include room tags v1 /initialSync
2015-10-30 16:22:32 +00:00
Erik Johnston
366af6b73a
Amalgamate _filter_events_for_client
2015-10-16 14:52:48 +01:00
Erik Johnston
858634e1d0
Remove unused room_id arg
2015-10-14 09:31:20 +01:00
Mark Haines
dc72021748
Add a flag to initial sync to indicate we want rooms that the user has left
2015-10-08 17:26:23 +01:00
Erik Johnston
a14665bde7
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/invite_state
2015-09-25 11:38:28 +01:00
Mark Haines
49c0a0b5c4
Clarify that room_initial_sync returns a python dict
2015-09-21 14:21:03 +01:00
Mark Haines
95c304e3f9
Fix doc string to point at the right class
2015-09-21 14:18:47 +01:00
Mark Haines
0c16285989
Add explicit "elif event.membership == Membership.LEAVE" for clarity
2015-09-21 14:17:16 +01:00
Mark Haines
1e101ed4a4
Clamp the "to" token for /rooms/{roomId}/messages to when the user left
...
the room.
There isn't a way for the client to learn a valid "to" token for a room
that they have left in the C-S API but that doesn't stop a client making
one up.
2015-09-21 14:13:10 +01:00
Mark Haines
e2054ce21a
Allow users to GET individual state events for rooms that they have left
2015-09-10 15:06:47 +01:00
Erik Johnston
49ae42bbe1
Bundle in some room state in the unsigned bit of the invite when sending to invited servers
2015-09-10 14:25:54 +01:00
Mark Haines
09cb5c7d33
Allow users that have left a room to get the messages that happend in the room before they left
2015-09-09 17:31:09 +01:00
Mark Haines
3c166a24c5
Remove undocumented and unimplemented 'feedback' parameter from the Client-Server API
2015-09-09 16:05:09 +01:00
Mark Haines
1d579df664
Allow rooms/{roomId}/state for a room that has been left
2015-09-09 14:12:24 +01:00
Mark Haines
89ae0166de
Allow room initialSync for users that have left the room, returning a snapshot of how the room was when they left it
2015-09-09 13:25:22 +01:00
Mark Haines
dd42bb78d0
Include rooms that a user has left in an initialSync. Include the state and messages at the point they left the room
2015-09-08 18:16:09 +01:00
Daniel Wagner-Hall
a0b181bd17
Remove completely unused concepts from codebase
...
Removes device_id and ClientInfo
device_id is never actually written, and the matrix.org DB has no
non-null entries for it. Right now, it's just cluttering up code.
This doesn't remove the columns from the database, because that's
fiddly.
2015-08-25 16:23:06 +01:00
Erik Johnston
1a9510bb84
Implement a batched presence_handler.get_state and use it
2015-08-17 10:40:23 +01:00
Erik Johnston
7b0e797080
Fix _filter_events_for_client
2015-08-12 17:05:24 +01:00
Erik Johnston
a7eeb34c64
Simplify staggered deferred lists
2015-08-12 16:02:05 +01:00
Erik Johnston
f7e2f981ea
Use list comprehension instead of filter
2015-08-12 16:01:10 +01:00
Erik Johnston
dc8399ee00
Remove debug loggers
2015-08-11 11:30:59 +01:00
Erik Johnston
1b994a97dd
Fix application of ACLs
2015-08-11 10:41:40 +01:00
Erik Johnston
ffdb8c3828
Don't be too enthusiatic with defer.gatherResults
2015-08-07 18:13:48 +01:00
Erik Johnston
4d6cb8814e
Speed up event filtering (for ACL) logic
2015-08-04 09:32:23 +01:00
Erik Johnston
5989637f37
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receipts
2015-07-13 13:50:57 +01:00
Erik Johnston
87311d1b8c
Hook up receipts to v1 initialSync
2015-07-08 11:02:04 +01:00
Erik Johnston
fb47c3cfbe
Rename key and values for m.room.history_visibility. Support 'invited' value
2015-07-06 13:05:52 +01:00
Erik Johnston
41938afed8
Make v1 initial syncs respect room history ACL
2015-07-02 17:12:35 +01:00
Erik Johnston
1a60545626
Add basic impl for room history ACL on GET /messages client API
2015-07-02 16:20:10 +01:00
Erik Johnston
eceb554a2f
Use another deferred list
2015-06-16 17:12:27 +01:00
Erik Johnston
b849a64f8d
Use DeferredList
2015-06-16 17:03:24 +01:00
Erik Johnston
0460406298
Don't do unecessary db ops in presence.get_state
2015-06-16 16:59:38 +01:00
Mark Haines
a6fb2aa2a5
Merge pull request #144 from matrix-org/erikj/logging_context
...
Preserving logging contexts
2015-05-12 15:23:50 +01:00
Erik Johnston
95dedb866f
Unwrap defer.gatherResults failures
2015-05-12 13:14:29 +01:00
Erik Johnston
4df11b5039
Make get_current_token accept a direction parameter, which tells whether the source whether we want a token for going 'forwards' or 'backwards'
2015-05-12 10:28:10 +01:00
Erik Johnston
84e6b4001f
Initial hack at wiring together pagination and backfill
2015-05-11 18:01:31 +01:00
Erik Johnston
1d7702833d
Make simple query rather than long one and then throw away half the results
2015-04-30 10:16:12 +01:00
Erik Johnston
bc6cef823f
Do more parellelization for initialSync
2015-04-15 14:21:59 +01:00
Erik Johnston
1ec6fa98c9
Parellelize initial sync
2015-04-15 14:17:16 +01:00
Paul "LeoNerd" Evans
93d07c87dc
Reindent code to be less human-readable to keep pep8 from complaining
2015-02-12 19:19:37 +00:00
Paul "LeoNerd" Evans
5f6e6530d0
Appease pyflakes
2015-02-12 19:15:23 +00:00
Paul "LeoNerd" Evans
29805213d1
Can now remove the FIXME too
2015-02-12 19:13:21 +00:00
Paul "LeoNerd" Evans
860b1b4841
Only attempt to fetch presence state of JOINed members in room initialSync (SYN-202)
2015-02-12 19:13:21 +00:00
Erik Johnston
d94f682a4c
During room intial sync, only calculate current state once.
2015-02-09 17:41:29 +00:00
Erik Johnston
26a041541b
SYN-202: Log as WARN the 404 'Presence information not visible' errors instead of as ERROR since they were spamming the logs
2015-02-05 13:17:05 +00:00
Mark Haines
388581e087
Extract the id token of the token when authing users, include the token and device_id in the internal meta data for the event along with the transaction id when sending events
2015-01-28 16:58:23 +00:00
Mark Haines
7f6f3f9d62
Pass the current time to serialize event, rather than passing an
...
HS and getting a clock from it and calling time_msec on the clock.
Remove the serialize_event method from the HS since it is no longer
needed.
2015-01-26 16:11:28 +00:00
Mark Haines
5759bec43c
Replace hs.parse_userid with UserID.from_string
2015-01-23 11:47:15 +00:00
Kegan Dougal
b5924cae04
Add raw query param for scrollback.
2015-01-08 14:37:55 +00:00
Kegan Dougal
edb557b2ad
Return the raw federation event rather than adding extra keys for federation data.
2015-01-08 14:28:08 +00:00
Erik Johnston
5940ec993b
Add missing continuation indent.
2015-01-08 13:59:29 +00:00
Kegan Dougal
5720ab59e0
Add 'raw' query parameter to expose the event graph and signatures to savvy clients.
2015-01-08 13:57:40 +00:00
Erik Johnston
9e5545a6fa
RoomsForUser now has sender instead of user_id
2015-01-06 15:53:50 +00:00
Mark Haines
adb04b1e57
Update copyright notices
2015-01-06 13:21:39 +00:00
Mark Haines
f70e622d59
bump_presence_active_time when sending a message event
2014-12-19 14:30:57 +00:00
Mark Haines
a999f0dec3
Don't ratelimit room create events
2014-12-19 14:18:27 +00:00
Mark Haines
56db465047
Merge branch 'release-v0.6.0' into develop
2014-12-16 17:29:49 +00:00
Erik Johnston
f06161a307
Enable rate limiting for all events
2014-12-16 16:10:17 +00:00
Mark Haines
627e4f01d2
Remove send_message since nothing was calling it. Remove Snapshot because only send_message was using it
2014-12-16 16:07:41 +00:00
Erik Johnston
3c77d13aa5
Kill off synapse.api.events.*
2014-12-16 11:29:05 +00:00
Erik Johnston
cf6e5f1dbf
Rename MessageHandler.handle_event. Add a few comments.
2014-12-15 17:01:12 +00:00
Erik Johnston
63810c777d
Validate message, topic and name event contents
2014-12-12 11:01:09 +00:00
Erik Johnston
b245ee34ed
Add some basic event validation
2014-12-10 17:59:47 +00:00
Erik Johnston
02db7eb209
Fix bug when uploading state with empty state_key
2014-12-10 14:02:48 +00:00
Erik Johnston
95aa903ffa
Try and figure out how and why signatures are being changed.
2014-12-10 11:37:47 +00:00
Erik Johnston
ee3df06183
More bug fixes
2014-12-08 14:50:48 +00:00
Erik Johnston
c31dba86ec
Convert rest and handlers to use new event structure
2014-12-04 15:50:01 +00:00
Erik Johnston
9d53228158
Change DomainSpecificString so that it doesn't use a HomeServer object
2014-12-02 10:42:28 +00:00
Erik Johnston
64fc859dac
Fix bugs in invite/join dances.
...
We now do more implement more of the auth on the events so that we
don't reject valid events.
2014-11-25 17:59:49 +00:00