Commit Graph

2227 Commits

Author SHA1 Message Date
David Baker
6fab7bd2c1 s/user_name/user/ as per mjark's comment 2015-03-02 18:17:19 +00:00
David Baker
09f9e8493c Oops, missed a replacement. 2015-03-02 17:37:22 +00:00
Erik Johnston
9f03553f48 Add missing comma 2015-03-02 16:38:40 +00:00
Erik Johnston
b41dc68773 We purposefully don't have a version 14 delta script. 2015-03-02 16:36:19 +00:00
David Baker
20436cdf75 Blank lines 2015-03-02 15:58:12 +00:00
Kegan Dougal
2de5b14fe0 Fix bug which prevented the HS pushing events to the AS due to FrozenEvents 2015-03-02 15:36:37 +00:00
Erik Johnston
8486910b64 Bump webclient version 2015-03-02 14:57:37 +00:00
Kegsay
8ad024ea80 Merge pull request #93 from matrix-org/application-services-exclusive
Application services exclusive flag support
2015-03-02 14:56:32 +00:00
Erik Johnston
0a036944bd Merge branch 'develop' of github.com:matrix-org/synapse into batched_get_pdu 2015-03-02 13:53:30 +00:00
Erik Johnston
3fce185c77 Merge pull request #83 from matrix-org/nofile_limit_config
Add config option to set the soft fd limit on start
2015-03-02 13:52:16 +00:00
Erik Johnston
4195e55ccc Merge branch 'develop' of github.com:matrix-org/synapse into federation_rate_limit 2015-03-02 13:39:22 +00:00
Kegan Dougal
c3c01641d2 Run deltas and bump user_version in upgrade script 2015-03-02 13:38:57 +00:00
Erik Johnston
210d3c5d72 Merge pull request #95 from matrix-org/serialize_transaction_processing
Process transactions serially.
2015-03-02 13:33:05 +00:00
Erik Johnston
3077cb2915 Use contextlib.contextmanager instead of a custom class 2015-03-02 13:32:44 +00:00
David Baker
769f8b58e8 Rename the room-with-two-people rule to be more compatible if we have actual one to one rooms. 2015-03-02 13:28:24 +00:00
Kegsay
33f93d389e Merge pull request #92 from matrix-org/application-services-event-stream
Application services event stream support
2015-03-02 12:02:48 +00:00
Erik Johnston
29481690c5 If we're yielding don't add errback 2015-03-02 11:50:43 +00:00
Erik Johnston
23d9bd1d74 Process transactions serially.
Since the events received in a transaction are ordered, later events
might depend on earlier events and so we shouldn't blindly process them
in parellel.
2015-03-02 11:39:57 +00:00
Erik Johnston
9d9b230501 Make the federation server ratelimiting configurable. 2015-03-02 11:33:45 +00:00
Kegan Dougal
cb97ea3ec2 PEP8 2015-03-02 11:23:46 +00:00
Kegan Dougal
377ae369c1 Wrap all of get_app_service_rooms in a txn. 2015-03-02 11:20:51 +00:00
Kegan Dougal
b216b36892 JOIN state_events rather than parsing unrecognized_keys to pull out member state_keys 2015-03-02 10:41:35 +00:00
Kegan Dougal
3d73383d18 Modify _simple_select_list to allow an empty WHERE clause. Use it for get_all_rooms and get_all_users. 2015-03-02 10:16:24 +00:00
Kegan Dougal
ebc4830666 PR tweaks: set earlier on and use 'as json' for compat 2015-03-02 09:53:00 +00:00
David Baker
2a6dedd7cc It's set_tweak now, not set_sound 2015-02-27 18:38:56 +00:00
Erik Johnston
0554d07082 Move federation rate limiting out of transport layer 2015-02-27 15:41:52 +00:00
Erik Johnston
9dc9118e55 Document FederationRateLimiter 2015-02-27 15:16:47 +00:00
Kegan Dougal
58ff066064 Implement exclusive namespace checks. 2015-02-27 13:51:41 +00:00
Kegan Dougal
40c9896705 Add functions to return whether an AS has exclusively claimed a matching namespace. 2015-02-27 11:03:56 +00:00
Kegan Dougal
16b90764ad Convert expected format for AS regex to include exclusivity.
Previously you just specified the regex as a string, now it expects a JSON
object with a 'regex' key and an 'exclusive' boolean, as per spec.
2015-02-27 10:44:32 +00:00
Kegan Dougal
806a6c886a PEP8 2015-02-27 09:48:57 +00:00
Kegan Dougal
1cc77145d4 Notify appservices of invites mid-poll.
This requires the notifier to have knowledge of appservice listeners so it can
do the regex checks on incoming invites to see if the state_key matches. It
isn't enough to just rely on the room listeners and store.get_app_service_rooms
as the room will initially not exist or won't be on the ASes radar due to
having none of its users in the room.
2015-02-27 09:39:12 +00:00
David Baker
cfac3b7873 SYN-267 Add a fallback rule as an explicit server default rule and make the default dont-notify so you effectively have a "notify for everything else" switch you can turn on and off. 2015-02-26 18:58:14 +00:00
David Baker
1959088156 Add API for getting/setting enabled-ness of push rules. 2015-02-26 18:07:44 +00:00
Kegan Dougal
f0995436e7 Check for membership invite events correctly. 2015-02-26 17:21:17 +00:00
Kegan Dougal
dcec7175dc Finish impl to get new events for AS. ASes should now be able to poll /events 2015-02-26 16:23:01 +00:00
Erik Johnston
93d90765c4 Initial implementation of federation server rate limiting 2015-02-26 16:15:26 +00:00
Erik Johnston
59362454dd Must update pending_transactions map before yield'ing 2015-02-26 15:47:35 +00:00
Kegan Dougal
92478e96d6 Finish impl to extract all room IDs an AS may be interested in when polling the event stream. 2015-02-26 14:35:28 +00:00
David Baker
944003021b whitespace 2015-02-26 13:43:05 +00:00
David Baker
94fa334b01 Add enable/disable overlay for push rules (REST API not yet hooked up) 2015-02-25 19:17:07 +00:00
Kegan Dougal
29267cf9d7 PEP8 and pyflakes 2015-02-25 17:42:28 +00:00
Kegan Dougal
978ce87c86 Comment unused variables. 2015-02-25 17:37:48 +00:00
Kegan Dougal
2c79c4dc7f Fix alias query. 2015-02-25 17:37:14 +00:00
Kegan Dougal
2b8ca84296 Add support for extracting matching room_ids and room_aliases for a given AS. 2015-02-25 17:15:25 +00:00
Kegan Dougal
2d20466f9a Add stub functions and work out execution flow to implement AS event stream polling. 2015-02-25 15:00:59 +00:00
David Baker
a025055643 SYWEB-278 Don't allow rules with no rule_id. 2015-02-25 14:02:38 +00:00
David Baker
255f989c7b turns uris config options should append since it's a list 2015-02-24 20:57:58 +00:00
David Baker
443ba4eecc %s for strings otherwise you end up sending 'u"foo"' 2015-02-24 15:00:12 +00:00
Erik Johnston
c0aaf9fe76 Merge pull request #89 from matrix-org/registration-fallback
Registration fallback
2015-02-24 10:00:33 +00:00
Paul "LeoNerd" Evans
9640510de2 Use OrderedDict for @cached backing store, so we can evict the oldest key unbiased 2015-02-23 18:41:58 +00:00
Paul "LeoNerd" Evans
f53fcbce97 Use cache.pop() instead of a separate membership test + del [] 2015-02-23 18:30:45 +00:00
Mark Haines
27080698e7 Fix code style warning 2015-02-23 18:19:13 +00:00
Mark Haines
74048bdd41 Remove unused import 2015-02-23 18:17:43 +00:00
Kegan Dougal
28d8614f48 Trailing comma 2015-02-23 17:36:37 +00:00
Paul "LeoNerd" Evans
bd84755e64 Merge remote-tracking branch 'origin/develop' into performance-cache-improvements 2015-02-23 17:16:03 +00:00
Paul "LeoNerd" Evans
a09e59a698 Pull the _get_event_cache.setdefault() call out of the try block, as it doesn't need to be there and is confusing 2015-02-23 16:55:57 +00:00
Paul "LeoNerd" Evans
044d813ef7 Use the @cached decorator to implement the destination_retry_timings cache 2015-02-23 16:04:40 +00:00
Paul "LeoNerd" Evans
357fba2c24 RoomMemberStore no longer needs a _user_rooms_cache member 2015-02-23 15:57:41 +00:00
Paul "LeoNerd" Evans
e76d485e29 Allow @cached-wrapped functions to have a prefill method for setting entries 2015-02-23 15:41:54 +00:00
Kegan Dougal
0696dfd94b Actually treat this as static content, not random Resources. 2015-02-23 15:35:09 +00:00
Kegan Dougal
22399d3d8f Add RegisterFallbackResource to /_matrix/static/client/register
Try to keep both forms of registration logic (native/fallback) close
together for sanity.
2015-02-23 15:14:56 +00:00
Paul "LeoNerd" Evans
4631b737fd Squash out the now-redundant ApplicationServicesCache object class 2015-02-23 14:38:44 +00:00
Erik Johnston
e25e0f4da9 Merge branch 'develop' of github.com:matrix-org/synapse into batched_get_pdu 2015-02-23 14:36:00 +00:00
Erik Johnston
42b972bccd Revert get_auth_chain changes 2015-02-23 14:35:23 +00:00
Erik Johnston
db215b7e00 Implement and use new batched get missing pdu 2015-02-23 13:58:02 +00:00
Erik Johnston
a87c56c673 Bump version 2015-02-21 13:45:07 +00:00
Erik Johnston
1f29fafc95 Don't exit if we can't work out if we're running in a git repo 2015-02-21 13:44:46 +00:00
Erik Johnston
7c56210f20 By default set soft limit to hard limit 2015-02-20 16:09:44 +00:00
Erik Johnston
7367ca42b5 Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-20 16:06:28 +00:00
Erik Johnston
dc0ee55110 Change version scheme 2015-02-20 15:00:14 +00:00
Erik Johnston
0edfecc904 Bump version 2015-02-20 14:14:28 +00:00
Erik Johnston
2bafeca270 Add missing comma so that it generates a dict and not a set 2015-02-20 14:08:42 +00:00
Erik Johnston
15e2d7e387 Always allow AS to register 2015-02-20 11:39:53 +00:00
Paul "LeoNerd" Evans
55022d6ca5 Remove a TODO note 2015-02-19 18:38:09 +00:00
Paul "LeoNerd" Evans
ebc3db295b Take named arguments to @cached() decorator, add a 'max_entries' limit 2015-02-19 18:36:02 +00:00
Paul "LeoNerd" Evans
077d200342 Move @cached decorator out into synapse.storage._base; add minimal docs 2015-02-19 17:29:39 +00:00
Erik Johnston
0ac2a79faa Initial stab at implementing a batched get_missing_pdus request 2015-02-19 17:24:14 +00:00
Paul "LeoNerd" Evans
61959928bb Pull out the 'get_rooms_for_user' cache logic into a reüsable @cached decorator 2015-02-19 14:58:07 +00:00
Erik Johnston
0722f982d3 Disable registration if config option was set. 2015-02-19 14:22:20 +00:00
Erik Johnston
81163f822e Add config option to disable registration. 2015-02-19 14:16:53 +00:00
Erik Johnston
939273c4b0 Rename resource variable so as to not shadow module import 2015-02-19 11:53:13 +00:00
Erik Johnston
c3eb7dd9c5 Add config option to set the soft fd limit on start 2015-02-19 11:50:49 +00:00
David Baker
b457f1677c Send room ID in http notifications so clients know which room to go to if the user responds to the notification. 2015-02-19 10:06:17 +00:00
Erik Johnston
7025781df8 Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.7.1 2015-02-18 17:37:43 +00:00
Erik Johnston
142f1263f6 Merge pull request #82 from matrix-org/git_tag_version
Git tag version
2015-02-18 17:37:19 +00:00
Erik Johnston
6311ae8968 Conform to header spec take two 2015-02-18 17:34:26 +00:00
Erik Johnston
3f1871021e Make /keys/ return correct Server version 2015-02-18 17:32:12 +00:00
Erik Johnston
b6771037a6 Make version_string conform to User-Agent and Server spec 2015-02-18 17:31:50 +00:00
Erik Johnston
5b753d472b Bump matrix-angular-sdk version 2015-02-18 17:02:40 +00:00
Erik Johnston
1df8bad63e pyflakes 2015-02-18 16:54:25 +00:00
Erik Johnston
5358966a87 Use git aware version string in User-Agent and Server headers 2015-02-18 16:52:04 +00:00
Erik Johnston
aa577df064 When computing git version run git commands in same dir as source files 2015-02-18 16:52:04 +00:00
Erik Johnston
d122e215ff Generate a version string that includes git details if run from git checkout 2015-02-18 16:52:04 +00:00
Erik Johnston
a7925259a1 Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.7.1 2015-02-18 13:57:55 +00:00
Erik Johnston
7d304ae11c Merge pull request #80 from matrix-org/restrict-destinations
Restrict the destinations that synapse can talk to
2015-02-18 13:56:48 +00:00
Erik Johnston
446ef58992 Add errback to all deferreds in transaction_queue 2015-02-18 12:03:26 +00:00
Erik Johnston
cc3d3babb0 Remove unused import 2015-02-18 12:01:41 +00:00
Mark Haines
6375bd3e33 SYN-282: Don't log tracebacks for client errors 2015-02-18 12:01:37 +00:00
Mark Haines
2462aacd77 Restrict the destinations that synapse can talk to 2015-02-18 11:52:51 +00:00
Erik Johnston
b68e4a729f Discard destination 'localhost' 2015-02-18 11:32:39 +00:00
Erik Johnston
47d3ff4cf8 Don't send failure to self 2015-02-18 11:30:37 +00:00
Erik Johnston
36e144091b Remove spurious comma. Remove temp run_on_reactor 2015-02-18 11:25:20 +00:00
Erik Johnston
b17bd31da0 Temporarily add a run_on_reactor() call 2015-02-18 11:17:26 +00:00
Mark Haines
5806d52423 Fix syntax 2015-02-18 11:01:37 +00:00
Mark Haines
87e9aeb914 Move pynacl to the top of the depedency link list so that it is
installed before syutil
2015-02-18 11:00:13 +00:00
Erik Johnston
7e9d59f3b4 Don't convert DNSLookupError to a 4xx SynapseError 2015-02-18 10:58:13 +00:00
Erik Johnston
cedad8fbd6 Bump version 2015-02-18 10:54:34 +00:00
Erik Johnston
65ca713ff5 Add .__name__ after type(e) 2015-02-18 10:51:32 +00:00
Erik Johnston
5e24471469 Fix up ResponseNeverReceived to str 2015-02-18 10:50:10 +00:00
Erik Johnston
e482541e1d Fix pyflakes 2015-02-18 10:44:22 +00:00
Erik Johnston
0db52d43fa strings.join() expects iterable of strings 2015-02-18 10:41:46 +00:00
Erik Johnston
859fbd4423 s/self._clock/self.clock/ 2015-02-18 10:39:14 +00:00
Erik Johnston
1be67eca8a Merge branch 'keyclient_retry_scheme' of github.com:matrix-org/synapse into develop 2015-02-18 10:34:40 +00:00
Erik Johnston
2635d4e634 Merge branch 'develop' of github.com:matrix-org/synapse into develop 2015-02-18 10:29:54 +00:00
Erik Johnston
fe672a04f7 Merge pull request #77 from matrix-org/failures
Failures
2015-02-18 10:29:29 +00:00
Erik Johnston
08f804208b Merge pull request #79 from matrix-org/get_pdu_limiting
Get pdu limiting
2015-02-18 10:29:10 +00:00
Erik Johnston
ec847059f3 Rename _fail_fetch_pdu_cache to _get_pdu_cache 2015-02-18 10:14:10 +00:00
Erik Johnston
4fd176a41d More docs 2015-02-18 10:11:24 +00:00
Erik Johnston
d77912ff44 Docs. 2015-02-18 10:09:54 +00:00
Erik Johnston
9371019133 Try to only back off if we think we failed to connect to the remote 2015-02-17 18:13:34 +00:00
Erik Johnston
649dc8a7e2 Merge branch 'develop' of github.com:matrix-org/synapse into failures 2015-02-17 17:43:14 +00:00
Erik Johnston
c8436b38a0 Only update destination_retry_timings if we have succeeded when retrying 2015-02-17 17:38:38 +00:00
Erik Johnston
f91263b1e0 Remove spurious self 2015-02-17 17:37:51 +00:00
Erik Johnston
1177245e86 Merge branch 'hotfixes-v0.7.0g' of github.com:matrix-org/synapse into develop 2015-02-17 17:30:11 +00:00
Erik Johnston
20e3172f38 Merge pull request #75 from matrix-org/dont_write_bytecode
Don't write bytecode
2015-02-17 17:29:55 +00:00
Erik Johnston
58554fa658 Merge branch 'develop' of github.com:matrix-org/synapse into keyclient_retry_scheme 2015-02-17 17:26:46 +00:00
Erik Johnston
2c29ed3e84 Use absolute path when loading delta sql files 2015-02-17 17:22:24 +00:00
Erik Johnston
2b8f1a956c Add per server retry limiting.
Factor out the pre destination retry logic from TransactionQueue so it
can be reused in both get_pdu and crypto.keyring
2015-02-17 17:20:56 +00:00
Erik Johnston
5025305fb2 Rate limit retries when fetching server keys. 2015-02-17 15:57:42 +00:00
Erik Johnston
1a989c436c Bump schema version 2015-02-17 15:45:55 +00:00
Erik Johnston
964bb43fbe Fix typo in function name 2015-02-17 15:44:41 +00:00
Erik Johnston
e7e20417ca ExpiringCache: purge every 1/2 interval 2015-02-17 15:44:26 +00:00
Erik Johnston
8b919c00f3 Start the get_pdu cache 2015-02-17 15:44:01 +00:00
Erik Johnston
676e8ee78a Remove debug raise 2015-02-17 15:22:45 +00:00
Erik Johnston
08e70231c9 Merge branch 'develop' of github.com:matrix-org/synapse into failures 2015-02-17 15:21:33 +00:00
Erik Johnston
0647e27a41 Remove unused import 2015-02-17 15:19:54 +00:00
Erik Johnston
fa6c93bd26 Merge branch 'consumeErrors' of github.com:matrix-org/synapse into develop 2015-02-17 15:18:17 +00:00
Erik Johnston
c02da58a9d Merge branch 'develop' of github.com:matrix-org/synapse into failures 2015-02-17 15:15:07 +00:00
Erik Johnston
472734a8cc Consume errors in time_bound_deferred 2015-02-17 15:13:50 +00:00
Erik Johnston
4de93001bf Make matrixfederationclient log more nicely 2015-02-17 15:12:06 +00:00
Erik Johnston
659ead082f Format the response of transaction request in a nicer way 2015-02-17 15:11:44 +00:00
Erik Johnston
c82e26ad4b Actually respond with JSON to incoming transaction 2015-02-17 13:24:13 +00:00
Erik Johnston
47281f8fa4 Change some debug logging to info 2015-02-17 13:14:11 +00:00
Erik Johnston
02bfa889de Handle recieving failures in transactions 2015-02-17 13:13:14 +00:00
Erik Johnston
c2b1dbd84c We do want to consumeError 2015-02-17 11:11:11 +00:00
Erik Johnston
ea1d6c16cd Don't write bytecode 2015-02-17 10:54:06 +00:00
Erik Johnston
72a4de2ce6 Use consumeErrors=True on all DeferredLists.
This is so that the DeferredLists actually consume the error instead of
propogating down the non-existent errback chain. This should reduce the
number of unhandled errors we are seeing.
2015-02-17 10:07:01 +00:00
Erik Johnston
0194e71e99 Merge branch 'develop' of github.com:matrix-org/synapse into get_pdu_limiting 2015-02-17 09:48:23 +00:00
Erik Johnston
baa5b9a975 Cache results of get_pdu. 2015-02-16 18:02:39 +00:00
Erik Johnston
2674aeb96a Factor out ExpiringCache from StateHandler 2015-02-16 16:16:47 +00:00
Erik Johnston
91fc5eef1d Mark old events as outliers.
This is to fix the issue where if a remote server sends an event
that references a really "old" event, then the local server will pull
that in and send to all clients.

