Erik Johnston
cb8162d3d1
Rearrange storage modules
2015-03-20 13:52:56 +00:00
Erik Johnston
d288d273e1
Generate transaction id in code
2015-03-20 10:57:44 +00:00
Erik Johnston
d4f50f3ae5
decode_result takes an iterable
2015-03-20 10:57:26 +00:00
Erik Johnston
455579ca90
Make database selection configurable
2015-03-20 10:55:55 +00:00
Erik Johnston
0d0610870d
Fix up schemas some more
2015-03-20 10:55:31 +00:00
Erik Johnston
56f2d31676
Bump version
2015-03-19 17:48:33 +00:00
Erik Johnston
c178e4e6ca
Add missing servlet to list
2015-03-19 17:48:21 +00:00
Erik Johnston
d7a0496f3e
Convert storage layer to be mysql compatible
2015-03-19 15:59:48 +00:00
Erik Johnston
58ed393235
Remove redundant key
2015-03-19 15:12:05 +00:00
Erik Johnston
fae059cc18
Fix up schemas to work with mariadb
2015-03-19 13:42:39 +00:00
Erik Johnston
0dcb145c7e
Bump version
2015-03-19 11:26:03 +00:00
Erik Johnston
6cc046302f
Bump version
2015-03-18 11:41:00 +00:00
Erik Johnston
ed4d44d833
Merge pull request #109 from matrix-org/default_registration
...
Disable registration by default. Add script to register new users.
2015-03-18 11:38:52 +00:00
Erik Johnston
f88db7ac0b
Factor out user id validation checks
2015-03-18 11:34:18 +00:00
Erik Johnston
57976f646f
Do more validation of incoming request
2015-03-18 11:30:04 +00:00
Erik Johnston
bb24609158
Clean out event_forward_extremities table when the server rejoins the room
2015-03-18 11:19:47 +00:00
Erik Johnston
89036579ed
Update schema to work with mariadb
2015-03-18 11:18:49 +00:00
Paul "LeoNerd" Evans
93978c5e2b
@cached() annotate get_user_by_token() - achieves a minor DB performance improvement
2015-03-17 17:24:51 +00:00
Paul "LeoNerd" Evans
1489521ee5
Be polite and ensure we use @functools.wraps() when creating a function decorator
2015-03-17 17:19:22 +00:00
David Baker
6d33f97703
pep8
2015-03-17 11:53:55 +00:00
David Baker
7564dac8cb
Wire up the webclient option
...
It existed but was hardcoded to True.
Give it an underscore for consistency.
Also don't pull in syweb unless we're actually using the web client.
2015-03-17 12:45:37 +01:00
Paul "LeoNerd" Evans
3f7a31d366
Add a DistributionMetric to HTTP request/response processing time in the server
2015-03-16 18:31:29 +00:00
Paul "LeoNerd" Evans
be170b1426
Add a metric for the scheduling latency of SQL queries
2015-03-16 17:21:59 +00:00
Erik Johnston
cd2539ab2a
Merge pull request #110 from matrix-org/fix_ban
...
Fix ban
2015-03-16 15:36:52 +00:00
Kegan Dougal
f0d6f724a2
Set the service ID as soon as it is known.
2015-03-16 15:24:32 +00:00
Erik Johnston
f1d2b94e0b
Copy dict of context.current_state before changing it.
2015-03-16 15:13:05 +00:00
Erik Johnston
857810d2dd
Revert incorrect changes to where we send events
2015-03-16 15:12:47 +00:00
Kegan Dougal
d04fa1f712
Implement ServiceQueuer with tests.
2015-03-16 14:03:16 +00:00
Erik Johnston
c2c9471cba
Don't block waiting on waking up all the listeners when sending an event.
2015-03-16 13:16:37 +00:00
Kegan Dougal
6279285b2a
Replace EventGrouper for ServiceQueuer to move to push-based txns. Fix tests and add stub tests for ServiceQueuer.
2015-03-16 13:15:40 +00:00
Erik Johnston
8bad40701b
Comment.
2015-03-16 13:13:07 +00:00
Erik Johnston
250e143084
Use 403 instead of 400
2015-03-16 13:11:42 +00:00
Erik Johnston
b2e6ee5b43
Remove concept of context.auth_events, instead use context.current_state
2015-03-16 13:06:23 +00:00
Kegan Dougal
c9c444f562
Wrap polling/retry blocks in try/excepts to avoid sending to other ASes breaking permanently should an error occur.
2015-03-16 10:38:02 +00:00
Kegan Dougal
835e01fc70
Minor PR comment tweaks.
2015-03-16 10:16:59 +00:00
Kegan Dougal
f9232c7917
Merge branch 'develop' into application-services-txn-reliability
...
Conflicts:
synapse/storage/appservice.py
2015-03-16 10:09:15 +00:00
Erik Johnston
758d114cbc
Send all membership events to the remote homeserver
2015-03-16 00:27:59 +00:00
Erik Johnston
ea8590cf66
Make context.auth_events grap auth events from current state. Otherwise auth is wrong.
2015-03-16 00:18:08 +00:00
Erik Johnston
ab8229479b
Respect ban membership
2015-03-16 00:17:25 +00:00
Matthew Hodgson
c8032aec17
actually uphold the bind_host parameter. in theory should make ipv6 binds work like bind_host: 'fe80::1%lo0'
2015-03-14 00:12:20 +00:00
Paul Evans
e731d30d90
Merge pull request #108 from matrix-org/metrics
...
Metrics
2015-03-13 17:31:10 +00:00
Erik Johnston
98a3825614
Allow enabling of registration with --disable-registration false
2015-03-13 16:49:18 +00:00
Erik Johnston
9266cb0a22
PEP8
2015-03-13 15:26:00 +00:00
Erik Johnston
dea236e4fa
Add missing commas
2015-03-13 15:24:03 +00:00
Erik Johnston
69135f59aa
Implement registering with shared secret.
2015-03-13 15:23:37 +00:00
Erik Johnston
58367a9da2
Disable registration by default
2015-03-13 12:59:45 +00:00
Erik Johnston
58247c8b4b
Also bump dependency link version
2015-03-13 11:39:57 +00:00
Matthew Hodgson
f55bd3f94b
bump dep on syweb 0.6.5
2015-03-12 18:56:53 +00:00
Paul "LeoNerd" Evans
e90002ca1d
Merge remote-tracking branch 'origin/develop' into metrics
2015-03-12 16:55:25 +00:00
David Baker
bbb010a30f
More sacrifices to the pep8 gods.
2015-03-12 16:53:12 +00:00
Paul "LeoNerd" Evans
05a056a409
Appease pyflakes
2015-03-12 16:45:05 +00:00
Paul "LeoNerd" Evans
0eb7e6b9a8
Delete unused import of NOT_READY_YET
2015-03-12 16:39:52 +00:00
Paul "LeoNerd" Evans
128cf2daf7
Appease pep8
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
b98b4c135d
Option to serve metrics from their own localhost-only TCP port instead of muxed on the main listener
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
a2cdd11d4a
Fold the slightly-odd bind_port/secure_port/etc.. logic into SynapseHomeServer.start_listening()
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
e0214a263b
Build MetricsResource as a specific HomeServer dependency
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
e75fa8bbbf
Bugfix to sql_txn_timer increment - add only the per-TXN duration, not the total time ever spent since boot
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
c782e893ec
Neater metrics from TransactionQueue
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
89ac1fa8ba
Add a counter to track total number of events served by the notifier
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
2e4f0b2bd7
Replace the @metrics.counted annotations in federation with specifically-written counters and distributions
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
c1cdd7954d
Add an .inc_by() method to CounterMetric; implement DistributionMetric a neater way
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
63cb7ece62
Rename the timer metrics exported by synapse.storage to append _time, so the meaning of ':total' is clearer
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
493e3fa0ca
Don't forbid '_' in metric basenames any more, to allow things like foo_time
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
f1fbe3e09f
Rename TimerMetric to DistributionMetric; as it could count more than just time
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
642f725fd7
Pretend the 'getEvent' cache is just another cache in the set of all the others for metric
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
cbc0406be8
Export CacheMetric as hits+total, rather than hits+misses, as it's easier to derive hit ratio from that
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
1748605c5d
Count incoming HTTP requests per servlet that responds
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
4d661ec0f3
Remember to emit final linefeed from /metrics page, or Prometheus gets upset
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
0e847540c3
Prometheus needs "escaped" label values
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
22b37b75db
Kill unused CounterMetric.fetch() method
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
b0cf867319
Use _ instead of . as a metric namespacing separator, for Prometheus
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
0b96bb793e
Have all @metrics.counted use a single metric name vectored on the method name, rather than a brand new scalar counter per counted method
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
b3a0179d64
Bugfix to rendering output of vectored TimerMetrics
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
f9478e475b
Rename Metrics' "keys" to "labels"
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
399689dcc7
Provide some process resource usage metrics
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
fa319a5786
Add TimerMetrics to shadow the PerformanceCounters in synapse.storage; with the view to eventually replacing them entirely
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
6d146e15df
Put some gauge metrics on the number of notifier listeners, and notified-on objects (users, rooms, appservices)
2015-03-12 16:24:51 +00:00
Paul "LeoNerd" Evans
25187ab674
Collect per-SQL-verb timer stats on query execution time
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
f52acf3b12
Neater register_* methods on overall Metrics container
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
a99d6edc05
Neater implementation of metric render methods by pulling out 'render' as a base method that calls self.render_item
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
72625f2f4d
Initial hack at a TimerMetric; for storing counts + duration accumulators
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
e1a7e3564f
Delete a couple of TODO markers of monitoring stats now done
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
094803cf82
Put vector gauges on transaction queue pending PDU and EDU dicts
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
e9c4b0d178
Ensure that /_synapse/metrics response is UTF-8 encoded
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
23ab0c68c2
Implement vector CallbackMetrics
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
849300bc73
Neater introspection methods on BaseMetric so that subclasses don't need to touch self.keys directly
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
8664599af7
Rename CacheCounterMetric to just CacheMetric; add a CallbackMetric component to give the size of the cache
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
e02cc249da
Ensure that exceptions while rendering individual metrics don't stop others from being rendered anyway - especially useful for CallbackMetric
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
59c448f074
Add a scalar gauge metric on the size of the presence user cachemap
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
d8caa5454d
Initial attempt at a scalar callback-based metric to give instantaneous snapshot gauges
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
b0cdf097f4
Sprinkle some CacheCounterMetrics around the synapse.storage layer
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
ce8b5769f7
Create the concept of a cachecounter metric; generating two counters specific to caches
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
7d72e44eb9
Add vector counters to HTTP clients and servers; count the requests by method and responses by method and response code
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
c53ec53d80
Pull out all uses of the underlying HTTP user agent .request() method into a single wrapper function, to make adding metrics easier
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
9470412316
Initial attempt at sprinkling some @metrics.counted decorations around the federation code
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
a594087f06
Have the MetricsResource actually render metric counters
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
74bc42cfdd
An initial implementation of a 'metrics' instance, similar to a 'logger' for keeping counter stats on method calls
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
120b689284
Delete pointless (and unreachable) __init__ method from FederationClient
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
e7420a3bef
Initial tiny attempt at (vectorable) counter metrics
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
e07fc62833
A trivial 'hello world'-style resource on /_synapse/metrics, with optional commandline flag
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
5b6e11d560
Commandline option to enable metrics system
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
211c14c391
No need to explicitly pass 'web_client' in to create_resource_tree as it can be found via config
2015-03-12 16:24:50 +00:00
Paul "LeoNerd" Evans
ad5701f50f
Expose 'config' as a real HomeServer dependency key
2015-03-12 16:24:50 +00:00
David Baker
c92fdf88a3
Log the matching push rule.
2015-03-11 22:17:31 +00:00
Paul "LeoNerd" Evans
a7a28f85ae
Appease pep8
2015-03-11 17:32:43 +00:00
Paul "LeoNerd" Evans
59a5f012cc
Also give _execute() a description
2015-03-11 17:19:17 +00:00
Paul "LeoNerd" Evans
099e4b88d8
Add a description to storage layer's _execute_and_decode()
2015-03-11 17:08:57 +00:00
David Baker
cdb2e045ee
Again, underscore, not hyphen
2015-03-11 14:22:35 +00:00
David Baker
465354ffde
'false' is not False
2015-03-11 11:24:50 +00:00
David Baker
83b1e7fb3c
PEP8 blank lines
2015-03-11 10:01:17 +00:00
David Baker
04f8478aaa
Add the master push rule for the break-my-push button. Allow server default rules to be disabled by default.
2015-03-10 17:26:25 +00:00
David Baker
8916acbc13
These aren't defined for redacted events so don't crash
2015-03-10 11:21:37 +00:00
Erik Johnston
abaf47bbb6
Fix bug in logging.
2015-03-10 10:28:29 +00:00
Erik Johnston
045afd6b61
in_thread takes no arguments
2015-03-10 10:19:03 +00:00
Erik Johnston
98b867f7b7
Fix bug in logging.
2015-03-10 10:16:09 +00:00
Kegan Dougal
db1fbc6c6f
Fix remaining scheduler bugs. Add more informative logging.
2015-03-10 10:04:20 +00:00
Erik Johnston
e84fe3599b
Merge pull request #105 from matrix-org/erikj-perf
...
Add a Twisted Service to synapse.app.homeserver
2015-03-10 10:02:26 +00:00
Erik Johnston
c37eceeb9e
Split out the 'run' from 'setup'
2015-03-10 09:58:33 +00:00
Erik Johnston
b8a6692657
Add documentation. When starting via twistd respect soft_file_limit config option.
2015-03-10 09:39:42 +00:00
Kegan Dougal
7e0bba555c
Remove unused import
2015-03-09 17:48:37 +00:00
Kegan Dougal
04c9751f24
Bug fixes whilst putting it all together
2015-03-09 17:45:41 +00:00
Erik Johnston
019422ebba
Merge pull request #101 from matrix-org/neaten-federation-servlets
...
Neaten federation servlets
2015-03-09 17:39:06 +00:00
Kegan Dougal
b98cd03193
Use event IDs instead of dumping event content in the txns table.
2015-03-09 17:25:20 +00:00
Kegan Dougal
21fd84dcb8
Use seconds; start gluing in the AS scheduler into the AS handler.
2015-03-09 17:01:19 +00:00
Erik Johnston
8e28db5cc9
Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This uses the a storage api that is cached.
2015-03-09 16:43:09 +00:00
Kegan Dougal
0a60bbf4fa
Finish appservice txn storage impl and tests.
2015-03-09 15:53:03 +00:00
Kegan Dougal
1ead1caa18
Implement create_appservice_txn with tests.
2015-03-09 13:54:20 +00:00
Erik Johnston
f31e65ca8b
Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf
2015-03-09 13:29:41 +00:00
Kegan Dougal
1c2dcf762a
Partially implement txn store methods with tests.
2015-03-09 13:10:31 +00:00
David Baker
1df3ccf7ee
D'oh: underscore, not hyphen
2015-03-09 12:39:56 +00:00
David Baker
118c883429
Call notifications should be override else they'll get clobbered by sender/room rules.
2015-03-06 19:41:36 +00:00
Kegan Dougal
406d32f8b5
Start implementing ApplicationServiceTransactionStore
2015-03-06 17:35:14 +00:00
Kegan Dougal
34ce2ca62f
Merge branch 'develop' into application-services-txn-reliability
2015-03-06 17:28:49 +00:00
Kegan Dougal
4a6afa6abf
Assign the AS ID from the database; replace old placeholder txn id.
2015-03-06 17:27:55 +00:00
Kegan Dougal
01c099d9ef
Add appservice txns sql schema
2015-03-06 17:16:47 +00:00
Kegan Dougal
64345b7559
Upper bound the backoff.
2015-03-06 16:41:19 +00:00
Erik Johnston
5d43eaed61
Merge branch 'develop' into release-v0.8.0
2015-03-06 16:25:19 +00:00
Erik Johnston
9ccccd4874
When setting display name more graciously handle failures to update room state.
2015-03-06 16:24:05 +00:00
Kegan Dougal
2602ddc379
Apply clarity and docstrings
2015-03-06 16:16:14 +00:00
Kegan Dougal
0354659f9d
Finish synapse.appservice.scheduler implementation.
...
With tests to assert behaviour. Not hooked up yet. Stub datastore methods
not implemented yet.
2015-03-06 16:09:05 +00:00
David Baker
be9dafcd37
Dial down logging for failed pushers
2015-03-06 15:32:38 +00:00
Kegan Dougal
7d3491c741
Add some loggers
2015-03-06 15:17:50 +00:00
David Baker
96eda876a4
Specify when we don't want to highlight
2015-03-06 15:12:37 +00:00
Kegan Dougal
f260cb72cd
Flesh out more stub functions.
2015-03-06 15:12:24 +00:00
David Baker
e7d7152c3c
Remove the fallback rule - we probably don't want to be notifying for everything even if we don't know what it is.
2015-03-06 15:03:34 +00:00
Kegan Dougal
141ec04d19
Add stub ApplicationServiceTransactionStore. Bootstrap Recoverers. Fill in stub Transaction functions.
2015-03-06 14:53:35 +00:00
David Baker
5ecc768970
Add attribute so push gateways can tell if a member event is about the user in question
2015-03-06 14:41:50 +00:00
Kegan Dougal
0fbfe1b08a
Add more tests; fix bugs.
2015-03-06 14:36:52 +00:00
Erik Johnston
369449827d
Bump version
2015-03-06 14:24:53 +00:00
Erik Johnston
c54773473f
Merge branch 'master' of github.com:matrix-org/synapse into develop
2015-03-06 14:23:41 +00:00
Erik Johnston
b102a87348
Merge pull request #96 from matrix-org/pushrules2
...
Evolution of push rules
2015-03-06 14:20:04 +00:00
David Baker
cf66ddc1b4
Schema change as delta in v14
2015-03-06 14:11:49 +00:00
David Baker
c06b45129c
Add more server default rules so we have default rules for whether you get notifs for invites / random member events
2015-03-06 11:50:51 +00:00
Kegan Dougal
192e228a98
Start adding some tests
2015-03-06 11:50:27 +00:00
Erik Johnston
e49d6b1568
Unused import
2015-03-06 11:37:24 +00:00
David Baker
657a0d2568
Comment typo
2015-03-06 11:34:30 +00:00
Erik Johnston
3ce8540484
Don't look for an TLS private key if we have set --no-tls
2015-03-06 11:34:06 +00:00
David Baker
1487bba226
Suppress notices should trump content/room/sender rules.
2015-03-06 10:27:32 +00:00
David Baker
83d31144eb
Add the highlight tweak where messages should be highlighted a different colour in appropriate clients.
2015-03-06 10:26:08 +00:00
Kegan Dougal
d516d68b29
Rejig structure given the appservice_handler already filters the correct ASes to use.
2015-03-06 10:25:50 +00:00
Erik Johnston
130df8fb01
Add some randomness to the user specified timeout on event streams to mitigate against thundering herds problems
2015-03-06 10:25:36 +00:00
Paul "LeoNerd" Evans
d79d91a4a7
Appease pep8
2015-03-05 20:55:40 +00:00
Paul "LeoNerd" Evans
5eab2549ab
Append a $ on PATH at registration time, meaning each PATH attribute doesn't need it
2015-03-05 20:36:05 +00:00
Paul "LeoNerd" Evans
7644cb79b2
Slightly neater(?) arrangement of authentication wrapper for HTTP servlet methods
2015-03-05 20:33:16 +00:00
Paul "LeoNerd" Evans
ba8ac996f9
Remove the dead 'rate_limit_origin' method from TransportLayerServer
2015-03-05 19:43:17 +00:00
Paul "LeoNerd" Evans
a901ed16b5
Move federation API responding code out of weird mix of lambdas into Servlet-style methods on instances
2015-03-05 19:10:57 +00:00
Kegan Dougal
0c838f9f5e
Minor tweaks
2015-03-05 17:45:52 +00:00
Kegan Dougal
773cb3b688
Add stub architecture for txn reliability.
2015-03-05 17:35:07 +00:00
Erik Johnston
5b5c7a28d6
Log error message when we fail to fetch remote server keys
2015-03-05 17:09:13 +00:00
Erik Johnston
12bcf3d179
Merge pull request #100 from matrix-org/missing_pdu_compat
...
Handle if get_missing_pdu returns 400 or not all events.
2015-03-05 16:42:15 +00:00
Erik Johnston
9708f49abf
Docs
2015-03-05 16:35:16 +00:00
Erik Johnston
96fee64421
Remove unecessary check
2015-03-05 16:31:47 +00:00
Erik Johnston
39aa968a76
Respect min_depth argument
2015-03-05 16:31:32 +00:00
Erik Johnston
6dfd8c73fc
Docs.
2015-03-05 16:31:13 +00:00
Kegan Dougal
e319071191
Add stub scheduler module for txn reliability
2015-03-05 16:30:33 +00:00
Paul "LeoNerd" Evans
9d9d39536b
Slightly reduce the insane amounts of indentation in main http server response path, by 'continue'ing around a non-match or falling through
2015-03-05 16:24:13 +00:00
Erik Johnston
ae702d161a
Handle if get_missing_pdu returns 400 or not all events.
2015-03-05 16:08:02 +00:00
Kegan Dougal
be09c23ff0
Add txn_id kwarg to push methods
2015-03-05 15:40:07 +00:00
Paul "LeoNerd" Evans
dc4b774f1e
Rename rooms_to_listeners to room_to_listeners, for consistency with user_ and appservice_*
2015-03-05 14:30:20 +00:00
Paul "LeoNerd" Evans
027fd1242c
Give LruCache a __len__, so that len(cache) works
2015-03-04 17:32:28 +00:00
David Baker
590b544f67
Add default rule to suppress notices.
2015-03-04 15:29:02 +00:00
David Baker
ed72fc3a50
Merge branch 'develop' into pushrules2
...
Conflicts:
synapse/storage/schema/pusher.sql
2015-03-04 15:24:21 +00:00
Erik Johnston
d56c01fff4
Note that we don't specify execution order
2015-03-04 15:10:05 +00:00
Erik Johnston
17d319a20d
s/schema_deltas/applied_schema_deltas/
2015-03-04 15:06:22 +00:00
David Baker
92b3dc3219
Merge branch 'develop' into pushrules2
2015-03-04 14:56:41 +00:00
Erik Johnston
5681264faa
s/%r/%s/
2015-03-04 14:21:53 +00:00
Erik Johnston
f701197227
Add example directory structures in doc
2015-03-04 14:20:14 +00:00
David Baker
2a45f3d448
Use if not results rather than len, as per feedback.
2015-03-04 14:17:59 +00:00
Erik Johnston
16dd87d848
Don't assume db conn is a Context Manager.
...
Twisted adbapi wrapped connections aren't context managers.
2015-03-04 14:03:41 +00:00
Erik Johnston
5eefd1f618
Add unique constraint on schema_version.lock schema. Use conflict clause in sql.
2015-03-04 13:52:18 +00:00
Erik Johnston
b4c38738f4
Change to use logger in db upgrade script
2015-03-04 13:43:35 +00:00
Erik Johnston
640e53935d
Use context manager with db conn to correctly commit and rollback
2015-03-04 13:43:17 +00:00
Erik Johnston
8c8354e85a
Actually add full_schemas dir
2015-03-04 13:34:38 +00:00
Erik Johnston
c3530c3fb3
More docs. Rename 'schema/current' to 'schema/full_schemas'
2015-03-04 13:34:11 +00:00
Erik Johnston
811355ccd0
Add some docs and remove unused variables
2015-03-04 13:11:01 +00:00
Erik Johnston
82b34e813d
SYN-67: Finish up implementing new database schema management
2015-03-04 12:04:19 +00:00
Erik Johnston
527e0c43a5
Bump version
2015-03-03 14:49:34 +00:00
Erik Johnston
ede89ae3b4
Also bump version of downloaded syweb
2015-03-03 14:49:19 +00:00
Erik Johnston
da877aad15
Bump syweb dependency
2015-03-03 13:31:50 +00:00
Erik Johnston
8d33adfbbb
SYN-67: Begin changing the way we handle schema versioning
2015-03-02 18:23:55 +00:00
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