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