We decide if an event is old if its depth is less than the minimum depth
of the room.
2015-02-16 14:27:40 +00:00
Erik Johnston
6138584651 Don't return anything from _handle_new_pdu, since we ignore the return value anyway 2015-02-16 14:08:02 +00:00
Erik Johnston
8a59915d7d Merge branch 'hotfixes-v0.7.0f' of github.com:matrix-org/synapse into develop 2015-02-16 09:47:22 +00:00
Erik Johnston
6dd5c95841 Bump version 2015-02-15 20:38:52 +00:00
Erik Johnston
b99a33f283 resolve_events expect lists, not dicts 2015-02-15 20:20:51 +00:00
Erik Johnston
5f68529036 Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-13 16:21:30 +00:00
David Baker
64def4f953 Merge branch 'hotfixes-0.7.0e' into develop 2015-02-13 16:18:34 +00:00
Erik Johnston
a78838c5ba Bump version 2015-02-13 16:17:54 +00:00
David Baker
8d5cce62ab Update pushers by app id and pushkey, not user id and pushkey 2015-02-13 16:16:16 +00:00
Erik Johnston
650dc7f0f9 Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-13 15:46:42 +00:00
Erik Johnston
be26697b29 Bump version 2015-02-13 15:37:35 +00:00
Erik Johnston
b11a6e1c3c Fix wrong variable name 2015-02-13 15:37:18 +00:00
Mark Haines
0d872f5aa6 Merge pull request #50 from matrix-org/application-services
Application Services
2015-02-13 15:06:14 +00:00
Mark Haines
fa662b52d0 Merge pull request #72 from matrix-org/in_memory_sqlite_for_testing
Prepare the database whenever a connection is opened from the db_pool so...
2015-02-13 14:42:27 +00:00
Mark Haines
183b3d4e47 Prepare the database whenever a connection is opened from the db_pool so that in-memory databases will work 2015-02-13 14:38:24 +00:00
Erik Johnston
0546126cc5 Bump version 2015-02-13 14:36:40 +00:00
Erik Johnston
e441c10a73 pyflakes 2015-02-13 14:23:39 +00:00
Erik Johnston
8c652a2b5f When we see a difference in current state, actually use state conflict resolution algorithm 2015-02-13 14:20:05 +00:00
Erik Johnston
6375abcdac Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-13 13:34:25 +00:00
Erik Johnston
c09493d7aa Bump version 2015-02-13 13:33:37 +00:00
Erik Johnston
74626a8de4 Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-13 10:09:55 +00:00
Paul "LeoNerd" Evans
55e0916ffc Reindent code to be less human-readable to keep pep8 from complaining 2015-02-12 21:04:34 +00:00
Paul "LeoNerd" Evans
f22646efcc Only attempt to fetch presence state of JOINed members in room initialSync (SYN-202) 2015-02-12 21:01:29 +00:00
Erik Johnston
789251afa7 Fix logging 2015-02-12 19:29:43 +00:00
Erik Johnston
38df10b99e Remove unused function 2015-02-12 19:29:32 +00: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
58d848adc0 Parrellize fetching of events 2015-02-12 18:35:36 +00:00
Erik Johnston
963256638d Correctly handle all the places that can throw exceptions 2015-02-12 18:17:11 +00:00
Erik Johnston
48fbe79f71 Bump version 2015-02-12 14:52:02 +00:00
Erik Johnston
6b186a57ba Merge branch 'fix' of github.com:matrix-org/synapse into hotfixes-v0.7.0a 2015-02-12 14:51:46 +00:00
Erik Johnston
717687e1fc Get an auth query one at a time 2015-02-12 14:39:31 +00:00
Erik Johnston
a566ed2f0e Bump webclient version 2015-02-12 10:49:07 +00:00
Erik Johnston
83d41f25d8 Set database schema version in delta 2015-02-12 10:05:47 +00:00
Erik Johnston
ff2a2ae56e Bump version 2015-02-12 10:02:06 +00:00
Erik Johnston
8bbdf32849 Convert get_rooms to use runInteraction so the transacion has a more helpful description 2015-02-11 18:56:13 +00:00
Erik Johnston
2bf0e85f3d Use encode_canonical_json for http client 2015-02-11 17:34:23 +00:00
Erik Johnston
e9e54449f5 Use encode_canonical_json for pushes 2015-02-11 17:32:42 +00:00
Erik Johnston
af89456c3c Update dependency links 2015-02-11 17:15:16 +00:00
Erik Johnston
c52e8d395b Merge pull request #61 from matrix-org/timeout-federation-requests
Timeout federation requests
2015-02-11 17:10:33 +00:00
Erik Johnston
021d93db11 Merge pull request #62 from matrix-org/state-chache
State chache
2015-02-11 17:10:28 +00:00
Erik Johnston
a793a0b810 Bump syutil version 2015-02-11 17:02:52 +00:00
Erik Johnston
42bc56dad3 Merge branch 'develop' of github.com:matrix-org/synapse into use-simplejson 2015-02-11 17:01:38 +00:00
Mark Haines
9c24cff6ef Allow newer versions of syutil 2015-02-11 17:00:32 +00:00
Erik Johnston
7eef84a95b pyflakes 2015-02-11 16:52:22 +00:00
Erik Johnston
76935078d1 Remove more debug logging 2015-02-11 16:51:22 +00:00
Erik Johnston
ed877d6585 Remove debug logging 2015-02-11 16:50:46 +00:00
Erik Johnston
ef276e8770 Fix so timing out connections to actually work. 2015-02-11 16:48:05 +00:00
Kegan Dougal
f2fdcb7c4b Merge branch 'develop' into application-services 2015-02-11 16:43:26 +00:00
Kegan Dougal
f518324426 Minor tweaks based on PR feedback. 2015-02-11 16:41:16 +00:00
Paul "LeoNerd" Evans
b164e0896c Merge branch 'bugs/SYN-264' into develop 2015-02-11 16:23:30 +00:00
Paul "LeoNerd" Evans
7f47ba7383 Added another TODO note 2015-02-11 16:18:21 +00:00
Erik Johnston
41a9a76a99 Merge branch 'develop' of github.com:matrix-org/synapse into timeout-federation-requests 2015-02-11 16:12:59 +00:00
Paul "LeoNerd" Evans
45b56609ae Cache the result of a get_rooms_for_user query, to make user_rooms_intersect() much lighter in the read-common case 2015-02-11 16:04:08 +00:00
Paul "LeoNerd" Evans
7be0f6594e First step of making user_rooms_intersect() faster - implement in intersection logic in Python code terms of a DB query that is cacheable per user 2015-02-11 15:53:56 +00:00
Erik Johnston
ddb816cf60 Don't unfreeze when using FreezeEvent.get_dict, as we are using a JSONEncoder that understands FrozenDict 2015-02-11 15:44:28 +00:00
Mark Haines
ddc25cf4e2 Invalidate the cache for an event if it is redacted 2015-02-11 15:23:28 +00:00
Mark Haines
aff892ce79 Fix formatting 2015-02-11 15:02:35 +00:00
Mark Haines
f5a70e0d2e Add a cache for get_event 2015-02-11 15:01:15 +00:00
Mark Haines
d8324d5a2b Add a lru cache class 2015-02-11 14:52:23 +00:00
Erik Johnston
4ebbaf0d43 Blunty replace json with simplejson 2015-02-11 14:23:10 +00:00
Kegan Dougal
14d413752b Fix newline on __init__ 2015-02-11 10:53:47 +00:00
Kegan Dougal
fd40d992ad PEP8-ify 2015-02-11 10:41:33 +00:00
Kegan Dougal
8beb613916 Add newline to EOF 2015-02-11 10:36:48 +00:00
Kegan Dougal
c7783d6fee Notify ASes for events sent by other users in a room which an AS user is a part of. 2015-02-11 10:36:08 +00:00
Erik Johnston
5758dafb4e Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-11 10:35:13 +00:00
Erik Johnston
6370cffbbf Fix bug where variable was not always defined 2015-02-11 10:34:41 +00:00
Erik Johnston
fb233dc40b Merge branch 'develop' of github.com:matrix-org/synapse into timeout-federation-requests 2015-02-11 10:33:19 +00:00
Erik Johnston
05b961d7e3 PEP8 2015-02-11 10:28:46 +00:00
Erik Johnston
dcf52469e8 Move time_bound_deferred into Clock 2015-02-11 10:25:06 +00:00
Erik Johnston
8c83cc471b Merge branch 'master' of github.com:matrix-org/synapse into develop 2015-02-11 10:20:43 +00:00
Kegan Dougal
9978c5c103 Merge branch 'develop' into application-services 2015-02-11 10:03:24 +00:00
Erik Johnston
0e6b3e4e40 Time out HTTP federation requests 2015-02-10 18:17:27 +00:00
Mark Haines
5e54365234 Merge branch 'develop' into single_source_version_and_dependencies 2015-02-10 18:13:25 +00:00
Mark Haines
84a769cdb7 Fix code-style 2015-02-10 17:58:36 +00:00
Mark Haines
7ed971d9b2 Single source version and python dependencies, prevent people accidentally installing with easy_install, use scripts rather than entry_points to install synctl 2015-02-10 17:42:36 +00:00
Erik Johnston
eae0842bc1 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-10 17:34:51 +00:00
Erik Johnston
c8e1da930d Log all the exits from _attempt_new_transaction 2015-02-10 17:30:46 +00:00
Erik Johnston
b61a308b27 Bump version 2015-02-10 16:37:12 +00:00
Erik Johnston
e8d4a31475 Fix prune_events to work with nested dicts 2015-02-10 16:36:51 +00:00
Mark Haines
b085fac735 Code-style fixes 2015-02-10 16:30:48 +00:00
Erik Johnston
093e34e301 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-10 15:46:48 +00:00
Erik Johnston
697ab75a34 Sign auth_chains when returned by /state/ requests 2015-02-10 15:46:24 +00:00
Erik Johnston
f8abbae99f Remove unnecessary logging 2015-02-10 15:45:50 +00:00
Erik Johnston
794fe2ca45 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-10 15:23:08 +00:00
Mark Haines
f88d3ee8ae Merge pull request #58 from matrix-org/get_event_counters
Add performance counters for different stages of loading events
2015-02-10 15:15:20 +00:00
Mark Haines
fda4422bc9 Fix pyflakes 2015-02-10 14:54:07 +00:00
Mark Haines
d7c7efb691 Add performance counters for different stages of loading events 2015-02-10 14:50:53 +00:00
Erik Johnston
91f0e41153 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-10 14:30:26 +00:00
Erik Johnston
f91345bdb5 yaml.load expects strings to be a yaml rather than file 2015-02-10 13:57:31 +00:00
Erik Johnston
30595b466f Use yaml logging config format because it is much nicer 2015-02-10 13:50:33 +00:00
Erik Johnston
c86ebe7673 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache
Conflicts:
	synapse/app/homeserver.py
	synapse/state.py
2015-02-10 11:04:37 +00:00
Erik Johnston
2b042ad67f Oops, we do want to defer.return regardless of whether we are caching or not 2015-02-10 11:03:16 +00:00
Erik Johnston
d19e2ed02f Move construction of object within if block 2015-02-10 11:01:15 +00:00
Erik Johnston
b90d377af4 Merge branch 'release-v0.6.2' of github.com:matrix-org/synapse into develop 2015-02-10 10:33:35 +00:00
Mark Haines
8ce100c7b4 Convert directory paths to absolute paths before daemonizing 2015-02-09 18:30:00 +00:00
Mark Haines
5c5f5c1f0e Merge pull request #56 from matrix-org/room_initial_sync_perf
During room intial sync, only calculate current state once.
2015-02-09 18:09:30 +00:00
Erik Johnston
375eba6a18 Merge pull request #57 from matrix-org/transaction_counters
Transaction counters
2015-02-09 18:08:08 +00:00
Mark Haines
0c4536da8f Use the transaction 'desc' rather than 'name', increment the txn_ids in
txn names
2015-02-09 18:06:31 +00:00
Mark Haines
347b497db0 Formatting 2015-02-09 17:57:09 +00:00
Mark Haines
3a5ad7dbd5 Performance counters for database transaction names 2015-02-09 17:55:56 +00:00
Erik Johnston
d94f682a4c During room intial sync, only calculate current state once. 2015-02-09 17:41:29 +00:00
David Baker
8f616684a3 Need to use re.search if looking for matches not at the start of the string. Also comparisons with None should be 'is'. 2015-02-09 17:01:40 +00:00
Matthew Hodgson
0b725f5c4f oops 2015-02-09 16:48:31 +00:00
Matthew Hodgson
bd2373277d oops 2015-02-09 16:48:09 +00:00
Matthew Hodgson
a578251b48 only do word-boundary patches on bodies for now 2015-02-09 16:44:47 +00:00
Kegan Dougal
53557fc532 Merge branch 'develop' into application-services 2015-02-09 15:20:56 +00:00
Kegan Dougal
f7cac2f7b6 Fix bugs so lazy room joining works as intended. 2015-02-09 15:01:28 +00:00
Erik Johnston
76c5a5c2f6 Merge pull request #55 from matrix-org/profiling
Profiling
2015-02-09 15:01:26 +00:00
Erik Johnston
c4ee4ce93e Fix typo 2015-02-09 15:00:37 +00:00
Erik Johnston
ef995e6946 Add looping_call to Clock 2015-02-09 14:47:59 +00:00
Erik Johnston
66fde49f07 Log database time every 10s and log as percentage 2015-02-09 14:45:15 +00:00
Erik Johnston
75656712e3 Time how long we're spending on the database thread 2015-02-09 14:22:52 +00:00
David Baker
784d714a3f Fix server default rule injection (downwards, not upwards!) 2015-02-09 14:17:52 +00:00
Kegan Dougal
5a7dd05818 Modify auth.get_user_by_req for authing appservices directly.
Add logic to map the appservice token to the autogenned appservice user ID.
Add unit tests for all forms of get_user_by_req (user/appservice,
valid/bad/missing tokens)
2015-02-09 14:14:15 +00:00
Erik Johnston
24cc6979fb Log when we receive a request, when we send a response and how long it took to process it. 2015-02-09 13:46:22 +00:00
Kegan Dougal
ac3183caaa Register a user account for the AS when the AS registers. Add 'sender' column to AS table. 2015-02-09 12:03:37 +00:00
Matthew Hodgson
ecb0f78063 glob *s should probably be non-greedy 2015-02-08 02:37:35 +00:00
Matthew Hodgson
c2afc2ad90 oops 2015-02-08 00:37:03 +00:00
Matthew Hodgson
8be07e0db4 kill off fnmatch in favour of word-boundary based push alerts (untested) 2015-02-08 00:34:34 +00:00
Matthew Hodgson
37b6b880ef don't give up if we can't create default avatars during tests 2015-02-07 21:24:08 +00:00
Matthew Hodgson
582019f870 ...and here's the actual impl. git fail. 2015-02-07 13:32:14 +00:00
Matthew Hodgson
e117bc3fc5 thou shalt specify a content-length 2015-02-07 12:56:21 +00:00
Matthew Hodgson
34c39398fa i hate weakly typed languages 2015-02-07 12:55:13 +00:00
Kegan Dougal
73a680b2a8 Add errcodes for appservice registrations. 2015-02-06 17:10:04 +00:00
Erik Johnston
af613824e4 Merge branch 'develop' of github.com:matrix-org/synapse into state-chache 2015-02-06 16:59:00 +00:00
Erik Johnston
5bf318e9a6 Bug fixes. 2015-02-06 16:52:22 +00:00
Erik Johnston
b4886264a3 Bugfix cache layer 2015-02-06 16:17:05 +00:00
Erik Johnston
c4e3029d55 Add cache layer to state group resolution 2015-02-06 16:08:13 +00:00
Mark Haines
20db147ef3 SYN-258: get_recent_events_for_room only accepts stream tokens, convert the topological token to a stream token before passing it to get_recent_events_for_room 2015-02-06 16:01:04 +00:00
Mark Haines
55a186485c SYN-258: get_recent_events_for_room only accepts stream tokens, convert the topological token to a stream token before passing it to get_recent_events_for_room 2015-02-06 15:58:40 +00:00
Erik Johnston
cc0532a4bf Explicitly list the RejectedReasons that we can prove 2015-02-06 15:16:26 +00:00
Erik Johnston
0cd66885e3 Move delta/v13.sql to delta/v12.sql 2015-02-06 14:38:04 +00:00
Erik Johnston
e890ce223c Don't query auth if the only difference is events that were rejected due to auth. 2015-02-06 14:16:50 +00:00
Erik Johnston
c78b5fb1f1 Make seen_ids a set 2015-02-06 13:52:16 +00:00
Kegan Dougal
0995810273 Pyflakes: unused variable. 2015-02-06 11:45:19 +00:00
Kegan Dougal
c3ae8def75 Grant ASes the ability to delete aliases in their own namespace. 2015-02-06 11:32:07 +00:00
Kegan Dougal
e426df8e10 Grant ASes the ability to create alias in their own namespace.
Add a new errcode type M_EXCLUSIVE when users try to create aliases inside
AS namespaces, and when ASes try to create aliases outside their own
namespace.
2015-02-06 10:57:14 +00:00
Erik Johnston
9f2573eea1 Return body of response in HttpResponseException 2015-02-06 10:55:01 +00:00
Erik Johnston
3737329d9b Handle the fact the list.remove raises if element doesn't exist 2015-02-06 10:53:18 +00:00
Kegan Dougal
0227618d3c Add m.login.application_service registration procedure.
This allows known application services to register any user ID under their
own user namespace(s).
2015-02-05 17:29:27 +00:00
Kegan Dougal
11e6b3d18b Dependency inject ApplicationServiceApi when creating ApplicationServicesHandler. 2015-02-05 17:04:59 +00:00
Kegan Dougal
a3c6010718 Add delta sql file. 2015-02-05 16:48:57 +00:00
Kegan Dougal
cab4c73088 Prevent user IDs in AS namespaces being created/deleted by humans. 2015-02-05 16:46:56 +00:00
Kegan Dougal
e9484d6a95 Prevent aliases in AS namespaces being created/deleted by users. Check with ASes when queried for room aliases via federation. 2015-02-05 16:29:56 +00:00
Kegan Dougal
c20281ee33 Merge branch 'develop' into application-services 2015-02-05 16:11:34 +00:00
David Baker
a93fa42bce priority class now dealt with in namespaced rule_id 2015-02-05 15:45:16 +00:00
Kegan Dougal
fc8bcc809d Merge branch 'develop' into application-services 2015-02-05 15:32:45 +00:00
Kegan Dougal
5b99b471b2 Fix unit tests. 2015-02-05 15:12:36 +00:00
David Baker
aaf50bf6f3 Give server default rules the 'default' attribute and fix various brokenness. 2015-02-05 15:11:38 +00:00
Kegan Dougal
c163357f38 Add CS extension for masquerading as users within the namespaces specified by the AS. 2015-02-05 15:00:33 +00:00
David Baker
2df41aa138 Server default rules now of all kinds rather than all being at lowest prio. 2015-02-05 14:46:37 +00:00
David Baker
f90782a658 namespace rule IDs to be unique within their scope and rule type. 2015-02-05 14:46:37 +00:00
Kegan Dougal
951690e54d Merge branch 'develop' into application-services 2015-02-05 14:28:03 +00:00
Kegan Dougal
c71456117d Fix user query checks. HS>AS pushing now works. 2015-02-05 14:17:08 +00:00
Erik Johnston
8f5b858a1b Merge branch 'develop' of github.com:matrix-org/synapse into federation_client_retries 2015-02-05 13:50:28 +00:00
Erik Johnston
e9c85a4d5a Connection errors in twisted aren't RuntimeErrors 2015-02-05 13:50:15 +00:00
Erik Johnston
e1515c3e91 Pass through list of room hosts from room alias query to federation so that it can retry against different room hosts 2015-02-05 13:44:42 +00:00
Kegan Dougal
0613666d9c Serialize events before sending to ASes 2015-02-05 13:42:35 +00:00
Kegan Dougal
51d63ac329 Glue AS work to general event notifications. Add more exception handling when poking ASes. 2015-02-05 13:19:46 +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
Kegan Dougal
b932600653 Add unknown room alias check. Call it from directory_handler.get_association 2015-02-05 11:47:11 +00:00
Kegan Dougal
f0c730252f Add unknown user ID check. Use store.get_aliases_for_room(room_id) when searching for services by alias. 2015-02-05 11:25:32 +00:00
Kegan Dougal
27091f146a Add hs_token column and generate a different token f.e application service. 2015-02-05 10:08:12 +00:00
Kegan Dougal
a1a4960baf Impl push_bulk function 2015-02-05 09:43:22 +00:00
Erik Johnston
77e5ae22a9 Ver bump 2015-02-04 23:51:34 +00:00
Erik Johnston
19ebdc321d Pull in python_dependencies.py from develop 2015-02-04 23:51:02 +00:00
Kegan Dougal
543e84fe70 Add SimpleHttpClient.put_json with the same semantics as get_json. 2015-02-04 17:39:51 +00:00
Erik Johnston
8046df6efa Merge branch 'develop' of github.com:matrix-org/synapse into federation_client_retries 2015-02-04 17:37:34 +00:00
Kegan Dougal
6d3e4f4d0a Update user/alias query APIs to use new format of SimpleHttpClient.get_json 2015-02-04 17:32:44 +00:00
Kegan Dougal
96d4bf9012 Modify API for SimpleHttpClient.get_json and update usages.
Previously, this would only return the HTTP body as JSON, and discard other
response information (e.g. the HTTP response code). This has now been changed
to throw a CodeMessageException on a non-2xx response, with the response code
and body, which can then be parsed as JSON.

Affected modules include:
 - Registration/Login (when using an email for IS auth)
2015-02-04 17:07:31 +00:00
Kegan Dougal
aa8cce58bf Add query_user/alias APIs. 2015-02-04 16:44:53 +00:00
Erik Johnston
d45e2302ed Merge branch 'signature_failures' of github.com:matrix-org/synapse into federation_client_retries 2015-02-04 16:30:15 +00:00
Erik Johnston
ae46f10fc5 Apply sanity to the transport client interface. Convert 'make_join' and 'send_join' to accept iterables of destinations 2015-02-04 16:28:12 +00:00
David Baker
2e77ba637a More s/instance_handle/profile_tag/ 2015-02-04 16:24:15 +00:00
Kegan Dougal
ce8bc642ae Merge branch 'develop' into application-services 2015-02-04 15:31:02 +00:00
Kegan Dougal
89f2e8fbdf Fix bug in store defer. Add more unit tests. 2015-02-04 15:21:03 +00:00
Erik Johnston
95e2d2d36d When returning lists of servers from alias lookups, put the current server first in the list 2015-02-04 15:02:23 +00:00
Erik Johnston
650e32d455 Change context.auth_events to what the auth_events would be bases on context.current_state, rather than based on the auth_events from the event. 2015-02-04 14:06:46 +00:00
Erik Johnston
ff78eded01 Retry make_join 2015-02-04 13:55:10 +00:00
Kegan Dougal
525a218b2b Begin to add unit tests for appservice glue and regex testing. 2015-02-04 12:24:20 +00:00
Kegan Dougal
17753f0c20 Add stub ApplicationServiceApi and glue it with the handler. 2015-02-04 11:19:18 +00:00
Erik Johnston
03d415a6a2 Brief comment on why we do some things on every call to persist_event and not others 2015-02-04 10:40:59 +00:00
Erik Johnston
f275ba49bb Fix state resolution to remember join_rules is a type of auth event. 2015-02-04 10:36:28 +00:00
Erik Johnston
c0462dbf15 Rearrange persist_event so that do all the queries that need to be done before returning early if we have already persisted that event. 2015-02-04 10:16:51 +00:00
Erik Johnston
02be8da5e1 Add doc to get_event 2015-02-03 17:34:07 +00:00
David Baker
dc7bb70f22 s/instance_handle/profile_tag/ 2015-02-03 16:51:07 +00:00
Erik Johnston
3c39f42a05 New line 2015-02-03 16:14:19 +00:00
Erik Johnston
7dd1c5c542 Neaten the handling of state and auth_chain up a bit 2015-02-03 16:12:04 +00:00
David Baker
9a71add1c0 Use set_tweak instead of set_sound 2015-02-03 16:06:31 +00:00
Erik Johnston
9bace3a367 Actually, the old prune_event function was non-deterministic, so no point keeping it around :( 2015-02-03 15:32:17 +00:00
Erik Johnston
8dae5c8108 Remove unused imports 2015-02-03 15:01:12 +00:00
Erik Johnston
7b810e136e Add new FederationBase 2015-02-03 15:00:42 +00:00
Erik Johnston
0dd3aea319 Keep around the old (buggy) version of the prune_event function so that we can use it to check signatures for events on old servers 2015-02-03 14:58:30 +00:00
Kegan Dougal
94a5db9f4d Add appservice package and move ApplicationService into it. 2015-02-03 14:44:16 +00:00
Erik Johnston
6efd4d1649 Don't completely die if get auth_chain or querying auth_chain requests fail 2015-02-03 13:57:54 +00:00
Erik Johnston
77a076bd25 Set combinations is | and not + 2015-02-03 13:35:17 +00:00
Kegan Dougal
f2c039bfb9 Implement restricted namespace checks. Begin fleshing out the main hook for notifying application services. 2015-02-03 13:29:27 +00:00
Erik Johnston
fed29251d7 Spelling 2015-02-03 13:23:58 +00:00
Kegan Dougal
a060b47b13 Add namespace constants. Add restrict_to option to limit namespace checks. 2015-02-03 13:17:28 +00:00
Kegan Dougal
3bd2841fdb Everyone loves SQL typos 2015-02-03 11:37:52 +00:00
Kegan Dougal
197f3ea4ba Implement regex checks for app services.
Expose handler.get_services_for_event which manages the checks for all
services.
2015-02-03 11:26:33 +00:00
Erik Johnston
06c34bfbae Give exception better message 2015-02-03 11:23:44 +00:00
Erik Johnston
4ff2273b30 Add FIXME note. 2015-02-03 11:23:26 +00:00
Erik Johnston
0f48e22ef6 PEP8 2015-02-03 10:43:29 +00:00
Erik Johnston
51969f9e5f Return rejected events if asked for it over federation. 2015-02-03 10:40:14 +00:00
Erik Johnston
e7ca813dd4 Try to ensure we don't persist an event we have already persisted. In persist_event check if we already have the event, if so then update instead of replacing so that we don't cause a bump of the stream_ordering. 2015-02-03 10:39:41 +00:00
Mark Haines
09601255f5 Merge pull request #46 from matrix-org/identicons
Add a media/v1/identicon resource for generating identicons
2015-02-02 18:56:34 +00:00
Kegan Dougal
9ff349a3cb Add defers in the right places. 2015-02-02 17:42:49 +00:00
Kegan Dougal
1a2de0c5fe Implement txns for AS (un)registration. 2015-02-02 17:39:41 +00:00
Mark Haines
a2da04b8ab Add pydenticon to python_dependencies 2015-02-02 17:37:26 +00:00
Mark Haines
4574b5a9e6 Generate a list of dependencies from synapse/python_dependencies.py 2015-02-02 17:23:51 +00:00
Erik Johnston
40c6fe1b81 Don't bother requesting PDUs with bad signatures from the same server 2015-02-02 17:06:37 +00:00
Mark Haines
1bb0528316 Add Cache-Control header to identicon 2015-02-02 16:57:26 +00:00
Erik Johnston
941f59101b Don't fail an entire request if one of the returned events fails a signature check. If an event does fail a signature check, look in the local database and request it from the originator. 2015-02-02 16:56:01 +00:00
Mark Haines
f2eda123b7 Fix setting identicon width and height 2015-02-02 16:32:33 +00:00
Mark Haines
038f5afb07 Spell height more correctly 2015-02-02 16:29:18 +00:00
Kegan Dougal
a006d168c5 Actually merge into develop. 2015-02-02 16:05:34 +00:00
Mark Haines
22c1ffb0a0 Add a media/v1/identicon resource for generating identicons using pydenticon 2015-02-02 16:02:31 +00:00
Kegan Dougal
c059c9fea5 Merge branch 'develop' into application-services
Conflicts:
	synapse/handlers/__init__.py
	synapse/storage/__init__.py
2015-02-02 15:57:59 +00:00
Mark Haines
6e856d7729 Merge master into develop
Conflicts:
	README.rst
	setup.py
2015-02-02 14:05:42 +00:00
Mark Haines
d8cf06e525 Bump version to 0.6.1d 2015-02-02 13:18:36 +00:00
Erik Johnston
3b33529dfd Bump version 2015-02-02 13:03:25 +00:00
David Baker
365e007bee Ignore empty strings for display names & room names in notifications 2015-01-31 12:48:06 +00:00
David Baker
0b354fcb84 Again, don't assume all member events have displayname. 2015-01-30 23:10:35 +00:00
David Baker
fe10b882b7 Don't assume all member events have a display nme. 2015-01-30 23:06:39 +00:00
Erik Johnston
4c0da49d7c Resign events when we return them via /query_auth/ 2015-01-30 22:53:13 +00:00
Mark Haines
0b1cc7cc0b Return empty list rather than None when there are no emphemeral events for a room 2015-01-30 16:56:13 +00:00
Erik Johnston
2cd29dbdd9 Fix bug where accepting invite over federation didn't work. Add logging. 2015-01-30 16:51:58 +00:00
Erik Johnston
7d897f5bfc Merge pull request #43 from matrix-org/rejections
Rejections
2015-01-30 16:11:14 +00:00
Erik Johnston
776ac820f9 Briefly doc structure of query_auth API. 2015-01-30 15:58:28 +00:00
Erik Johnston
b724a809c4 Only auth_events with event if event in event.auth_events 2015-01-30 15:57:53 +00:00
Erik Johnston
7a1e881665 Remove debug logging 2015-01-30 15:56:32 +00:00
David Baker
b4b892f4a3 Spit out server default rules too. 2015-01-30 15:54:51 +00:00
Mark Haines
6dc92d3427 Merge pull request #41 from matrix-org/client_v2_sync
Client v2 sync
2015-01-30 15:54:25 +00:00
Mark Haines
017dfaef4c Add doc string for __nonzero__ overrides for sync results, raise not implemented if the client attempts to do a gapless sync 2015-01-30 15:52:05 +00:00
Erik Johnston
1bd540ef79 Merge branch 'develop' of github.com:matrix-org/synapse into rejections
Conflicts:
	synapse/storage/schema/im.sql
2015-01-30 15:16:38 +00:00
Mark Haines
9ec9d6f2cb Merge pull request #42 from matrix-org/replication_split
Replication split
2015-01-30 15:14:10 +00:00
David Baker
4ffac34a64 Add glob asterisks when running rules.
Means that now you can't do exact matches even in override rules,
but I think we can live with that. Advantage is that you'll now
always get back what was put in to the API.
2015-01-30 15:03:56 +00:00
Erik Johnston
91015ad008 Remove merge conflict 2015-01-30 14:58:54 +00:00
Erik Johnston
4f7fe63b6d Remember to add schema file to list 2015-01-30 14:57:53 +00:00
Erik Johnston
fdd2ac495a Merge branch 'develop' of github.com:matrix-org/synapse into rejections_storage
Conflicts:
	synapse/storage/__init__.py
2015-01-30 14:57:33 +00:00
Mark Haines
8bc3066e0b Merge branch 'client_v2_filter' into client_v2_sync 2015-01-30 14:57:04 +00:00
Erik Johnston
471c47441d Merge pull request #37 from matrix-org/client_v2_filter
Client v2 filter
2015-01-30 14:56:08 +00:00
Mark Haines
e97f756a05 Use 'in' to test if the key exists, remove unused _filters_for_user 2015-01-30 14:54:06 +00:00
Erik Johnston
2f4cb04f45 Be more specific in naming columns in selects. 2015-01-30 14:48:11 +00:00
Erik Johnston
472cf532b7 Put CREATE rejections into seperate .sql 2015-01-30 14:48:03 +00:00
David Baker
322a047502 Add room member count condition and default rule to make a noise on rooms of only 2 people. 2015-01-30 14:46:45 +00:00
Erik Johnston
3d7026e709 Add a slightly more helpful comment 2015-01-30 14:37:31 +00:00
Erik Johnston
c515d37797 Merge branch 'replication_split' of github.com:matrix-org/synapse into rejections
Conflicts:
	synapse/storage/schema/delta/v12.sql
2015-01-30 14:19:49 +00:00
Erik Johnston
84b78c3b5f Merge branch 'rejections_storage' of github.com:matrix-org/synapse into replication_split 2015-01-30 14:17:47 +00:00
Erik Johnston
2aaedab203 Merge branch 'develop' of github.com:matrix-org/synapse into new_state_resolution 2015-01-30 14:09:32 +00:00
Erik Johnston
e0b7c521cb Merge branch 'develop' of github.com:matrix-org/synapse into rejections_storage
Conflicts:
	synapse/storage/__init__.py
	synapse/storage/schema/delta/v12.sql
2015-01-30 14:08:28 +00:00
Erik Johnston
875a481a1e Merge branch 'new_state_resolution' of github.com:matrix-org/synapse into rejections_storage 2015-01-30 14:04:53 +00:00
Erik Johnston
7a9f6f083e Remove commented line 2015-01-30 13:55:46 +00:00
Erik Johnston
76d7fd39cd Style changes. 2015-01-30 13:52:02 +00:00
Mark Haines
8fe39a0311 Check if the user has joined the room between incremental syncs 2015-01-30 13:38:34 +00:00
Erik Johnston
a70a801184 Fix bug where we superfluously asked for current state. Change API of /query_auth/ so that we don't duplicate events in the response. 2015-01-30 13:34:01 +00:00
Mark Haines
4a67834bc8 Pass client info to the sync_config 2015-01-30 11:50:15 +00:00
Mark Haines
c562f237f6 Unused import 2015-01-30 11:43:00 +00:00
Mark Haines
8498d348d8 Fix token formatting 2015-01-30 11:42:09 +00:00
Mark Haines
e97de6d96a Filter the recent events before applying the limit when doing an initial sync 2015-01-30 11:35:20 +00:00
Mark Haines
22dd1cde2d Filter the recent events before applying the limit when doing an incremental sync with a gap 2015-01-30 11:32:35 +00:00
Erik Johnston
2c9e136d57 Fix bad merge fo python_dependencies.py 2015-01-30 11:14:33 +00:00
David Baker
bd03947c05 We do need Twisted 14, not 15: we use internal Twisted things that have been removed in 15. 2015-01-30 11:13:42 +00:00
Erik Johnston
2ebf795c0a Merge branch 'develop' of github.com:matrix-org/synapse into rejections
Conflicts:
	synapse/storage/__init__.py
	synapse/storage/schema/delta/v12.sql
2015-01-30 11:10:37 +00:00
Erik Johnston
0c2d245fdf Update the current state of an event if we update auth events. 2015-01-30 11:08:52 +00:00
Erik Johnston
823999716e Fix bug in timeout handling in keyclient 2015-01-30 11:08:01 +00:00
Erik Johnston
c1d860870b Fix regression where we no longer correctly handled the case of gaps in our event graph 2015-01-30 10:48:47 +00:00
Erik Johnston
c1c7b39827 Fix bug where we changes in outlier in metadata dict propogated to other events 2015-01-30 10:30:54 +00:00
David Baker
fc946f3b8d Include content in notification pokes 2015-01-29 21:59:17 +00:00
David Baker
0b16886397 Change 'from' in notification pokes to 'sender' to match client API v2. Send sender display names where they exist. 2015-01-29 18:51:22 +00:00
David Baker
1235f7f383 Add default push rules including setting a sound for messages mentioning your username / display name 2015-01-29 18:38:22 +00:00
Mark Haines
ece828a7b7 Update todo for the filtering on sync 2015-01-29 18:15:24 +00:00
Mark Haines
365a186729 Add basic filtering support 2015-01-29 18:11:28 +00:00
Mark Haines
7ceda8bf3d Merge branch 'client_v2_filter' into client_v2_sync 2015-01-29 18:04:07 +00:00
Mark Haines
93ed31dda2 Create a separate filter object to do the actual filtering, so that we can
split the storage and management of filters from the actual filter code
and don't have to load a filter from the db each time we filter an event
2015-01-29 17:45:07 +00:00
David Baker
4bdfce30d7 Renumber priority classes so we can use 0 for defaults. 2015-01-29 17:12:11 +00:00
David Baker
e0d2c6889b Allow kind to be set to null to delete a pusher. 2015-01-29 17:05:00 +00:00
Erik Johnston
78015948a7 Initial implementation of auth conflict resolution 2015-01-29 16:52:33 +00:00
Mark Haines
4ad45f2582 Fix indent 2015-01-29 16:41:49 +00:00
Mark Haines
722b65f461 Move typing notifs to an "emphermal" event list on the room object 2015-01-29 16:41:21 +00:00
Mark Haines
cc42d3f907 Fix check for empty room update 2015-01-29 16:27:38 +00:00
Mark Haines
4d9dd9bdc0 Fix v2 initial sync 2015-01-29 16:23:03 +00:00
Mark Haines
8e571cbed8 Merge branch 'client_v2_filter' into client_v2_sync 2015-01-29 16:18:59 +00:00
Mark Haines
295322048d Merge branch 'develop' into client_v2_filter 2015-01-29 16:18:34 +00:00
Mark Haines
acb68a39e0 Code style fixes. 2015-01-29 16:12:40 +00:00
David Baker
8b1dd9f57f Only send a badge-reset if the user actually has unread notifications. 2015-01-29 16:10:01 +00:00
Mark Haines
9150a0d62e Fix code-style 2015-01-29 16:01:14 +00:00
Mark Haines
cf7c54ec93 Merge branch 'client_v2_filter' into client_v2_sync 2015-01-29 15:55:58 +00:00
Mark Haines
33391db5f8 Merge in auth changes from develop 2015-01-29 15:54:54 +00:00
Mark Haines
396a67a09a Merge branch 'client_v2_filter' into client_v2_sync
Conflicts:
	synapse/rest/client/v2_alpha/__init__.py
2015-01-29 14:58:00 +00:00
Mark Haines
9d8f798a3f Merge changes from develop 2015-01-29 14:55:27 +00:00
Mark Haines
e4f50fa0aa Move bump schema delta 2015-01-29 14:53:18 +00:00
Mark Haines
e016f4043b Use get_room_events_stream to get changes to the rooms if the number of changes is small 2015-01-29 14:40:28 +00:00
Erik Johnston
5a3a15f5c1 Make post_json(...) actually send data. 2015-01-29 13:58:22 +00:00
Erik Johnston
c183cec8f6 Add post_json(...) method to federation client 2015-01-29 13:44:52 +00:00
Kegan Dougal
83172487b0 Add basic filtering public API unit tests. Use defers in the right places. 2015-01-29 12:20:59 +00:00
Kegan Dougal
777d9914b5 Implement filter algorithm. Add basic event type unit tests to assert it works. 2015-01-29 11:38:06 +00:00
Kegan Dougal
50de1eaad9 Add filtering public API; outline filtering algorithm. 2015-01-29 10:24:57 +00:00
Kegan Dougal
2a4fda7b88 Add filtering.filter_events function, with stub passes_filter function. 2015-01-29 09:27:16 +00:00
Kegan Dougal
3773759c0f Also edit the filter column on the delta SQL 2015-01-29 09:15:33 +00:00
Mark Haines
e3e72b8c5c Remove typing TODO 2015-01-29 03:35:25 +00:00
Mark Haines
3dbce6f4a5 Add typing notifications to sync 2015-01-29 03:33:51 +00:00
Mark Haines
b9c442c85c Include transaction ids in unsigned section of events in the sync results for the clients that made those requests 2015-01-29 02:46:00 +00:00
Mark Haines
1b4a164c02 Add support for formatting events in the way a v2 client expects 2015-01-29 02:34:35 +00:00
Mark Haines
b0b80074e0 SYN-252: Supply the stream and topological parts in the correct order to the constructor 2015-01-29 01:48:48 +00:00
David Baker
d5bdf3c0c7 Allow the push rule delete method to take more specifiers. 2015-01-28 18:06:04 +00:00
David Baker
8552ed8df2 Change uses of get_user_by_req because it returns a tuple now. 2015-01-28 18:04:40 +00:00
Kegan Dougal
11634017f4 s/definition/filter_json/ since definition is now used to mean a component of the filter, rather than the complete json 2015-01-28 17:42:19 +00:00
Mark Haines
c81a19552f Add ports back to demo/start.sh 2015-01-28 17:32:49 +00:00
Mark Haines
9c61556504 Merge branch 'develop' into client_v2_sync 2015-01-28 17:29:30 +00:00
Mark Haines
26c8fff19e Merge pull request #36 from matrix-org/device_id_from_access_token
Extract the device id and token id from the access token when autheniticating users
2015-01-28 17:19:28 +00:00
Mark Haines
3cca61e006 Rename ClientID to ClientInfo since it is a pair of IDs rather than a single identifier 2015-01-28 17:16:12 +00:00
Mark Haines
c18e551640 Add a : to the doc string after the type of the return value 2015-01-28 17:08:53 +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
Kegan Dougal
c23e3db544 Add filter JSON sanity checks. 2015-01-28 16:45:18 +00:00
Erik Johnston
0ef5bfd6a9 Start implementing auth conflict res 2015-01-28 16:16:53 +00:00
David Baker
6840e7cece Merge branch 'master' into develop 2015-01-28 16:03:35 +00:00
David Baker
60b143a52e Move pushers delta to v12 and bump schema version 2015-01-28 15:48:28 +00:00
Mark Haines
c59bcabf0b Return the device_id from get_auth_by_req 2015-01-28 15:43:41 +00:00
David Baker
e78dd33292 Use %s instead of + 2015-01-28 14:52:58 +00:00
David Baker
93aac9bb7b Newline 2015-01-28 14:51:01 +00:00
David Baker
445ad9941e Redundant parens 2015-01-28 14:49:59 +00:00
David Baker
6d485dd1c7 unnecessary newlines 2015-01-28 14:48:42 +00:00
David Baker
fb0928097a More magic commas (including the place I copied it from...) 2015-01-28 14:48:07 +00:00
David Baker
0cbb6b0f52 Google doc style 2015-01-28 14:44:41 +00:00
David Baker
2cfdfee572 spaces 2015-01-28 14:41:51 +00:00
David Baker
289a249874 Unnecessary newlines. 2015-01-28 14:39:03 +00:00
David Baker
3cb5b73c0d Unnecessary newline. 2015-01-28 14:37:55 +00:00
David Baker
8807f4170e Better style 2015-01-28 14:35:00 +00:00
David Baker
032f8d4ed3 Another superfluous newline 2015-01-28 14:33:15 +00:00
David Baker
d93ce29a86 Ah, the comma of doom. 2015-01-28 14:27:01 +00:00
David Baker
6741c3dbd9 Brackets are nicer 2015-01-28 14:26:03 +00:00
David Baker
4fbf2328c2 Unnecessary new line 2015-01-28 14:24:28 +00:00
David Baker
30fbba168b Easy on the newlines 2015-01-28 14:23:16 +00:00
David Baker
dd3abbd61f 2015 2015-01-28 14:22:39 +00:00
David Baker
6fde707add doc style fix 2015-01-28 14:14:49 +00:00
David Baker
5f2665320f It is 2015 2015-01-28 14:11:45 +00:00
David Baker
20c47383dc Oops, bad merge: needed to change the base class of the rest servlets too. 2015-01-28 14:10:46 +00:00
David Baker
03149ad23a More code style things 2015-01-28 14:01:24 +00:00
David Baker
e1ca0f1396 Brackets rather than slashes at end 2015-01-28 13:58:32 +00:00
David Baker
6df6f5e084 Redundant bracketing & missed space 2015-01-28 13:56:35 +00:00
David Baker
ca7240a2f0 Update copyright 2015-01-28 13:17:55 +00:00
David Baker
fb532d8425 Unused import 2015-01-28 13:06:09 +00:00
David Baker
c291a4d522 Merge branch 'develop' into pushers
Conflicts:
	synapse/handlers/events.py
	synapse/server.py
2015-01-28 12:51:05 +00:00
Kegan Dougal
42876969b9 Add basic application_services SQL, and hook up parts of the appservice store to read from it. 2015-01-28 11:59:38 +00:00
David Baker
273b12729b Reset badge count to zero when last active time is bumped 2015-01-28 11:55:49 +00:00
David Baker
e32ded7b3e Add matrix.org as a trusted ID server because it's now passed through on ports 80/443 and the web client defaults to that now. Fixes email validation (including signing up with an email address). 2015-01-28 10:09:54 +00:00
Kegan Dougal
b46fa8603e Remove unused import 2015-01-28 09:17:48 +00:00
Mark Haines
e020574d65 Fix Formatting 2015-01-27 20:19:36 +00:00
Mark Haines
b19cf6a105 Wait for events if the incremental sync is empty and a timeout is given 2015-01-27 20:09:52 +00:00
Paul "LeoNerd" Evans
8398f19bce Created schema delta 2015-01-27 19:00:09 +00:00
Paul "LeoNerd" Evans
06cc147012 Initial stab at real SQL storage implementation of user filter definitions 2015-01-27 18:46:03 +00:00
Paul "LeoNerd" Evans
54e513b4e6 Move storage of user filters into real datastore layer; now have to mock it out in the REST-level tests 2015-01-27 17:48:13 +00:00
Kegan Dougal
fbeaeb8689 Log when ASes are registered/unregistered. 2015-01-27 17:34:40 +00:00
Kegan Dougal
ec3719b583 Use ApplicationService when registering. 2015-01-27 17:15:06 +00:00
Kegan Dougal
92171f9dd1 Add stub methods, TODOs and docstrings for application services. 2015-01-27 16:53:59 +00:00
Mark Haines
a56008842b Start implementing incremental initial sync 2015-01-27 16:24:22 +00:00
Kegan Dougal
7331d34839 Add AS specific classes with docstrings. 2015-01-27 16:23:46 +00:00
Paul "LeoNerd" Evans
059651efa1 Have the Filtering API return Deferreds, so we can do the Datastore implementation nicely 2015-01-27 16:17:56 +00:00
David Baker
f7c4daa8f9 Oops, remove debugging 2015-01-27 16:08:47 +00:00
David Baker
5eacaeb4a7 or of course we could just return the deferred 2015-01-27 16:05:23 +00:00
David Baker
eba89f093f Need a defer.inlineCallbacks here as we yield in it: otherwise nothing in the cb gets executed. 2015-01-27 16:00:07 +00:00
David Baker
1d77969124 Unbreak bad presence merge - don't add these blocks together with an and: they're different things. 2015-01-27 15:58:27 +00:00
Kegan Dougal
51449e0665 Add appservice handler and store. Glue together rest > handler > store. 2015-01-27 15:50:28 +00:00
Kegan Dougal
6efdc11cc8 Parse /register and /unregister request JSON. 2015-01-27 15:03:19 +00:00
Paul "LeoNerd" Evans
05c7cba73a Initial trivial implementation of an actual 'Filtering' object; move storage of user filters into there 2015-01-27 14:28:56 +00:00
Kegan Dougal
fa8e6ff900 Add stub application services REST API. 2015-01-27 14:01:51 +00:00
Paul "LeoNerd" Evans
0484d7f6e9 Merge branch 'develop' into client_v2_filter 2015-01-27 13:11:03 +00:00
Mark Haines
436513068d Start implementing the non-incremental sync portion of the v2 /sync API 2015-01-26 18:53:31 +00:00
David Baker
b481889117 Support membership events and more camelcase/underscores 2015-01-26 17:27:28 +00:00
David Baker
69a75b7ebe Add brackets to make get room name / alias work 2015-01-26 16:52:47 +00:00
Mark Haines
3186c5bdbc Merge branch 'develop' into client_v2_sync 2015-01-26 16:32:40 +00:00
Mark Haines
e5725eb3b9 Remove unused import from server.py 2015-01-26 16:16:50 +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
0cfb4591a7 Add handler for /sync API 2015-01-26 15:46:31 +00:00
David Baker
efac71d6ca Pushers should only try & look for rejected devices in something that's a list or tuple. 2015-01-26 14:37:14 +00:00
Paul "LeoNerd" Evans
8d7accb28f Initial minimal attempt at /user/:user_id/filter API - in-memory storage, no actual filter implementation 2015-01-26 14:33:30 +00:00
Erik Johnston
c92d64a6c3 Make it the responsibility of the replication layer to check signature and hashes. 2015-01-26 14:33:11 +00:00
Mark Haines
14ff33bd93 Merge branch 'develop' into client_v2_sync
Conflicts:
	synapse/rest/client/v2_alpha/__init__.py
2015-01-26 13:14:59 +00:00
Erik Johnston
7b88619241 Split up replication_layer module into client, server and transaction queue 2015-01-26 10:45:24 +00:00
Mark Haines
7b814d3f7f Add client v2_alpha resource to synapse server resource tree 2015-01-23 18:55:19 +00:00
Mark Haines
2b1799883d Add client v2_alpha resource to synapse server resource tree 2015-01-23 18:49:05 +00:00
Mark Haines
e26340cee7 Start implementing the v2_alpha sync API 2015-01-23 18:48:17 +00:00
Paul "LeoNerd" Evans
85419e1257 Stop complaining about Synapse Angular SDK 0.6.1 2015-01-23 18:37:37 +00:00
David Baker
5f84ba8ea1 Add API to delete push rules. 2015-01-23 17:49:37 +00:00
David Baker
f21f9fa3c5 Use push settings! 2015-01-23 17:07:06 +00:00
Erik Johnston
9b1e552b51 Merge branch 'develop' of github.com:matrix-org/synapse into rejections 2015-01-23 15:51:48 +00:00
Erik Johnston
3b9cc882a5 Add storage method have_events 2015-01-23 15:42:52 +00:00
Mark Haines
e0bf18addf Add RestServlet base class in synapse/http/servlet.py 2015-01-23 14:16:28 +00:00
Mark Haines
4be637cb12 Extract the client v1 base RestServlet to a separate class 2015-01-23 14:09:51 +00:00
David Baker
fc7a05c443 more pep8 suggestions 2015-01-23 13:36:01 +00:00
David Baker
b3f66ea6fb more pep8 2015-01-23 13:28:00 +00:00
David Baker
d3e72b4d87 Make string format tuple an actual tuple 2015-01-23 13:25:58 +00:00
David Baker
98e1080555 redundant parens 2015-01-23 13:25:36 +00:00
David Baker
54c689c819 stray space 2015-01-23 13:25:14 +00:00
Mark Haines
c4652d7772 Remove hs.parse_eventid 2015-01-23 13:25:07 +00:00
David Baker
6188c4f69c make per-device rules work 2015-01-23 13:23:10 +00:00
Mark Haines
ada711504e Replace hs.parse_roomalias with RoomAlias.from_string 2015-01-23 13:21:58 +00:00
Mark Haines
1c06c48ce2 Replace hs.parse_roomid with RoomID.from_string 2015-01-23 11:55:12 +00:00
Mark Haines
5759bec43c Replace hs.parse_userid with UserID.from_string 2015-01-23 11:47:15 +00:00
David Baker
49fe31792b Add slightly pedantic trailing slash error. 2015-01-23 11:19:02 +00:00
Mark Haines
7256def8e4 Merge rest servlets into the client json resource object 2015-01-23 10:37:38 +00:00
David Baker
f87586e661 right super() param 2015-01-23 10:32:40 +00:00
David Baker
bcd48b9636 Fix adding rules without before/after & add the rule that we couldn't find to the error 2015-01-23 10:28:25 +00:00
David Baker
6927b6b197 This really serves me right for ever making a map called 'map'. 2015-01-23 10:21:47 +00:00
David Baker
8a850573c9 As yet fairly untested GET API for push rules 2015-01-22 19:32:17 +00:00
David Baker
673773b217 oops, this is not its own schema file 2015-01-22 18:27:07 +00:00
David Baker
7ecb49ef25 Insufficient newlines 2015-01-22 17:53:30 +00:00
David Baker
5c6189ea3e Merge branch 'develop' into pushers
Conflicts:
	synapse/rest/__init__.py
2015-01-22 17:46:16 +00:00
David Baker
ede491b4e0 Oops: second part of commit dc938606 2015-01-22 17:38:53 +00:00
David Baker
dc93860619 Add rest API & store for creating push rules
Also make unrecognised request error look more like synapse errors
because it makes it easier to throw them from within rest classes.
2015-01-22 17:37:12 +00:00
Erik Johnston
ca65a9d03e Split out TransactionQueue from replication layer 2015-01-22 16:37:08 +00:00
Mark Haines
97c68c508d Move rest APIs back under the rest directory 2015-01-22 16:10:07 +00:00
Erik Johnston
c2f9768740 Merge branch 'new_state_resolution' of github.com:matrix-org/synapse into rejections 2015-01-22 15:57:26 +00:00
Erik Johnston
73dd81ca62 fix pyflakes 2015-01-22 15:57:08 +00:00
Erik Johnston
b1b85753d7 Add support for storing rejected events in EventContext and data stores 2015-01-22 15:50:17 +00:00
Mark Haines
1d2016b4a8 Move client v1 api rest servlets into a "client/v1" directory 2015-01-22 14:59:08 +00:00
Erik Johnston
7f058c5ff7 Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf
Conflicts:
	synapse/app/homeserver.py
2015-01-22 13:35:34 +00:00
Erik Johnston
b390bf39f2 Remove unused function. Add comment. 2015-01-21 16:44:04 +00:00
Erik Johnston
6dcade97be Implement new state resolution algorithm 2015-01-21 16:27:04 +00:00
David Baker
5d5932d493 use underscores everywhere, not camelcase. 2015-01-20 11:52:08 +00:00
David Baker
afb714f7be add instance_handles to pushers so we have a way to refer to them even if the push token changes. 2015-01-20 11:49:48 +00:00
Mark Haines
dc70d1fef8 Only start the notifier timeout once we've had a chance to check for updates. Otherwise the timeout could fire while we are waiting for the database to return any updates it might have 2015-01-19 16:24:54 +00:00
Mark Haines
42529cbced Fix pyflakes errors 2015-01-19 15:33:04 +00:00
Mark Haines
00e9c08609 Fix syntax 2015-01-19 15:30:48 +00:00
Mark Haines
3e85e52b3f Allow ':memory:' as the database path for sqlite3 2015-01-19 15:26:19 +00:00
Mark Haines
5fed042640 Finish renaming "context" to "room_id" in federation codebase 2015-01-16 19:01:03 +00:00
Mark Haines
2408c4b0a4 Fold _do_request_for_transaction into the methods that called it since it was a trivial wrapper around client.get_json 2015-01-16 19:01:03 +00:00
Mark Haines
602684eac5 Split transport layer into client and server parts 2015-01-16 19:01:03 +00:00
Mark Haines
2bdee98269 Remove temporary debug logging that was accidentally committed 2015-01-16 19:00:40 +00:00
David Baker
2d2953cf5f Require device language when adding a pusher.
Because this seems like it might be useful to do sooner rather
than later.
2015-01-16 11:24:10 +00:00
David Baker
2ca2dbc821 Send room name and first alias in notification poke. 2015-01-15 16:56:18 +00:00
David Baker
e3e2fc3255 Don't make the pushers' event streams cause people to appear online 2015-01-15 16:17:21 +00:00
David Baker
2cb30767fa Honour the 'rejected' return from push gateways
Add a timestamp to push tokens so we know the last time they we
got them from the device. Send it to the push gateways so it can
determine whether its failure is more recent than the token.
Stop and remove pushers that have been rejected.
2015-01-13 19:48:37 +00:00
Paul "LeoNerd" Evans
34a5fbe2b7 Have /join/:room_id return the room ID in response anyway, for consistency of clients (SYN-234) 2015-01-13 17:29:24 +00:00
Paul "LeoNerd" Evans
c2e7c84e58 Don't try to cancel already-expired timers - SYN-230 2015-01-13 16:58:36 +00:00
Mark Haines
3891597eb3 Remove unused functions 2015-01-13 15:57:26 +00:00
Mark Haines
fda63064fc get_room_events isn't called anywhere 2015-01-13 14:43:26 +00:00
Mark Haines
895fcb377e Fix stream token ordering 2015-01-13 14:38:53 +00:00
David Baker
c06a9063e1 Merge branch 'develop' into pushers 2015-01-13 13:15:51 +00:00
David Baker
70d0a453f3 Split out function to decide whether to notify or a given event 2015-01-13 13:14:41 +00:00
Erik Johnston
38e3241eb7 Merge branch 'hotfixes-v0.6.1b' of github.com:matrix-org/synapse into develop 2015-01-13 10:01:22 +00:00
Erik Johnston
1d3d37937d Bump version 2015-01-13 09:59:47 +00:00
Erik Johnston
39585bf556 Insert 'age' into top level when returning events to clients 2015-01-13 09:57:32 +00:00
Paul "LeoNerd" Evans
02ffbb20d0 Use float rather than integer divisions to turn msec into sec - so timeouts under 1000msec will actually work 2015-01-12 19:09:14 +00:00
Paul "LeoNerd" Evans
67d8305aea Make typing notification timeouts print a (debug) logging message 2015-01-12 18:22:00 +00:00
Kegan Dougal
c43d898119 SYN-178: Fix off by one. 2015-01-12 17:38:40 +00:00
Mark Haines
63403aa7a5 Check the existance and versions of necessary modules when starting synapse, log which modules are used 2015-01-08 17:08:57 +00:00
Kegan Dougal
9d0dcf2e3c SYN-142: Rotate logs if logging to file. Fixed to a 4 file rotate with 100MB/file for now. 2015-01-08 15:31:29 +00:00
Matthew Hodgson
7f83613733 make our JPEG thumbnail quality less horrifically ugly 2015-01-08 15:11:22 +00:00
Kegan Dougal
b5924cae04 Add raw query param for scrollback. 2015-01-08 14:37:55 +00:00
Erik Johnston
379a653ae3 Add better help message for --server-name config option. 2015-01-08 14:32:53 +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
Mark Haines
8ac9199f56 Merge branch 'master' into develop 2015-01-08 09:43:48 +00:00
Mark Haines
5a0e687d5c Bump version 2015-01-08 09:42:23 +00:00
Mark Haines
c9d2cecac9 SYN-231: User agent header broken 2015-01-08 09:41:11 +00:00
Erik Johnston
42507b0011 Log server version on startup 2015-01-07 17:25:28 +00:00
Kegan Dougal
76e1565200 Change error message for missing pillow libs. 2015-01-07 17:11:19 +00:00
Kegan Dougal
333836ff92 PEP8 and pyflakes warnings 2015-01-07 16:18:12 +00:00
Kegan Dougal
4c68460392 SYN-154: Tweak how the m.room.create check is done.
Don't perform the check in auth.is_host_in_room but instead do it in _do_join
and also assert that there are no m.room.members in the room before doing so.
2015-01-07 16:09:00 +00:00
Kegan Dougal
9cb4f75d53 SYN-154: Better error messages when joining an unknown room by ID.
The simple fix doesn't work here because room creation also involves
unknown room IDs. The check relies on the presence of m.room.create for
rooms being created, whereas bogus room IDs have no state events at all.
2015-01-07 15:21:48 +00:00
Matthew Hodgson
9b8e348b15 *cough* 2015-01-07 15:08:32 +00:00
Erik Johnston
89fc09c3d1 Bump version and changelog 2015-01-07 13:56:56 +00:00
Erik Johnston
82be4457de Add twisted Service interface 2015-01-07 13:46:37 +00:00
Erik Johnston
a039e2544c Remove unused import 2015-01-07 09:48:03 +00:00
Erik Johnston
1497e50649 Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf 2015-01-07 09:40:42 +00:00
Mark Haines
5cf45c4319 Merge branch 'master' into develop 2015-01-06 19:48:53 +00:00
Erik Johnston
dfa05f0cd6 Optimize FrozenEvent creation 2015-01-06 18:51:03 +00:00
Erik Johnston
36a2a877e2 Use time.time() instead of time.clock() 2015-01-06 16:34:41 +00:00
Erik Johnston
d5ae67e67d Fix typo where we used wrong var. 2015-01-06 16:05:01 +00:00
Erik Johnston
fd9a8db7ea Only fetch the columns we need. 2015-01-06 15:59:31 +00:00
Erik Johnston
9e5545a6fa RoomsForUser now has sender instead of user_id 2015-01-06 15:53:50 +00:00
Erik Johnston
a01416cf21 Add delta and bump DB version 2015-01-06 15:42:18 +00:00
Erik Johnston
f6da237c35 Add index on transaction_id to sent_transcations 2015-01-06 15:40:38 +00:00
Erik Johnston
9bd07bed23 Actually time that function 2015-01-06 15:28:56 +00:00
Erik Johnston
03a501456c Time how long calls to _get_destination_retry_timings take 2015-01-06 15:22:28 +00:00
Erik Johnston
52b2c6c9c7 Don't include None's in _get_events_txn 2015-01-06 14:56:57 +00:00
Erik Johnston
8a12df8cf3 Merge branch 'erikj-perf' of github.com:matrix-org/synapse into develop 2015-01-06 14:45:57 +00:00
Erik Johnston
96707ed718 Name 'user_rooms_intersect' transaction 2015-01-06 14:44:27 +00:00
Erik Johnston
76ec154e95 We don't need the full events for get_rooms_for_user_where_membership_is 2015-01-06 14:37:00 +00:00
Mark Haines
bc2ec808f4 SYN-32 Use the ANTIALIAS resize method for thumbnailing images 2015-01-06 14:14:17 +00:00
Matrix
0529a7e2e9 Add some logging for when we are sending transactions. 2015-01-06 14:06:25 +00:00
Mark Haines
b9f77d1ae1 Increase default maximum attachment size to 10M 2015-01-06 14:04:58 +00:00
Mark Haines
5e23a19204 Merge pull request #28 from matrix-org/erikj-perf
Database performance improvements.
2015-01-06 13:33:40 +00:00
Mark Haines
adb04b1e57 Update copyright notices 2015-01-06 13:21:39 +00:00
Erik Johnston
af1c7c7808 PEP8 2015-01-06 13:13:17 +00:00
Erik Johnston
12819d5082 Remove debug lines 2015-01-06 13:12:30 +00:00
Erik Johnston
52d8519008 Don't do batching when getting events. 2015-01-06 13:10:27 +00:00
Mark Haines
773de09774 Set a content-length for JSON responses 2015-01-06 13:05:19 +00:00
Erik Johnston
98933e3db6 Only fetch prev_content when a client is streaming/paginating. Use transactions for event streams. 2015-01-06 13:03:23 +00:00
Kegan Dougal
78edb47cc5 SYN-208/SYN-228: Add runtime checks on startup to enforce that JPEG/PNG support is included when installing pillow. 2015-01-06 11:43:04 +00:00
Mark Haines
3c8c3bf3b7 SYN-229: Include Content-Length when downloading files 2015-01-06 11:32:36 +00:00
Erik Johnston
3e26720e05 Temporarily turn off 'redacted_because' and 'prev_content' keys 2015-01-06 11:26:58 +00:00
Erik Johnston
f4ea78e9e2 More debug logging 2015-01-06 11:24:18 +00:00
Erik Johnston
753126b8cc Add some debug logging 2015-01-06 11:18:12 +00:00
Erik Johnston
d7e8ea67b3 Reformat 2015-01-06 11:18:02 +00:00
Erik Johnston
f0128f9600 Add RoomMemberStore.get_users_in_room, so that we can get the list of joined users without having to retrieve the full events 2015-01-06 10:55:43 +00:00
Erik Johnston
96a5ba41f5 Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf 2015-01-06 10:53:04 +00:00
Mark Haines
90d60e3fe4 Merge branch 'hotfixes-v0.6.0a' 2014-12-29 14:01:07 +00:00
Mark Haines
af61c29527 Return the argument passed to the callback in a deferred callback, otherwise twisted will replace the deferred result with 'None' 2014-12-29 13:54:05 +00:00
Matthew Hodgson
407c299828 improve error msg 2014-12-24 17:50:42 +00:00
Mark Haines
24b5d01853 Include version in User-Agent and Server headers 2014-12-22 10:16:02 +00:00
Erik Johnston
74ee4048c2 Merge branch 'master' of github.com:matrix-org/synapse into erikj-perf 2014-12-21 11:47:45 +00:00
Kegan Dougal
67a406a754 Rate limit display names and avatar urls per request rather than per event. 2014-12-19 17:36:33 +00:00
Erik Johnston
d61109f578 Merge branch 'hotfixes-v0.6.0' of github.com:matrix-org/synapse into erikj-perf 2014-12-19 16:37:08 +00:00
Mark Haines
efd27ff01b Set a state_key for the topic and room name, otherwise they won't be treated as room state 2014-12-19 15:31:27 +00:00
Mark Haines
9c71d945d6 Look for name, topic in the event content rather than the event itself when persisting room name and topic events 2014-12-19 15:16:48 +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
1e7f83b91d Set display name when joining via alias 2014-12-19 12:31:46 +00:00
Mark Haines
5dbe820e9a Remove unneeded federation keys from events 2014-12-19 12:16:26 +00:00
Mark Haines
390e48a8b0 SYN-203: Handle requests for thunbnails for images that are small 2014-12-19 12:05:38 +00:00
Mark Haines
5739e6c606 s/user_id/sender/ 2014-12-19 11:43:46 +00:00
Erik Johnston
41ce544abe Merge branch 'release-v0.6.0' of github.com:matrix-org/synapse into erikj-perf 2014-12-18 18:57:21 +00:00
Mark Haines
041ac476a5 Supply auth_chain along with current state in '/state/', fetch auth events from a remote server if we are missing some of them 2014-12-18 18:47:13 +00:00
David Baker
fead431c18 If we didn't get any events, advance the token or we'll just keep not getting the same events again. 2014-12-18 18:44:33 +00:00
Mark Haines
dbe77ec79a Replace distributor deferred list, with a simple for loop until I understand why the former breaks and the latter doesn't 2014-12-18 17:47:00 +00:00
David Baker
b56730bb6e Merge branch 'develop' into pushers
Conflicts:
	synapse/api/errors.py
	synapse/server.py
	synapse/storage/__init__.py
2014-12-18 15:15:22 +00:00
David Baker
afa953a293 schema version is now 10 2014-12-18 15:11:06 +00:00
David Baker
0a6664493a Merge branch 'master' into pushers 2014-12-18 15:06:11 +00:00
David Baker
4c7ad50f6e Thank you, pyflakes 2014-12-18 14:55:04 +00:00
David Baker
173264b656 ...and bump SCHEMA_VERSION 2014-12-18 14:53:10 +00:00
David Baker
fc7c5e9cd7 Rename the pusher SQL delta to v9 which the next free one 2014-12-18 14:51:29 +00:00
David Baker
9728c305a3 after a few rethinks, a working implementation of pushers. 2014-12-18 14:49:22 +00:00
Mark Haines
dea5d4b03b Don't yield on sending the event accross federation. 2014-12-18 11:29:46 +00:00
Erik Johnston
f3788e3c78 Test some ideas that might help performance a bit 2014-12-17 23:37:08 +00:00
Erik Johnston
dec5b62339 Use _get_events_txn instead of _parse_events_txn 2014-12-16 19:16:41 +00:00
Erik Johnston
21cab3a7ec Fix where we pulled in event.state_events from hotfixes branch 2014-12-16 19:16:15 +00:00
Erik Johnston
2215faa361 Merge branch 'hotfixes-v0.5.4a' of github.com:matrix-org/synapse into release-v0.6.0 2014-12-16 19:11:13 +00:00
Erik Johnston
3defd5b3ee Add FIXME 2014-12-16 19:07:20 +00:00
Erik Johnston
96779d2490 Fix bug where we did not send the full auth chain to people that joined over federation 2014-12-16 18:57:36 +00:00
Erik Johnston
2d7716d4d0 Make error messages slightly more helpful 2014-12-16 18:41:48 +00:00
Erik Johnston
f76269392b Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.6.0
Conflicts:
	synapse/state.py
2014-12-16 18:35:46 +00:00
Erik Johnston
52f99243ab Use is_outlier() so that we don't get AttributeError 2014-12-16 18:33:50 +00:00
Erik Johnston
5b39cfff69 Don't assume an event exists 2014-12-16 18:25:24 +00:00
Mark Haines
56db465047 Merge branch 'release-v0.6.0' into develop 2014-12-16 17:29:49 +00:00
Kegan Dougal
4dcad143dd SYN-142: Use a default log file 'homeserver.log' so people get logging by default. 2014-12-16 17:24: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
23da4a4051 Fix typo where we thought a list was a dict 2014-12-16 15:59:40 +00:00
Mark Haines
c3eae8a88c Construct the EventContext in the state handler rather than constructing one and then immediately calling state_handler.annotate_context_with_state 2014-12-16 15:59:17 +00:00
Mark Haines
3c7857e49b clean up coding style a bit 2014-12-16 15:24:03 +00:00
Erik Johnston
42b725ce52 Fix upgrade script to run all the missing deltas. 2014-12-16 15:13:34 +00:00