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
Mark Haines
8b8beba194
Remove annotate_event_with_state as nothing was using it. Update state tests to call annotate_context_with_state
2014-12-16 15:08:37 +00:00
Erik Johnston
b3c793e362
Do run all deltas up to missing delta 10
2014-12-16 14:44:53 +00:00
Erik Johnston
2e44714214
Make failure to run appropraite upgrade scripts more helpful.
2014-12-16 14:20:32 +00:00
Erik Johnston
ef5a141050
Bump database version
2014-12-16 13:57:47 +00:00
Erik Johnston
96cc7c8740
Bump version
2014-12-16 13:57:27 +00:00
Erik Johnston
5a465b67ba
Fix pyflakes
2014-12-16 13:41:43 +00:00
Erik Johnston
58168498b0
Remove FrozenEncoder
2014-12-16 13:38:38 +00:00
Erik Johnston
8133cdcc88
Better english in docstrings are helpful.
2014-12-16 13:32:06 +00:00
Erik Johnston
35f4f6b070
Update upgrade script
2014-12-16 13:27:53 +00:00
Erik Johnston
882dc8dcab
Persist internal_metadata
2014-12-16 13:17:09 +00:00
Erik Johnston
4afac88390
Add basic docstring to annotate_context_with_state
2014-12-16 13:09:44 +00:00
Erik Johnston
3c77d13aa5
Kill off synapse.api.events.*
2014-12-16 11:29:05 +00:00
Erik Johnston
6a1da99fab
Add fixme to raising of AuthError in federation land
2014-12-16 09:35:31 +00:00
Erik Johnston
65b2e49429
Fix pyflakes
2014-12-15 17:35:37 +00:00
Erik Johnston
9c49054f1d
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
2014-12-15 17:33:23 +00:00
Erik Johnston
f280929a12
Use frozenutils
2014-12-15 17:31:36 +00:00
Erik Johnston
009e4b5637
User.is_mine is no longer a thing. Use hs.is_mine instead.
2014-12-15 17:17:51 +00:00
Erik Johnston
cf6e5f1dbf
Rename MessageHandler.handle_event. Add a few comments.
2014-12-15 17:01:12 +00:00
Kegsay
67c9585656
Update media_repository.py
...
_ not -
2014-12-15 16:57:53 +00:00
Erik Johnston
670dcdfc14
Remove unused functions
2014-12-15 16:16:58 +00:00
Paul "LeoNerd" Evans
0c1deca574
Remember to hook up the typing event stream to the notifier as well
2014-12-15 16:14:53 +00:00
Erik Johnston
b75adaedca
Finish up upgrade script
2014-12-15 16:14:34 +00:00
Erik Johnston
65cdf4e724
Get current member state from current_state snapshot. Fix leave test.
2014-12-15 15:03:27 +00:00
Erik Johnston
57e0e619f3
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
...
Conflicts:
tests/handlers/test_room.py
2014-12-15 14:45:59 +00:00
Paul "LeoNerd" Evans
20beed9dd4
Still send typing notifications to myself if I'm the only one in the room (it's a lonely life...)
2014-12-15 14:37:12 +00:00
Mark Haines
3610641a62
Update docs in media_repository
2014-12-15 13:56:43 +00:00
Erik Johnston
c8dd3314d6
Fix bug where we ignored event_edge_hashes table
2014-12-15 13:55:22 +00:00
Mark Haines
58fa6d3fc6
return an mxc uri rather than a content_token.
2014-12-15 13:54:10 +00:00
Paul "LeoNerd" Evans
0aa8c08478
Merge branch 'develop' into typing_notifications
2014-12-15 11:19:30 +00:00
Erik Johnston
3983c7fb0f
Merge branch 'hotfixes-v0.5.4' of github.com:matrix-org/synapse into develop
2014-12-13 18:16:12 +00:00
Erik Johnston
eea58b8076
Bump version and change log
2014-12-13 18:04:37 +00:00
Erik Johnston
6380ead2ee
Fix bug while generating the error message when a file path specified in the config doesn't exist
2014-12-13 18:03:01 +00:00
Erik Johnston
23c7cb6220
Remove unused imports
2014-12-12 16:31:59 +00:00
Erik Johnston
fc409096ac
Make auth module use EventTypes constants
2014-12-12 16:31:50 +00:00
Erik Johnston
1fc2a0e33e
Fix tests and remove debug logging
2014-12-12 15:08:29 +00:00
Erik Johnston
7b43a503f3
Consistently url decode and decode as utf 8 the URL parts
2014-12-12 15:05:37 +00:00
Erik Johnston
c39beb5559
Store json as UTF-8 and not bytes
2014-12-12 14:53:37 +00:00
Erik Johnston
75085bb4d1
Pyflakes
2014-12-12 14:34:34 +00:00
Paul "LeoNerd" Evans
b0bb1756a9
Send list of typing user IDs as 'user_ids' list within 'content', so that m.typing stream events have a toplevel content, for consistency with others
2014-12-12 11:59:46 +00:00
Erik Johnston
63810c777d
Validate message, topic and name event contents
2014-12-12 11:01:09 +00:00
Erik Johnston
fa4b610ae3
Fix stream test. Make sure we add join to auth_events for invitiations
2014-12-12 10:42:27 +00:00
Paul "LeoNerd" Evans
0b70023373
Merge branch 'develop' into typing_notifications
2014-12-11 18:35:05 +00:00
Paul "LeoNerd" Evans
57b5094545
Merge branch 'develop' of github.com:matrix-org/synapse into develop
2014-12-11 18:34:26 +00:00
Paul "LeoNerd" Evans
cfb963af03
When users leave rooms mark them as no longer typing in them
2014-12-11 18:33:09 +00:00
Paul "LeoNerd" Evans
f25764943c
Add a 'user_left_room' distributor signal analogous to 'user_joined_room'
2014-12-11 18:27:01 +00:00
Mark Haines
b3e34a5399
Fix typo in media repository doc string
2014-12-11 18:21:08 +00:00
Mark Haines
64bf9f54cc
Fix media repository doc string to include server_name
2014-12-11 18:18:58 +00:00
Paul "LeoNerd" Evans
5ebc994f84
Actually auth-check to ensure people can only send typing notifications for rooms they're actually in
2014-12-11 18:11:43 +00:00
Paul "LeoNerd" Evans
966c4b2b04
Add a sprinkling of logger.debug() into typing notification handler
2014-12-11 18:00:15 +00:00
Erik Johnston
cde840a82c
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
...
Conflicts:
setup.py
2014-12-11 17:48:48 +00:00
Erik Johnston
d3eb12c7b8
Fix federation test
2014-12-11 17:01:27 +00:00
Mark Haines
03d9024cbc
Allow only one download for a given image at a time, so that we don't end up downloading the same image twice if two clients request a remote image at the same time
2014-12-11 16:48:11 +00:00
Paul "LeoNerd" Evans
3b2cc26053
Initial hack at unit tests of room typing REST API
2014-12-11 16:03:12 +00:00
Erik Johnston
0b04369238
Fix public room joining by making sure replaces_state never points to itself.
2014-12-11 15:56:06 +00:00
Erik Johnston
9191292b0f
Fix prev_content
2014-12-11 15:16:55 +00:00
Mark Haines
d80d505b1f
Limit the size of images that are thumbnailed serverside. Limit the size of file that a server will download from a remote server
2014-12-11 14:19:32 +00:00
Erik Johnston
8cdebce470
Fix redactions. Fix 'age' key
2014-12-11 13:25:19 +00:00
Paul "LeoNerd" Evans
0ca072b3b6
Initial tiny hack at REST API for setting room typing notification status
2014-12-11 10:55:36 +00:00
Mark Haines
ead8fc5e38
doc the thumbnail methods
2014-12-11 10:41:43 +00:00
Mark Haines
b5eb9124f7
Make sure we pass a tuple to string '%' formatting
2014-12-11 10:08:09 +00:00
Paul "LeoNerd" Evans
5f49914dee
Avoid cyclic dependency in handler setup
2014-12-10 21:17:48 +00:00
Paul "LeoNerd" Evans
1a75ff5c23
Hook up the event stream to typing notifications
2014-12-10 21:01:49 +00:00
Paul "LeoNerd" Evans
4006d58335
Store serial numbers per room for typing event stream purposes
2014-12-10 20:48:25 +00:00
Paul "LeoNerd" Evans
9eb819e828
First hack at implementing timeouts in typing notification handler
2014-12-10 19:39:01 +00:00
Erik Johnston
4c682143c8
.from_string() no longer takes a HS
2014-12-10 18:00:49 +00:00
Erik Johnston
02e4c18171
Remove dead code
2014-12-10 18:00:36 +00:00
Erik Johnston
b245ee34ed
Add some basic event validation
2014-12-10 17:59:47 +00:00
Mark Haines
4f37c0ea9d
Merge branch 'develop' into media_repository
2014-12-10 16:55:06 +00:00
Mark Haines
61fc37e467
Merge branch 'develop' into media_repository
2014-12-10 16:14:17 +00:00
Mark Haines
2d265ef3bd
import Image as PIL.Image.
2014-12-10 16:09:18 +00:00
Erik Johnston
1d2a0040cf
Fix bug where we clobbered old state group values
2014-12-10 15:55:03 +00:00
Mark Haines
e5275d856e
Get the code actually working
2014-12-10 15:46:18 +00:00
Mark Haines
cc84d3ea78
Thumbnail uploaded and cached images
2014-12-10 15:40:52 +00:00
Erik Johnston
cabead6194
Actually fix bug when uploading state with empty state_key
2014-12-10 14:49:52 +00:00
Erik Johnston
02db7eb209
Fix bug when uploading state with empty state_key
2014-12-10 14:02:48 +00:00
Erik Johnston
aae8a37e63
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
2014-12-10 13:18:40 +00:00
Erik Johnston
02db1fd2e7
Fix AttributeError
2014-12-10 12:00:05 +00:00
Erik Johnston
018443cb59
Make depth increase.
2014-12-10 11:59:53 +00:00
Erik Johnston
102d2373b4
Add __str__ to FrozenEvent
2014-12-10 11:38:08 +00:00
Erik Johnston
95aa903ffa
Try and figure out how and why signatures are being changed.
2014-12-10 11:37:47 +00:00
Matthew Hodgson
0f4dcab238
turn back on per-request transaction retries, so that every time we try to hit a dead server we actually end up hammering 5 times :|
2014-12-10 10:28:27 +00:00
Erik Johnston
b8d30899b1
Code style.
2014-12-10 10:16:09 +00:00
Matthew Hodgson
71da2bed55
plateau retries after 1h
2014-12-10 00:18:44 +00:00
Matthew Hodgson
faf12b64f8
add errbacks to enqueue_pdu deferreds; change logging for failed federation sends to warn rather than exception
2014-12-10 00:12:51 +00:00
Matthew Hodgson
2b1acb7671
squidge to 79 columns as per pep8
2014-12-10 00:03:55 +00:00
Erik Johnston
008303b245
PEP8
2014-12-09 14:49:11 +00:00
Erik Johnston
5eca288d28
Fix joining from an invite
2014-12-09 14:47:27 +00:00
Erik Johnston
aa3f66cf7f
Change the way we implement get_events to be less sucky
2014-12-09 13:35:26 +00:00
Erik Johnston
bc6564bac0
Add PEP8 newlines
2014-12-09 11:01:44 +00:00
Erik Johnston
8c48450682
Add PEP8 newlines
2014-12-09 10:58:31 +00:00
Erik Johnston
1c8ee06877
Remove unused snapshot
2014-12-09 10:53:34 +00:00
Erik Johnston
4e57943cc5
Remove unused import
2014-12-09 10:51:36 +00:00
Matthew Hodgson
8529fba02d
fix a million stupid bugs and make it actually work
2014-12-08 19:34:51 +00:00
Erik Johnston
609c31e8df
More bug fixes
2014-12-08 17:50:56 +00:00
Matthew Hodgson
0d3fa1ac6e
add a write-through cache on the retry schedule
2014-12-08 17:48:57 +00:00
Erik Johnston
ee3df06183
More bug fixes
2014-12-08 14:50:48 +00:00
Erik Johnston
ba3d1e2fc0
Remove unused import
2014-12-08 12:01:25 +00:00
Erik Johnston
e8323b9e34
More bug fixes
2014-12-08 10:16:18 +00:00
Erik Johnston
a295a3c691
Fix registration
2014-12-08 09:24:37 +00:00
Erik Johnston
721482c83e
Add forgotten file
2014-12-08 09:10:12 +00:00
Erik Johnston
d044121168
Various typos and bug fixes.
2014-12-08 09:08:26 +00:00
Matthew Hodgson
9c43b258ec
actually reset retry schedule if we can successfuly talk to it
2014-12-08 00:17:12 +00:00
Matthew Hodgson
5cd43d4b9f
fix stupid syntax thinkos
2014-12-07 23:44:16 +00:00
Matthew Hodgson
aed62a3583
track replication destination health, and perform exponential back-off when sending transactions. does *not* yet retry transactions, but drops them on the floor if waiting for a server to recover.
2014-12-07 02:26:07 +00:00
Mark Haines
a953be097f
Add a method field to thumbnail storage
2014-12-05 16:31:56 +00:00
Erik Johnston
6630e1b579
Start making more things use EventContext rather than event.*
2014-12-05 16:20:48 +00:00
Mark Haines
0363820122
Add a class for generating thumbnails using PIL
2014-12-05 16:12:37 +00:00
Erik Johnston
c5c32266d8
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
2014-12-04 15:58:24 +00:00
Erik Johnston
c31dba86ec
Convert rest and handlers to use new event structure
2014-12-04 15:50:01 +00:00
Mark Haines
c01fd5573c
Implement download support for media_repository
2014-12-04 14:22:31 +00:00
Erik Johnston
5d7c9ab789
Begin converting things to use the new Event structure
2014-12-04 11:27:59 +00:00
Paul "LeoNerd" Evans
f5d2514fc0
@log_function on PresenceStream's get_new_events_for_user()
2014-12-03 19:48:14 +00:00
Paul "LeoNerd" Evans
52f1d3c886
Store any incoming presence push in the local cache anyway, even if there's no interested observers (yet *hint*) (SYN-115)
2014-12-03 19:06:24 +00:00
Erik Johnston
797193283e
Bump changes and version
2014-12-03 18:01:47 +00:00
Erik Johnston
75b4329aaa
WIP for new way of managing events.
2014-12-03 16:07:21 +00:00
David Baker
88af58d41d
Update to app_id / app_instance_id (partially) and mangle to be PEP8 compliant.
2014-12-03 13:37:02 +00:00
Erik Johnston
6941a19715
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
2014-12-03 11:56:49 +00:00
Erik Johnston
d06dfc70b0
Fix bug where did not always resolve all the deferreds in _attempt_new_transaction
2014-12-03 11:50:23 +00:00
Paul "LeoNerd" Evans
66b0596b7a
Don't log synapse.storage at DEBUG level when under -v; require -v -v for that
2014-12-02 22:28:18 +00:00
Paul "LeoNerd" Evans
10eb8f070c
Workaround for non-uniqueness of room member events in the database confusing HAVING COUNT() test of room membership intersection (with thanks to Tom Molesworth)
2014-12-02 21:36:53 +00:00
Paul "LeoNerd" Evans
274d137b00
Extra verbosity on logging of received presence info
2014-12-02 20:51:28 +00:00
Paul "LeoNerd" Evans
307f94dcbe
Squash room_ids list to a set() to remove duplicates - with TODO marker as I have no idea /why/ the dups are happening in the first place
2014-12-02 20:51:12 +00:00
Mark Haines
2f804a7072
Fix pyflakes and pep8 warnings
2014-12-02 19:55:18 +00:00
Mark Haines
5da65085d1
Get uploads working with new media repo
2014-12-02 19:51:47 +00:00
Paul "LeoNerd" Evans
afb646dc1e
Allow GET /room/:room_id/messages without 'limit' parameter to default to 10
2014-12-02 18:01:16 +00:00
Erik Johnston
23a2c42469
Bump version
2014-12-02 17:45:40 +00:00
Mark Haines
7993e3d10d
SYN-187: Set a more sensible default for the content_addr
2014-12-02 17:20:02 +00:00
Mark Haines
279c48c8b4
Write the upload portion of version 1 of the media repository
2014-12-02 17:13:14 +00:00
David Baker
7642d95d5e
Merge branch 'develop' into pushers
2014-12-02 13:50:05 +00:00
Erik Johnston
c1e66800a9
Begin fleshing out a new Event object
2014-12-02 11:40:22 +00:00
Erik Johnston
9d53228158
Change DomainSpecificString so that it doesn't use a HomeServer object
2014-12-02 10:42:28 +00:00
Erik Johnston
ec2b5d8c28
Store full JSON of events in db
2014-12-01 16:22:07 +00:00
Erik Johnston
ab74afdd8d
Bump version
2014-11-27 17:30:08 +00:00
Erik Johnston
cce32f8dc5
Bump version and changelog
2014-11-27 17:15:32 +00:00
Erik Johnston
1505055334
Don't return outliers when we get recent events for rooms.
2014-11-27 16:38:50 +00:00
Erik Johnston
027542e2e5
Fix bugs when joining a remote room that has dodgy event graphs. This should also fix the number of times a HS will trigger a GET /event/
2014-11-27 16:02:26 +00:00
Erik Johnston
0294fba042
on_receive_pdu takes more args
2014-11-27 14:46:33 +00:00
Erik Johnston
07699b5871
Change the way we get missing auth and state events
2014-11-27 14:31:43 +00:00
Erik Johnston
b8849c8cbf
Re-sign events when we return them via federation as a temporary hack to work around the problem where we reconstruct events differently than when they were signed
2014-11-27 13:53:31 +00:00
Erik Johnston
00ab5cd6f2
Attempt to fix bug where we 500d an event stream due to trying to cancel a timer twice
2014-11-26 18:04:33 +00:00
Erik Johnston
858e87ab0d
Add a workaround for bug where some initial join events don't reference creation events in their auth_events
2014-11-26 16:29:03 +00:00
Erik Johnston
6c485c282d
Catch exceptions when trying to add an entry to rooms tables
2014-11-26 16:06:20 +00:00
Erik Johnston
5288a7dc9a
Bump version and changelog
2014-11-26 15:19:08 +00:00
Erik Johnston
4e2ffe79a4
Don't delete the entire current_state_events table
2014-11-26 15:17:08 +00:00
Erik Johnston
ad13f14432
Bump version numbers and change log
2014-11-26 11:53:12 +00:00
Erik Johnston
cb76945688
Add update delta for schema change
2014-11-26 11:17:19 +00:00
Erik Johnston
87538711b6
Update schema to support multiple signatures
2014-11-26 11:14:30 +00:00
Erik Johnston
3598c11c8d
Correctly handle the case where we get an event for an unknown room, which turns out we are actually in
2014-11-26 10:41:08 +00:00
Erik Johnston
64fc859dac
Fix bugs in invite/join dances.
...
We now do more implement more of the auth on the events so that we
don't reject valid events.
2014-11-25 17:59:49 +00:00
Kegan Dougal
3536fd7d60
Don't double url-decode state event types.
2014-11-25 11:02:19 +00:00
Mark Haines
15099fade5
Drop log level for incorrect logging contexts to WARN if the context is wrong and DEBUG if the context is missing
2014-11-25 10:57:31 +00:00
Erik Johnston
4961a4fab1
Mark the auth events as possible outlier
2014-11-24 13:55:49 +00:00
Erik Johnston
e549aac127
Add missing None check
2014-11-24 13:47:58 +00:00
Erik Johnston
2bca242fdc
Ask for any auth events that we don't have
2014-11-24 13:46:41 +00:00
Erik Johnston
4bd0ab76c6
We don't always want to Auth get_persisted_pdu
2014-11-24 12:56:17 +00:00
Erik Johnston
a46e5ef621
SYN-163: Add an order by rowid to selects.
...
This should fix the bug where the edges of the graph get returned in a
different order than they were inserted in, and so no get_event no
longer returned the exact same JSON as was inserted. This meant that
signature checks failed.
2014-11-24 10:56:36 +00:00
Matthew Hodgson
ae8ad55cb8
typos
2014-11-24 01:41:12 +00:00
Mark Haines
fd40a80a68
Return 404 M_NOT_FOUND when trying to look up a room alias that doesn't exist
2014-11-21 15:11:48 +00:00
David Baker
eb6aedf92c
More work on pushers. Attempt to do HTTP pokes. Not sure if the actual HTTP pokes work or not yet but the retry semantics are pretty good.
2014-11-21 12:21:00 +00:00
Paul "LeoNerd" Evans
5f19c55731
SYN-58: Allow passing explicit limit=0 to initialSync to request no messages at all; missing still implies default 10
2014-11-20 19:33:45 +00:00
David Baker
58f82e2e54
Merge branch 'develop' into pushers
2014-11-20 18:25:31 +00:00
David Baker
23465a30b6
Merge branch 'develop' into pushers
2014-11-20 18:17:46 +00:00
Mark Haines
610c2ea131
Fix pep8 and pyflakes warnings
2014-11-20 18:00:10 +00:00
David Baker
f1c7f8e813
Merge branch 'develop' into http_client_refactor
2014-11-20 17:49:48 +00:00
David Baker
e377d33652
Separate out the matrix http client completely because just about all of its code it now separate from the simple case we need for standard HTTP(S)
2014-11-20 17:41:56 +00:00
Mark Haines
db9ce032a4
Fix pep8 codestyle warnings
2014-11-20 17:26:36 +00:00
Mark Haines
dfdda2c871
Use module loggers rather than the root logger. Exceptions caused by bad clients shouldn't cause ERROR level logging. Fix sql logging to use 'repr' rather than 'str'
2014-11-20 17:10:37 +00:00
Mark Haines
32090aee16
Add a few missing yields, Move deferred lists inside PreserveLoggingContext because they don't interact well with the logging contexts
2014-11-20 16:24:00 +00:00
David Baker
20326054da
Oops, I removed this param.
2014-11-20 15:24:38 +00:00
David Baker
ebf6c08a47
Merge branch 'http_client_refactor' into pushers
2014-11-20 14:01:41 +00:00
David Baker
dc60eee50e
Refactor the HTTP clients a little.
2014-11-20 13:53:34 +00:00
David Baker
cf66532ac1
CaptchaServerHttpClient should extend the base, not matrix http client.
2014-11-20 12:48:21 +00:00
Mark Haines
b2aeaa2dcc
Merge branch 'master' into develop
2014-11-20 10:00:13 +00:00
Mark Haines
dcb99e4972
SYN-153: Fix formatting of federation error message
2014-11-20 09:58:23 +00:00
David Baker
051b185811
remove random half-line
2014-11-19 18:37:00 +00:00
David Baker
74c3879760
Start creating a module to do generic notifications (just prints them to stdout currently!)
2014-11-19 18:20:59 +00:00
Erik Johnston
1a9551db82
Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.5.0
2014-11-19 18:03:03 +00:00
Erik Johnston
5b46ce579b
Bump version, changelog and upgrade.rst
2014-11-19 18:00:57 +00:00
Erik Johnston
415ddf59bb
Don't add a 'prev' key to m.room.member messages
2014-11-19 17:59:51 +00:00
Paul "LeoNerd" Evans
03dc63f6c8
Initialise UserPresenceCache instances to always contain a 'presence' key
2014-11-19 17:31:46 +00:00
Erik Johnston
4eada9a908
Fix backfill request
2014-11-19 17:22:37 +00:00
Erik Johnston
512993b57f
Only users can set state events which have their own user_id
2014-11-19 17:22:37 +00:00
Mark Haines
ca91bb2f7f
Sometimes there isn't a current logging context
2014-11-19 17:18:55 +00:00
Mark Haines
8993affdc0
SYN-153: Raise 404 if room alias is not found
2014-11-19 17:14:14 +00:00
Mark Haines
0d1221155e
remove unused import
2014-11-19 16:40:01 +00:00
Mark Haines
c5eabe3143
replace user_id with sender
2014-11-19 16:38:40 +00:00
Mark Haines
97c7c34f6f
Preserve logging context in a few more places, drop the logging context after it has been stashed to reduce potential for confusion
2014-11-19 16:37:43 +00:00
Mark Haines
3e54d70ae2
SYN-141: Encode query params as UTF-8.
2014-11-18 19:43:08 +00:00
Mark Haines
428581dd05
SYN-144: Remove bad keys from pdu json objects, convert age_ts to age
...
for all pdus sent.
2014-11-18 19:20:25 +00:00
Paul "LeoNerd" Evans
572a1ca42a
Remember also to UTF-8 decode bytes in room alias names in directory server URLs
2014-11-18 18:06:35 +00:00
Paul "LeoNerd" Evans
3bfc3dd45b
Remember to URL decode the room_id in room initialSync
2014-11-18 17:44:55 +00:00
Mark Haines
db7e8b5619
SYN-141: Decode the query params as UTF-8
2014-11-18 17:17:57 +00:00
Mark Haines
54c438d8d3
Remove unused variable
2014-11-18 16:46:12 +00:00
Mark Haines
1731af3f29
SYN-104: When going backwards the end token should be before the last event
2014-11-18 16:45:06 +00:00
Paul Evans
11fd81e398
Merge pull request #17 from matrix-org/room-initial-sync
...
Room initial sync
2014-11-18 16:44:25 +00:00
Paul "LeoNerd" Evans
88dfa7baa6
Ensure to parse a real pagination config object out of room initialSync request and pass it on
2014-11-18 16:34:43 +00:00
Paul "LeoNerd" Evans
75e95c45a2
Rename message handler's new snapshot_room to room_initial_sync() as that better suits its purpose
2014-11-18 16:02:44 +00:00
Erik Johnston
c6ea29d916
Revert accidental commit of bad file
2014-11-18 15:57:00 +00:00
Paul "LeoNerd" Evans
e9f587ecba
Merge remote-tracking branch 'origin/develop' into room-initial-sync
2014-11-18 15:48:30 +00:00
Mark Haines
3553101eb3
Null check when determining default power levels
2014-11-18 15:43:17 +00:00
Mark Haines
b01dd76be1
SYN-149: Enable auth for events added during room creation since they should pass auth checks
2014-11-18 15:42:53 +00:00
Erik Johnston
95614e5220
Fix auth to correctly handle initial creation of rooms
2014-11-18 15:36:41 +00:00
Mark Haines
ae9c2ab165
SYN-149: Send join event immediately after the room create event
2014-11-18 15:29:48 +00:00
Paul "LeoNerd" Evans
33d328d967
Include room members' presence in room initialSync
2014-11-18 15:28:58 +00:00
Paul "LeoNerd" Evans
759db7d7d5
Added ability to .get_state() from the PresenceHandler by returning a complete m.presence event
2014-11-18 15:25:55 +00:00
Paul "LeoNerd" Evans
4c18e08036
Don't expect all _user_cachemap entries to definitely contain a "last_active" key
2014-11-18 15:10:11 +00:00
Mark Haines
a5b88c489e
Split out sending the room alias events from creating the alias so that we can do them in the right point when creating a room
2014-11-18 15:03:13 +00:00
Paul "LeoNerd" Evans
17f977a9de
Include 'messages' snapshot in room initialSync
2014-11-18 14:07:51 +00:00
Mark Haines
26fc878944
Stop before starting when restarting
2014-11-17 19:16:15 +00:00
Paul "LeoNerd" Evans
31a049eb69
Merge branch 'develop' into room-initial-sync
...
Conflicts:
synapse/handlers/message.py
2014-11-17 16:59:24 +00:00
Mark Haines
cf45e57d9c
SYN-148: Add the alias after creating the room
2014-11-17 16:37:33 +00:00
Mark Haines
2eaf689f71
These lines aren't doing anything
2014-11-17 10:41:35 +00:00
Mark Haines
cb4b6c844a
Merge PDUs and Events into one object
2014-11-14 21:25:02 +00:00
Mark Haines
8c2b5ea7c4
Fix PDU and event signatures
2014-11-14 19:11:04 +00:00
Mark Haines
de1ec90133
Validate signatures on incoming events
2014-11-14 19:11:04 +00:00
David Baker
fe3401e037
Be more helpful and tell the user how to generate a config too.
2014-11-14 13:30:06 +00:00
David Baker
933ce76057
Adding --generate-config will not help if the user has not specified a config file.
2014-11-14 13:24:12 +00:00
Mark Haines
e903c941cb
Merge branch 'develop' into request_logging
...
Conflicts:
setup.py
synapse/storage/_base.py
synapse/util/async.py
2014-11-14 11:16:50 +00:00
Mark Haines
8d8a133c89
SYN-103: Remove "origin" and "destination" keys from edus
2014-11-13 15:49:03 +00:00
Mark Haines
e7c6d2c9d9
SYN-138: Rewrite synctl in python and include it in the python distribution
2014-11-13 14:39:30 +00:00
Erik Johnston
f04b3d5042
Store all signatures on events rather than just dropping them
2014-11-12 17:02:34 +00:00
Erik Johnston
b2596c660b
Add a few more comments to the federation handler
2014-11-12 16:20:30 +00:00
Erik Johnston
e715741abc
Update some of the docs in event_federation
2014-11-12 16:20:30 +00:00
Erik Johnston
e24d5cb97d
Document StateStore and use transactions
2014-11-12 14:33:48 +00:00
Erik Johnston
58c0ef90c9
Add indices to state group tables
2014-11-12 14:33:48 +00:00
Erik Johnston
3db0efa69f
Fix pyflake warnings and add a FIXME comment to deal with auth_chains received when joining
2014-11-12 11:27:02 +00:00
Erik Johnston
6fea478d2e
Fix bugs with invites/joins across federatiom.
...
Both in terms of auth and not trying to fetch missing PDUs for invites,
joins etc.
2014-11-12 11:24:11 +00:00
Erik Johnston
61ecb13bf0
PEP8ify
2014-11-11 18:00:13 +00:00
Erik Johnston
37900a92db
Only allow people in a room to look up room state.
2014-11-11 17:55:32 +00:00
Erik Johnston
997ed151db
synapse.state docs.
2014-11-11 17:45:46 +00:00
Erik Johnston
3db2c0d43e
Rename annotate_state_groups to annotate_event_with_state
2014-11-11 16:58:53 +00:00
Mark Haines
a8ceeec0fd
Merge pull request #12 from matrix-org/federation_authorization
...
Federation authorization
2014-11-11 16:40:50 +00:00
Erik Johnston
092979b8cc
Fix bugs which broke federation due to changes in function signatures.
2014-11-11 14:19:13 +00:00
Erik Johnston
5ff0bfb81d
Fix bug where we /always/ created a new state group
2014-11-11 14:16:41 +00:00
Erik Johnston
2cdff00788
Fix typo in validator
2014-11-11 10:31:47 +00:00
Erik Johnston
0292d991af
Add EventValidator module
2014-11-11 08:09:28 +00:00
Matthew Hodgson
7df8c8c287
apply some cache headers to try to make the content repo less nutso
2014-11-11 05:36:39 +00:00
Paul "LeoNerd" Evans
c23afed39a
Include room membership in room initialSync
2014-11-10 19:34:47 +00:00
Paul "LeoNerd" Evans
1fd8139138
Put room state in room initialSync output - I guess this is right; I really can't find any other tests similar...
2014-11-10 19:29:58 +00:00
Paul "LeoNerd" Evans
269f80bf8e
Have room initialSync return the room's room_id
2014-11-10 19:02:19 +00:00
Erik Johnston
a8e565eca8
Add an EventValidator. Fix bugs in auth ++ storage
2014-11-10 18:25:42 +00:00
Erik Johnston
cdc1b5d629
Fix regression where we did not return redacted events.
2014-11-10 15:21:30 +00:00
Erik Johnston
5d439b127b
PEP8
2014-11-10 13:46:44 +00:00
Erik Johnston
c46088405a
Remove useless comments
2014-11-10 13:39:33 +00:00
Erik Johnston
003668cfaa
Add auth to the various server-server APIs
2014-11-10 13:37:24 +00:00
Erik Johnston
6447db063a
Fix backfill to work. Add auth to backfill request
2014-11-10 11:59:51 +00:00
Erik Johnston
65f846ade0
Notify users about invites.
2014-11-10 11:15:02 +00:00
Erik Johnston
407d8a5019
Fix invite auth
2014-11-10 10:35:43 +00:00
Erik Johnston
6cb6cb9e69
Tidy up some of the unused sql tables
2014-11-10 10:31:00 +00:00
Erik Johnston
1c06806f90
Finish redaction algorithm.
2014-11-10 10:21:32 +00:00
Erik Johnston
07286a73b1
Use current state to get room hosts, rather than querying the database
2014-11-07 16:03:31 +00:00
Erik Johnston
02c3b1c9e2
Add '/event_auth/' federation api
2014-11-07 15:35:53 +00:00
Erik Johnston
d2fb2b8095
Implement invite part of invite join dance
2014-11-07 13:41:00 +00:00
Erik Johnston
328dab2463
Remove /context/ request
2014-11-07 11:40:38 +00:00
Erik Johnston
97a096b507
Add hash of current state to events
2014-11-07 11:37:06 +00:00
Erik Johnston
3b4dec442d
Return auth chain when handling send_join
2014-11-07 11:22:12 +00:00
Erik Johnston
16a0815fac
Fix bug in _get_auth_chain_txn
2014-11-07 11:21:20 +00:00
Erik Johnston
3cb678f84c
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
2014-11-07 10:55:28 +00:00
Erik Johnston
49948d72f3
Fix joining over federation
2014-11-07 10:53:38 +00:00
Erik Johnston
8b0e96474b
Implement method to get auth_chain from a given event_id
2014-11-07 10:53:38 +00:00
Erik Johnston
bf6b72eb55
Start implementing auth chains
2014-11-07 10:53:38 +00:00
Erik Johnston
8421cabb9d
Neaten things up a bit
2014-11-07 10:53:38 +00:00
Erik Johnston
46de65cab9
Don't query the DB for user power levels
2014-11-07 10:53:38 +00:00
Erik Johnston
351c64e99e
Amalgamate all power levels.
...
Remove concept of reqired power levels, something similiar can be done
using the new power level event.
2014-11-06 16:59:13 +00:00
Erik Johnston
233969bb58
Update to use replaces_state rather than prev_state
2014-11-06 15:25:03 +00:00
Erik Johnston
c6766d45b5
Don't send prev_state to clients anymore
2014-11-06 15:19:00 +00:00
Erik Johnston
4317c8e583
Implement new replace_state and changed prev_state
...
`prev_state` is now a list of previous state ids, similiar to
prev_events. `replace_state` now points to what we think was replaced.
2014-11-06 15:10:55 +00:00
Erik Johnston
cc44ecc62f
Get correct prev_events
2014-11-05 13:23:35 +00:00
Kegan Dougal
d3a02ec038
Fix url decoding bugs with /redact and /send APIs.
2014-11-05 12:05:11 +00:00
Kegan Dougal
9f6d1b10ad
Be sure to urlencode/decode event types correctly in both the web client and HS.
2014-11-05 11:21:55 +00:00
Erik Johnston
96c001e668
Fix auth checks to all use the given old_event_state
2014-11-05 11:07:54 +00:00
Erik Johnston
dfb3d21a6d
Fix room handler tests
2014-11-04 17:12:39 +00:00
Erik Johnston
da4a09f977
Don't bother locking
2014-11-04 16:51:23 +00:00
Mark Haines
dca3ba2f77
Determine webclient path by the python module it is contained in
2014-11-04 16:19:16 +00:00
Erik Johnston
a5a4ef3fd7
Fix bug in replication
2014-11-04 15:16:43 +00:00
Erik Johnston
2a49f177fe
On AuthError, raise a FederationError
2014-11-04 15:10:43 +00:00
Erik Johnston
8918422156
Move FederationError to synapse.api.errors
2014-11-04 15:10:27 +00:00
Erik Johnston
fc7b2b11a2
PEP8
2014-11-04 15:09:34 +00:00
Erik Johnston
440cbd5235
Add support for sending failures
2014-11-04 14:17:55 +00:00
Erik Johnston
d7412c4df1
Remove unused interface
2014-11-04 14:16:19 +00:00
Erik Johnston
aa76bf39ab
Remove unused imports
2014-11-04 14:14:02 +00:00
Erik Johnston
68698e0ac8
Fix bugs in generating event signatures and hashing
2014-11-03 17:51:42 +00:00
Erik Johnston
af7ae048f8
Add option to not bind to HTTPS port. This is useful if running behind an ssl load balancer
2014-11-03 15:06:40 +00:00
Erik Johnston
ad6eacb3e9
Rename PDU fields to match that of events.
2014-11-03 13:06:58 +00:00
Erik Johnston
d59aa6af25
For now, don't store txn -> pdu mappings.
2014-11-03 11:35:19 +00:00
Erik Johnston
f139c02e95
Formatting
2014-11-03 11:34:49 +00:00
Erik Johnston
7249785bcb
Sign events we create.
2014-11-03 11:33:28 +00:00
Erik Johnston
0a8b026ccf
Add 'origin' key to events
2014-11-03 11:32:42 +00:00
Erik Johnston
82a6b83524
Don't assume event has hashes key already
2014-11-03 11:32:12 +00:00
Erik Johnston
9024a19658
Remove dead code.
2014-11-03 11:31:47 +00:00
Erik Johnston
7a07263281
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
2014-11-03 10:17:37 +00:00
Erik Johnston
1c6825cc7a
Use python logger, not the twisted logger
2014-11-03 10:16:28 +00:00
Erik Johnston
13fad06239
Bump version numbers and change log
2014-10-31 17:23:01 +00:00
Erik Johnston
ecabff7eb4
Sign evnets
2014-10-31 17:08:52 +00:00
Erik Johnston
80b2710e6f
Remove unused signature storage methods
2014-10-31 17:08:36 +00:00
Erik Johnston
fb3a01fa3a
Remove unused sql file.
2014-10-31 16:04:27 +00:00
Erik Johnston
d30d79b5be
Make prev_event signing work again.
2014-10-31 15:35:39 +00:00
Erik Johnston
2f39dc19a2
Remove more references to dead PDU tables
2014-10-31 14:27:14 +00:00
Erik Johnston
bfa36a72b9
Remove PDU tables.
2014-10-31 14:00:32 +00:00
Erik Johnston
946d02536b
Remove unused functions.
2014-10-31 11:45:08 +00:00
Erik Johnston
21fe249d62
Actually don't store any PDUs
2014-10-31 10:47:34 +00:00
Erik Johnston
d84f5b30b8
old_state_events should be a dict not list
2014-10-31 10:47:04 +00:00
Erik Johnston
841df4da71
Don't store any PDUs
2014-10-31 09:59:59 +00:00
Erik Johnston
f2de2d644a
Move the impl of backfill to use events.
2014-10-31 09:59:02 +00:00
Erik Johnston
4a1597f295
Fix bug in redaction auth.
...
This caused a 500 when sending a redaction due to a typo in a method
invocation.
2014-10-31 09:48:59 +00:00
Erik Johnston
12ce441e67
Convert event ids to be of the form :example.com
2014-10-30 17:00:11 +00:00
Erik Johnston
da511334d2
Make federation return the old current state, so that we can use it to do auth
2014-10-30 11:53:35 +00:00
Erik Johnston
ef9c4476a0
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
2014-10-30 11:18:28 +00:00
Mark Haines
7a756e5d9d
Remove unused 'context' variables to appease pyflakes
2014-10-30 11:15:39 +00:00
Mark Haines
7c06399512
Merge branch 'develop' into request_logging
...
Conflicts:
synapse/config/logger.py
2014-10-30 11:13:58 +00:00
Mark Haines
7d709542ca
Fix pep8 warnings
2014-10-30 11:10:17 +00:00
Mark Haines
fa955cc2a4
Pep8 and a few doc strings
2014-10-30 10:13:46 +00:00
Erik Johnston
aa80900a8e
Fix SQL so that accepts we may want to persist events twice.
2014-10-30 10:11:06 +00:00
Mark Haines
b29517bd01
Add a request-id to each log line
2014-10-30 01:21:33 +00:00
Paul "LeoNerd" Evans
beae9acfcc
Use floating-point rather than integer division to handle timeouts so that non-zero but sub-second waits don't collapse to zero
2014-10-29 17:03:02 +00:00
Erik Johnston
53216a500d
Add a run_on_reactor function
2014-10-29 17:02:22 +00:00
Erik Johnston
e7858b6d7e
Start filling out and using new events tables
2014-10-29 16:59:24 +00:00
Paul "LeoNerd" Evans
b1ee6fd7ed
Fix an off-by-one bug in presence event stream pagination; this might be responsible for any number of bug reports
2014-10-29 16:16:01 +00:00
Paul "LeoNerd" Evans
d6bcffa929
Construct a source-specific 'SourcePaginationConfig' to pass into get_pagination_rows; meaning each source doesn't have to care about its own name any more
2014-10-29 16:16:01 +00:00
Paul "LeoNerd" Evans
c5a25f610a
Remove redundant (and incorrect) presence pagination fetching code
2014-10-29 16:16:01 +00:00
Erik Johnston
a10c2ec88d
Don't reference PDU when persisting event
2014-10-28 17:15:32 +00:00
Erik Johnston
2d1dfb3b34
Begin implementing all the PDU storage stuff in Events land
2014-10-28 16:42:35 +00:00
Erik Johnston
da1dda3e1d
Add transaction level logging and timing information. Add a _simple_delete method
2014-10-28 11:18:04 +00:00
Erik Johnston
967ce43b59
Clean up LoggingTransaction
2014-10-28 10:53:11 +00:00
Erik Johnston
8e358ef35a
Add timer to LoggingTransaction
2014-10-28 10:34:05 +00:00
Mark Haines
4841b6d4ba
Remove duplicate join_event from create_room
2014-10-27 16:55:51 +00:00
Erik Johnston
c372929ab6
Remove duplicate import
2014-10-27 16:31:39 +00:00
Erik Johnston
ad9226eeec
Merge branch 'event_signing' of github.com:matrix-org/synapse into federation_authorization
...
Conflicts:
synapse/storage/__init__.py
2014-10-27 11:58:32 +00:00
Mark Haines
5e2236f9ff
fix pyflakes warnings
2014-10-27 11:19:15 +00:00
Mark Haines
acb2d171e8
Merge branch 'develop' into event_signing
2014-10-27 11:14:11 +00:00
Kegan Dougal
f3bb3943c9
Remove test_pyflakes.
2014-10-27 11:13:04 +00:00
Mark Haines
7bd604e3be
Test pyflakes jenikns integration
2014-10-27 10:56:38 +00:00
Mark Haines
d56e389a95
Fix pyflakes warnings
2014-10-27 10:33:17 +00:00
Erik Johnston
bb4a20174c
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
...
Conflicts:
synapse/federation/transport.py
synapse/handlers/message.py
2014-10-27 10:20:44 +00:00
Mark Haines
15be181642
Add log message if we can't enable ECC. Require pyopenssl>=0.14 since 0.13 doesn't seem to have ECC
2014-10-24 19:27:12 +01:00
Mark Haines
db2e350e29
Wrap preparing the database in a transaction. Otherwise it will take many seconds to complete because sqlite will create a transaction per statement
2014-10-24 19:04:26 +01:00
David Baker
51edfeb3d0
Coturn's timestamps are in seconds, not milliseconds
2014-10-21 18:57:13 +01:00
Mark Haines
4be99c2989
Add get_json method to 3pid http client. Better logging for errors in 3pid requests
2014-10-20 14:10:08 +01:00
Mark Haines
9c0826592c
Fix auto generating signing_keys
2014-10-18 16:56:44 +01:00
Erik Johnston
b3e6cd59a1
Bump the other version
2014-10-18 00:29:55 +02:00
Erik Johnston
ac9345b47a
Check that we have auth headers and fail nicely
2014-10-17 21:00:58 +01:00
Erik Johnston
cd198dfea8
More log lines.
2014-10-17 20:58:47 +01:00
Mark Haines
3187b5ba2d
add log line for checking verifying signatures
2014-10-17 20:56:21 +01:00
Erik Johnston
71e6a94af7
Bump version and changelog
2014-10-17 20:26:26 +01:00
Erik Johnston
5662be894e
Bump database version number.
2014-10-17 20:26:18 +01:00
Erik Johnston
bf8cdda2f5
It doesn't want a dict
2014-10-17 20:10:34 +01:00
Mark Haines
8afbece683
Remove signatures from pdu when computing hashes to use for prev pdus, make sure is_state is a boolean.
2014-10-17 19:41:32 +01:00
Erik Johnston
b3b1961496
Fix bug where people could join private rooms
2014-10-17 19:37:41 +01:00
Erik Johnston
5ffe5ab43f
Use state groups to get current state. Make join dance actually work.
2014-10-17 18:56:42 +01:00
Mark Haines
dc3c2823ac
Merge branch 'develop' into event_signing
...
Conflicts:
synapse/federation/replication.py
2014-10-17 17:33:58 +01:00
Mark Haines
82c5820767
keep 'origin_server_ts' as 'ts' in the database to avoid needlessly updating schema
2014-10-17 17:31:48 +01:00
Mark Haines
f5cf7ac25b
SPEC-7: Rename 'ts' to 'origin_server_ts'
2014-10-17 17:12:25 +01:00
Mark Haines
456017e0ae
SPEC-7: Don't stamp event contents with 'hsob_ts'
2014-10-17 16:55:55 +01:00
Mark Haines
c5cec1cc77
Rename 'meta' to 'unsigned'
2014-10-17 16:50:04 +01:00
Mark Haines
4d1a7624f4
move 'age' into 'meta' subdict so that it is clearer that it is not part of the signed data
2014-10-17 15:27:11 +01:00
Erik Johnston
f71627567b
Finish implementing the new join dance.
2014-10-17 15:04:17 +01:00
Mark Haines
c8f996e29f
Hash the same content covered by the signature when referencing previous PDUs rather than reusing the PDU content hashes
2014-10-17 11:40:35 +01:00
Mark Haines
bb04447c44
Include hashes of previous pdus when referencing them
2014-10-16 23:25:12 +01:00
Erik Johnston
1116f5330e
Start implementing the invite/join dance. Continue moving auth to use event.state_events
2014-10-16 16:56:51 +01:00
Mark Haines
66104da10c
Sign outgoing PDUs.
2014-10-16 00:09:48 +01:00
Mark Haines
1c445f88f6
persist hashes and origin signatures for PDUs
2014-10-15 17:09:04 +01:00
Erik Johnston
e7bc1291a0
Begin making auth use event.old_state_events
2014-10-15 16:06:59 +01:00
Mark Haines
27d0c1ecc2
Merge branch 'develop' into event_signing
2014-10-15 13:57:12 +01:00
Erik Johnston
80472ac198
Add missing package storate.state
2014-10-15 10:04:55 +01:00
Erik Johnston
5fefc12d1e
Begin implementing state groups.
2014-10-14 16:59:51 +01:00
Paul "LeoNerd" Evans
13b560971e
Make sure to return an empty JSON object ({}) from presence PUT/POST requests rather than an empty string ("") because most deserialisers won't like the latter
2014-10-14 16:48:15 +01:00
Mark Haines
9aed791fc3
SYN-103: Ignore the 'origin' key in received EDUs. Instead take the origin from the transaction itself
2014-10-14 16:44:27 +01:00
Mark Haines
3dac27a8a9
Storage for pdu signatures
2014-10-14 14:58:31 +01:00
Mark Haines
f74e850b5c
remove debugging logging for signing requests
2014-10-14 11:46:13 +01:00
Mark Haines
34034af1c9
Better response message when signature is missing or unsupported
2014-10-13 16:47:23 +01:00
Mark Haines
07639c79d9
Respond with more helpful error messages for unsigned requests
2014-10-13 16:39:15 +01:00
Mark Haines
25d80f35f1
Raise a SynapseError if the authorisation header is missing or malformed
2014-10-13 15:53:18 +01:00
Mark Haines
75e517a2da
Remove debug logging, raise a proper SynapseError if the auth header is missing
2014-10-13 15:41:20 +01:00
Mark Haines
6684855767
Verify signatures for server2server requests
2014-10-13 14:37:46 +01:00
Mark Haines
10ef8e6e4b
SYN-75 sign at the request level rather than the transaction level
2014-10-13 11:49:55 +01:00
Mark Haines
cecda27d73
Merge branch 'develop' into server2server_signing
2014-10-13 11:06:36 +01:00
Mark Haines
984e207b59
Merge branch develop into server2server_signing
...
Conflicts:
synapse/app/homeserver.py
2014-10-13 10:58:50 +01:00
Mark Haines
693d0b8f45
Replace on_send_callback with something a bit clearer so that we can sign messages
2014-10-13 10:49:04 +01:00
Mark Haines
b9cdc443d7
Fix pyflakes errors
2014-10-02 14:37:30 +01:00
Mark Haines
574377636e
Add a keyword argument to get_json to avoid retrying on DNS failures. Rather than passing MatrixHttpClient.RETRY_DNS_LOOKUP_FAILURES as a fake query string parameter
2014-10-02 14:26:13 +01:00
David Baker
9435830351
Merge branch 'master' into develop
2014-10-02 14:11:17 +01:00
David Baker
d694619a95
Fix ncorrect ports in documentation and add notes on how generate-config also generates certs bound to whatever hostname you give with --generate-config.
...
SYN-87 #resolved
2014-10-02 14:09:27 +01:00
Mark Haines
4f11518934
Split PlainHttpClient into separate clients for talking to Identity servers and talking to Capatcha servers
2014-10-02 14:03:26 +01:00
Mark Haines
099083ea6b
Merge remote-tracking branch 'origin/master' into develop
2014-10-02 10:46:41 +01:00
David Baker
7a322b6326
Update README setup instructions to be correct. Make synapse spit out explanatory note when generating config to tell people to look at it and customise it.
2014-10-02 10:43:22 +01:00
Mark Haines
c8d67beb9c
remove "red", "blue" and "green" server_name mappings
2014-10-01 15:52:07 +01:00
Mark Haines
9605593d11
Merge branch 'develop' into server2server_signing
...
Conflicts:
synapse/storage/__init__.py
tests/rest/test_presence.py
2014-09-30 17:55:06 +01:00
Mark Haines
b95a178584
SYN-75 Verify signatures on server to server transactions
2014-09-30 15:15:10 +01:00
Erik Johnston
fbf6320614
pyflakes cleanup
2014-09-30 12:38:38 +01:00
Erik Johnston
e06adc6d7e
SYN-2: Allow server admins to delete room aliases
2014-09-30 11:31:42 +01:00
Erik Johnston
7151615260
Update docstring
2014-09-29 15:35:54 +01:00
Erik Johnston
1550ab9e2f
SYN-48: Delete dead code
2014-09-29 15:04:47 +01:00
Erik Johnston
1132663cc7
SYN-48: Fix typo. Get the whois for requested user rather tahan the requester
2014-09-29 15:04:04 +01:00
Erik Johnston
3ccb17ce59
SYN-48: Implement WHOIS rest servlet
2014-09-29 14:59:52 +01:00
Erik Johnston
c65306f877
Add auth check to test if a user is an admin or not.
2014-09-29 13:35:38 +01:00
Erik Johnston
f7d80930f2
SYN-48: Track User-Agents as well as IPs for client devices.
2014-09-29 13:35:15 +01:00
Erik Johnston
0fdf308874
Track the IP users connect with. Add an admin column to users table.
2014-09-26 16:36:24 +01:00
David Baker
ec5fb77a66
Just use a yaml list for turn servers
2014-09-25 19:18:32 +02:00
Erik Johnston
3b0fb6aae8
Bump version and changelog
2014-09-25 18:05:06 +01:00
Erik Johnston
37bfe44046
Merge branch 'deletions' of github.com:matrix-org/synapse into develop
2014-09-25 17:02:53 +01:00
Erik Johnston
dcadfbbd4a
Don't strip out null's in serialized events, as that is not need anymore and it's not in the spec (yet)
2014-09-25 17:00:17 +01:00
Erik Johnston
69ddec6589
Don't strip of False values from events when serializing
2014-09-25 16:49:02 +01:00
Erik Johnston
c818aa13eb
Add LIMIT to scalar subquery
2014-09-25 15:51:21 +01:00
Erik Johnston
ba87eb6753
Fix bug where we tried to insert state events with null state key
2014-09-25 14:45:27 +01:00
David Baker
c58eb0d5a3
Merge branch 'turn' into develop
2014-09-25 13:09:56 +01:00
Erik Johnston
1ca51c8586
SYN-46: An invite received from fedearation didn't wake up the event stream for the invited user.
2014-09-25 13:01:05 +01:00
David Baker
a31bf77776
Make turn server endpoint return an empty object if no turn servers to
...
match the normal response. Don't break if the turn_uris option isn't
present.
2014-09-25 11:24:49 +02:00
Mark Haines
52ca867670
Sign federation transactions
2014-09-24 17:25:41 +01:00
Erik Johnston
72eb360f2d
Don't set the room name to be the room alias on room creation if the client didn't supply a name
2014-09-24 16:59:57 +01:00
David Baker
7dc7c53029
The REST API spec only alows for returning a single server so name the
...
endpoint appropriately.
2014-09-24 17:28:47 +02:00
Erik Johnston
327dcc98e3
SYN-70: And fix another bug where I can't type
2014-09-24 16:19:29 +01:00
Erik Johnston
87deaf1658
SYN-70: Fix typo
2014-09-24 16:15:58 +01:00
David Baker
4553651138
Oops
2014-09-24 17:04:33 +02:00
David Baker
5383ba5587
rename endpoint to better reflect what it is and allow specifying multiple uris
2014-09-24 16:01:36 +01:00
Erik Johnston
70899d3ab2
Rename deletions to redactions
2014-09-24 15:27:59 +01:00
David Baker
b42b0d3fe5
Use standard base64 encoding with padding to get the same result as
...
coturn.
2014-09-24 15:29:24 +02:00
Erik Johnston
7d9a84a445
Make deleting deletes not undelete
2014-09-24 14:18:08 +01:00
Erik Johnston
1e6c5b205c
Fix bug where we didn't correctly pull out the event_id of the deletion
2014-09-24 13:29:20 +01:00
Erik Johnston
4e79b09dd9
Fill out the prune_event method.
2014-09-24 11:37:14 +01:00
Erik Johnston
4354590a69
Add v4 deltas to current sql.
2014-09-24 11:06:41 +01:00
Paul "LeoNerd" Evans
a7d53227de
Bugfix for older Pythons that lack hmac.compare_digest()
2014-09-23 19:07:16 +01:00
Mark Haines
bf4b224fcf
Fix a few pyflakes errors in the server_key_resource
2014-09-23 18:43:34 +01:00
Mark Haines
e3117a2a23
Add a _matrix/key/v1 resource with the verification keys of the local server
2014-09-23 18:43:34 +01:00
Mark Haines
c6a8e7d9b9
Read signing keys using methods from syutil. convert keys that are in the wrong format
2014-09-23 18:43:34 +01:00
David Baker
c96ab4fcbb
The config is not hierarchical
2014-09-23 19:17:24 +02:00
Erik Johnston
efea61dc50
Rename 'pruned' to 'pruned_because'
2014-09-23 17:40:58 +01:00
Erik Johnston
bc250a6afa
SYN-12: Implement auth for deletion by adding a 'delete_level' on the ops levels event
...
SYN-12 # comment Auth has been added.
2014-09-23 17:36:24 +01:00
David Baker
14ed6799d7
Add support for TURN servers as per the TURN REST API ( http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00 )
2014-09-23 17:16:13 +01:00
Paul "LeoNerd" Evans
c0673c50e6
Merge branch 'jira/SYN-60' into develop
2014-09-23 16:15:54 +01:00
Paul "LeoNerd" Evans
c03176af59
Send an HMAC(SHA1) protecting the User ID for the ReCAPTCHA bypass, rather than simply the secret itself, so it's useless if that HMAC leaks
2014-09-23 15:58:44 +01:00
Erik Johnston
932b376b4e
Add prune_event method
2014-09-23 15:37:32 +01:00
Kegan Dougal
0c4ae63ad5
Implemented /rooms/$roomid/state API.
2014-09-23 15:35:58 +01:00
Erik Johnston
b99f6eb904
Make sure we don't persist the 'pruned' key
2014-09-23 15:29:27 +01:00
Erik Johnston
78af6bbb98
Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed.
2014-09-23 15:28:32 +01:00
Paul "LeoNerd" Evans
537c7e1137
Config values are almost never 'None', but they might be empty string. Detect their presence by truth
2014-09-23 15:18:59 +01:00
Paul "LeoNerd" Evans
5f16439752
Make sure the config actually /has/ a captcha_bypass_secret set before trying to compare it
2014-09-23 15:16:47 +01:00
Paul "LeoNerd" Evans
3a8a94448a
Allow a (hidden undocumented) key to m.login.recaptcha to specify a shared secret to allow bots to bypass the ReCAPTCHA test (SYN-60)
2014-09-23 14:29:08 +01:00
Erik Johnston
176e3fd141
Bump versions and changelog
2014-09-22 17:42:09 +01:00
Erik Johnston
231afe464a
Add a deletions table
2014-09-22 13:42:52 +01:00
Erik Johnston
28bcd01e8d
SYN-47: Fix bug where we still returned events for rooms we had left.
...
SYN-47 #resolve
2014-09-19 14:45:21 +01:00
Kegan Dougal
3fa01be9e4
formatting
2014-09-19 12:04:26 +01:00
Erik Johnston
e0f060d89b
Merge branch 'master' of github.com:matrix-org/synapse into develop
2014-09-18 16:22:14 +01:00
Erik Johnston
380852b58e
Bump Changelog and version
2014-09-18 16:20:53 +01:00
Erik Johnston
79a5fb469b
Merge branch 'master' of github.com:matrix-org/synapse into develop
2014-09-18 14:52:19 +01:00
Erik Johnston
9fd0c74e90
Bump changelog and versions
2014-09-18 14:46:23 +01:00
Erik Johnston
335e5d131c
Merge branch 'test-sqlite-memory' of github.com:matrix-org/synapse into develop
...
Conflicts:
tests/handlers/test_profile.py
2014-09-18 14:31:47 +01:00
Paul "LeoNerd" Evans
4571cf7baa
Merge branch 'develop' into test-sqlite-memory
2014-09-17 18:27:47 +01:00
Erik Johnston
10b4291b54
Bump versions
2014-09-17 17:49:01 +01:00
Kegan Dougal
c707b7d128
SYWEB-3 : Added 'visibility' key to rooms returned via /initialSync
2014-09-17 16:09:07 +01:00
Paul "LeoNerd" Evans
9973298e2a
Print expected-vs-actual data types on typecheck failure from check_json()
2014-09-17 15:27:45 +01:00
Erik Johnston
b6818fd4d2
SYN-40: When a user updates their displayname or avatar update all their join events for all the rooms they are currently in.
2014-09-17 15:05:14 +01:00
Kegan Dougal
c099b36af3
Comment out password reset for now, until the mechanism is fully discussed (IS token auth vs HS auth)
2014-09-16 13:32:33 +01:00
Kegan Dougal
cc83b06cd1
Added support for the HS to send emails. Use it to send password resets. Added email_smtp_server and email_from_address config args. Added emailutils.
2014-09-16 12:36:39 +01:00
Kegan Dougal
5f30a69a9e
Added PasswordResetRestServlet. Hit the IS to confirm the email/user. Need to send email.
2014-09-16 11:22:40 +01:00
Erik Johnston
1e4b971f95
Fix bug where we didn't always get 'prev_content' key
2014-09-15 17:43:46 +01:00
Erik Johnston
40d2f38abe
Fix bug where we incorrectly calculated 'age_ts' from 'age' key rather than the reverse. Don't transmit age_ts to clients for now.
2014-09-15 16:55:39 +01:00
Erik Johnston
59516a8bb1
Correctly handle receiving 'missing' Pdus from federation, rather than just discarding them.
2014-09-15 16:40:44 +01:00
Erik Johnston
e639a3516d
Improve logging in federation handler.
2014-09-15 16:24:03 +01:00
Erik Johnston
6ac0b4ade8
Fix 'age' key to update on retries
2014-09-15 16:24:03 +01:00
Kegan Dougal
34d7896b06
More helpful 400 error messages.
2014-09-15 16:05:51 +01:00
Kegan Dougal
2c00e1ecd9
Be consistent when associating keys with login types for registration/login.
2014-09-15 15:38:29 +01:00
Kegan Dougal
14bc4ed59f
Merge branch 'develop' of github.com:matrix-org/synapse into registration-api-changes in preparation for re-merge to develop.
2014-09-15 15:27:58 +01:00
Kegan Dougal
04fbda46dd
Make captcha work again with the new registration logic.
2014-09-15 14:52:39 +01:00
Paul "LeoNerd" Evans
b0406b9ead
Merge remote-tracking branch 'origin/develop' into test-sqlite-memory
2014-09-15 14:15:10 +01:00
Erik Johnston
5bd9369a62
Correctly handle the 'age' key in events and pdus
2014-09-15 13:26:11 +01:00
Kegan Dougal
285ecaacd0
Split out password/captcha/email logic.
2014-09-15 12:42:36 +01:00
Kegan Dougal
34878bc26a
Added LoginType constants. Created general structure for processing registrations.
2014-09-15 10:23:20 +01:00
Erik Johnston
afb7f173cf
Bump version and change log
2014-09-12 18:13:05 +01:00
Erik Johnston
14975ce5bc
Fix bug where we relied on the current_state_events being updated when we are handling type specific persistence
2014-09-12 17:57:02 +01:00
Erik Johnston
667e747ed1
Fix bug where we no longer stored user_id on Pdus
2014-09-12 17:56:21 +01:00
Paul "LeoNerd" Evans
1c51c8ab7d
Merge remote-tracking branch 'origin/develop' into test-sqlite-memory
...
Conflicts:
synapse/storage/pdu.py
2014-09-12 17:20:06 +01:00
Erik Johnston
39e3fc69e5
Make the state resolution use actual power levels rather than taking them from a Pdu key.
2014-09-12 17:11:09 +01:00
Erik Johnston
b42fe05c51
Fix bug where we incorrectly removed a remote host from the list of hosts in a room when any user from that host left that room even if they weren't the last user from that host in that room
2014-09-12 17:11:09 +01:00
Erik Johnston
ca1ae7cf9b
Fix bug where we didn't return a tuple when expected.
2014-09-12 17:11:09 +01:00
Paul "LeoNerd" Evans
aa525e4a63
More accurate docs / clearer paramter names in RoomMemberStore
2014-09-12 16:43:49 +01:00
Paul "LeoNerd" Evans
a87eac4308
Revert recent changes to RoomMemberStore
2014-09-12 15:51:51 +01:00
Paul "LeoNerd" Evans
a840ff8f3f
Now don't need the other logger.debug() call in _execute
2014-09-12 14:38:27 +01:00
Paul "LeoNerd" Evans
1c20249884
Logging of all SQL queries via the 'synapse.storage.SQL' logger
2014-09-12 14:37:55 +01:00
Paul "LeoNerd" Evans
e53d77b501
Add a .runInteraction() method on SQLBaseStore itself to wrap the .db_pool
2014-09-12 14:28:07 +01:00
Paul "LeoNerd" Evans
249e8f2277
Add a better _store_room_member_txn() method that takes separated fields instead of an event object; also add FIXME comment about a big bug in the logic
2014-09-11 18:52:35 +01:00
Paul "LeoNerd" Evans
aaf9ab68c6
Rename _store_room_member_txn to _store_room_member_from_event_txn so we can create another, more sensible function of that name
2014-09-11 18:44:04 +01:00
Paul "LeoNerd" Evans
55397f6347
prepare_database() on db_conn, not plain name, so we can pass in the connection from outside
2014-09-10 16:23:58 +01:00
Paul "LeoNerd" Evans
2faffc52ee
Make sure not to open our TCP ports until /after/ the DB is nicely prepared ready for use
2014-09-10 16:16:24 +01:00
Paul "LeoNerd" Evans
6c1f0055dc
No need for a tiny run() function any more, just use reactor.run() directly
2014-09-10 16:07:44 +01:00
Paul "LeoNerd" Evans
ce55a8cc4b
Move database preparing code out of homserver.py into storage where it belongs
2014-09-10 15:42:15 +01:00
Erik Johnston
a75f8686ba
Fix bug where we used an unbound local variable if we ended up rolling back the persist_event transaction
2014-09-09 16:27:59 +01:00
Erik Johnston
e062f2dfa8
Apparently we can't do txn.rollback(), so raise and catch an exception instead.
2014-09-08 22:37:19 +01:00
Kegan Dougal
76fe7d4eba
Added num_joined_users key to /publicRooms for each room. Show this information in the webclient.
2014-09-08 12:15:29 -07:00
Erik Johnston
942d8412c4
Handle the case where we don't have a common ancestor
2014-09-08 20:13:27 +01:00
Erik Johnston
83ce57302d
Fix bug in state handling where we incorrectly identified a missing pdu. Update tests to catch this case.
2014-09-08 19:50:59 +01:00
Erik Johnston
c0577ea87a
Rollback if we try and insert duplicate events
2014-09-08 18:34:18 +01:00
Erik Johnston
768ff1a850
Fix race in presence handler where we evicted things from cache while handling a key therein
2014-09-08 11:28:50 +02:00
Erik Johnston
7735aad9d6
Bump version and changelog
2014-09-08 11:28:50 +02:00
Erik Johnston
2205aba3ed
Fix bug where we used an event_id as a pdu_id
2014-09-06 07:41:51 +01:00
Kegan Dougal
1a298aad9c
Added captcha support on both the HS and web client.
...
Merge branch 'captcha' of github.com:matrix-org/synapse into develop
2014-09-05 23:32:51 -07:00
Kegan Dougal
b5749c75d9
Reload captchas when they fail. Cleanup on success.
2014-09-05 23:08:39 -07:00
Kegan Dougal
3ea6f01b4e
80 chars please
2014-09-05 22:55:29 -07:00
Kegan Dougal
37e53513b6
Add config opion for XFF headers when performing ReCaptcha auth.
2014-09-05 22:51:11 -07:00
Kegan Dougal
1829b55bb0
Captchas now work on registration. Missing x-forwarded-for config arg support. Missing reloading a new captcha on the web client / displaying a sensible error message.
2014-09-05 19:18:23 -07:00
Erik Johnston
6d19fe1481
Fix generation of event ids so that they are consistent between local and remote ids
2014-09-06 02:48:13 +01:00
Erik Johnston
781ff713ba
When getting a state event also include the previous content
2014-09-06 02:23:36 +01:00
Kegan Dougal
0b9e1e7b56
Added a captcha config to the HS, to enable registration captcha checking and for the recaptcha private key.
2014-09-05 17:58:06 -07:00
Erik Johnston
f47f42090d
Add support for inviting people when you create a room
2014-09-06 01:10:07 +01:00
Erik Johnston
480438eee6
Validate power levels event changes. Change error messages to be more helpful. Fix bug where we checked the wrong power levels
2014-09-05 21:54:16 +01:00
Erik Johnston
9dd4570b68
Generate m.room.aliases event when the HS creates a room alias
2014-09-05 21:35:56 +01:00
Erik Johnston
982604fbf2
Empty string is not a valid JSON object, so don't return them in HTTP responses.
2014-09-05 17:13:26 +01:00
Erik Johnston
250ee2ea7d
AUth the contents of power level events
2014-09-05 17:13:19 +01:00
Erik Johnston
95037d8d9d
Change the default power levels to be 0, 50 and 100
2014-09-05 17:13:03 +01:00
Erik Johnston
300816ffa1
Bump versions. Update change logs.
2014-09-03 19:39:45 +01:00
Paul "LeoNerd" Evans
4c3512a45c
Added a TODO note about YAML modeline for editors
2014-09-03 19:30:48 +01:00
Erik Johnston
bcaea74352
Error code must be an integer
2014-09-03 19:19:24 +01:00
Erik Johnston
c9d1ee24ca
Import SynapseError
2014-09-03 19:15:55 +01:00
Erik Johnston
9b18151104
Handle timeouts slightly nicer.
2014-09-03 19:13:41 +01:00
Erik Johnston
5b645f9d34
Don't do auth for change_membership in federation handler, it doesn't work and federation doesn't do auth in general either. Add a hacky timeout when trying to join a remote room.
2014-09-03 19:08:39 +01:00
Erik Johnston
dce6395395
When creating a room and a user supplies a room_alias but no name, use the room_alias as the name.
2014-09-03 18:52:34 +01:00
David Baker
d72ce4da64
Merge branch 'develop' of github.com:matrix-org/synapse into develop
...
Conflicts:
synapse/http/client.py
2014-09-03 18:25:17 +01:00
David Baker
d6ecbbdf0a
Add support for registering with a threepid to the HS (get credentials from the client and check them against an ID server).
2014-09-03 18:22:27 +01:00
Paul "LeoNerd" Evans
d703e712f7
Add support to _simple_insert() to do INSERT OR REPLACE
2014-09-03 18:18:41 +01:00
Erik Johnston
1b491e50c9
Implement a kick api
2014-09-03 17:46:52 +01:00
Paul "LeoNerd" Evans
4081413876
Default PID file should be 'homeserver.pid' to match the other 'homeserver.*' naming convention
2014-09-03 17:34:07 +01:00
Matthew Hodgson
8a7c1d6a00
fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org hasn't been incorporated in time for launch.
2014-09-03 17:31:57 +01:00
Mark Haines
ee2bcdec65
Limit the size of uploads
2014-09-03 17:04:16 +01:00
Kegan Dougal
beaf50f5c6
Bubble up SynapseErrors so expected failures aren't masked.
2014-09-03 16:31:01 +01:00
Kegan Dougal
581c54bebe
Add exception handling to directory servlet, so we don't 500. Mark directory API as volatile in the api docs.
2014-09-03 16:27:01 +01:00
Erik Johnston
30bcbc433a
Fix up directory server to not require uploading room hosts. Update the room hosts table with the current room hosts (if we have them) on GET.
2014-09-03 16:04:27 +01:00
Erik Johnston
b5f9d47c89
Handle new state events which don't have a common ancestor
2014-09-03 15:50:05 +01:00
Erik Johnston
e4c40158c5
Snapshot prev_state for generic events
2014-09-03 15:48:51 +01:00
Paul "LeoNerd" Evans
cda31fb755
Kill the state
...
... key from all the Presence messages
2014-09-03 15:37:10 +01:00
Paul "LeoNerd" Evans
dada11dc5f
Bugfix for back-pagination of presence
2014-09-03 15:28:03 +01:00
Kegan Dougal
7fc84c7019
Make retrying requests on DNS failures configurable, and turn off retrying only in directory.get_association
2014-09-03 14:26:52 +01:00
Paul "LeoNerd" Evans
756e171ad0
Store SQL DDL deltas as well; attempt to upgrade the database on startup if it's too old
2014-09-03 14:14:39 +01:00
Kegan Dougal
b1195c125f
hs: Updated synapse.http.client to handle DNSLookupErrors and bail immediately.
2014-09-03 13:51:17 +01:00
Paul "LeoNerd" Evans
da31b96b55
Implement presence state visibilty limiting when polling eventsource for stream
2014-09-03 13:46:52 +01:00
Paul "LeoNerd" Evans
86d6232236
Don't eat federation transmit errors during unit tests; fix remote presence EDU-sending test because of this
2014-09-03 13:46:52 +01:00
Paul "LeoNerd" Evans
061e814195
Make sure to print exceptions properly from notifier failures
2014-09-03 13:46:52 +01:00
Kegan Dougal
cd0afb85c4
Updated feedback api docs and fixed feedback content template bug
2014-09-03 13:08:17 +01:00
Kegan Dougal
dfea1730dc
apidocs: mtime_age > last_active_ago. Presence REST: Sanity check values in invite/drop arrays.
2014-09-03 12:09:20 +01:00
Erik Johnston
b50ea730b1
Merge branch 'develop' of github.com:matrix-org/synapse into develop
...
Conflicts:
synapse/http/server.py
synapse/http/content_repository.py
2014-09-03 12:01:14 +01:00
Erik Johnston
bc21350298
Add option to change content repo location
2014-09-03 11:57:23 +01:00
Kegan Dougal
10afd895c4
Edited /presence REST servlet to raise SynapseErrors to return a standard error response, rather than a string.
2014-09-03 11:56:47 +01:00
Kegan Dougal
c54d8df504
Update API docs to use 'presence' key not 'state'. Fixed error messages when setting presence.
2014-09-03 11:45:30 +01:00
Kegan Dougal
acfabfff9c
Fixed /presence APIs to urldecode user IDs.
2014-09-03 11:31:48 +01:00
Kegan Dougal
65693e9e15
Fixed GET /events/$id to be not broken.
2014-09-03 11:24:45 +01:00
Mark Haines
bf10cf5f1a
move contentrepo class to it's own file
2014-09-03 11:10:44 +01:00
Kegan Dougal
2385d396c3
URL decode user IDs for /profile REST path segments.
2014-09-03 11:05:29 +01:00
Paul "LeoNerd" Evans
da3e04df8b
Rename the 'do_users_share_a_room' to something slightly less verb-sounding
2014-09-03 10:40:48 +01:00
Paul "LeoNerd" Evans
967b45bc1a
Allow optional non-suppression of exceptions through the Distributor
2014-09-03 10:40:21 +01:00
Paul "LeoNerd" Evans
ddf3ca7ab3
Neater is_presence_visible() code
2014-09-03 10:40:21 +01:00
Erik Johnston
ddc16d8642
Merge branch 'master' into develop
2014-09-03 09:46:39 +01:00
Kegan Dougal
c77add6d21
Add ban support: /rooms/$roomid/ban with { user_id : foo }
2014-09-03 09:43:32 +01:00
Mark Haines
c6eafdfbaf
Add copyright notices and fix pyflakes errors
2014-09-03 09:43:11 +01:00
Mark Haines
112c7ea315
Set status message for ratelimit error responses
2014-09-03 09:37:44 +01:00
Mark Haines
30ad0c5674
Merge branch 'ratelimiting' into develop
2014-09-03 09:15:52 +01:00
Mark Haines
683596f91e
Raise LimitExceedError when the ratelimiting is throttling requests
2014-09-03 08:58:48 +01:00
Mark Haines
780548b577
rate limiting for message sending
2014-09-02 18:22:15 +01:00
Mark Haines
0a1260b03a
Add ratelimiting config
2014-09-02 18:00:15 +01:00
Mark Haines
c7a7cdf734
Add ratelimiting function to basehandler
2014-09-02 17:57:04 +01:00
Erik Johnston
e166e29e87
Bump version and changelog
2014-09-02 16:57:10 +01:00
Erik Johnston
235f686da9
Update default endpoint port to match the default ports in the config
2014-09-02 16:56:57 +01:00
Erik Johnston
464e1fcfa5
Merge branch 'master' of github.com:matrix-org/synapse into release-v0.2.0
...
Conflicts:
synapse/notifier.py
webclient/room/room-controller.js
webclient/room/room.html
2014-09-02 15:26:11 +01:00
Mark Haines
dd2cd9312a
Test ratelimiter
2014-09-02 15:16:26 +01:00
Paul "LeoNerd" Evans
aa337f588c
Order matters when adding REST servlets
2014-09-02 12:53:36 +01:00
Erik Johnston
4b8244fbf8
Fix bug where we didn't correctly store the ops power levels event.
2014-09-02 12:12:14 +01:00
David Baker
5c778f2f15
Add rest endpoint for the whole user profile
2014-09-02 11:49:17 +01:00
Paul "LeoNerd" Evans
d9d6fbb085
Safer handling of incoming presence EDUs that may or maynot contain 'presence' or 'state'
2014-09-02 11:17:43 +01:00
Mark Haines
436b3c7d0c
Ratelimiter object
2014-09-02 11:16:21 +01:00
Paul "LeoNerd" Evans
7b56a7a3cb
'continue' to go to the next item in a for loop, not 'break'
2014-09-02 11:15:46 +01:00
Erik Johnston
10e7821461
By default, only room ops can change the name and topic.
2014-09-02 11:11:47 +01:00
Mark Haines
cf890e9d43
Remove option for disabling webclient because it was confusing
2014-09-02 11:09:41 +01:00
Erik Johnston
db02021aba
Implement auth for kicking.
2014-09-02 10:58:33 +01:00
Erik Johnston
ed25abe05f
Add message to assertion
2014-09-02 10:58:33 +01:00
Erik Johnston
08d2f902dd
Default HTTP and HTTPS ports to 8008 and 8448
2014-09-02 10:58:33 +01:00
Mark Haines
45570e4695
os.makedirs is almost but not entirely unlike mkdir -p
2014-09-02 10:58:05 +01:00
Mark Haines
64b341cc10
Fix typo when reading TLS config
2014-09-02 10:54:56 +01:00
Mark Haines
30572e28c2
Make the config directory if the directory doesn't exisit when generating config
2014-09-02 10:52:25 +01:00
Mark Haines
d45f89c95b
More helpful error messages for missing config
2014-09-02 10:49:11 +01:00
Erik Johnston
040d985908
Add support for setting room name and topic when creating rooms
2014-09-02 10:02:14 +01:00
Matthew Hodgson
68a04b9282
given everything's apparently gone https:// by default for c-s, change this hardcoding...
2014-09-01 23:28:43 +01:00
Mark Haines
399e004884
Add unsecure listener port to homeserver
2014-09-01 22:38:52 +01:00
Mark Haines
79650f795f
enable ECDHE ciphers
2014-09-01 22:29:44 +01:00
Paul "LeoNerd" Evans
270d302834
Reënable presence visibility permission checking now it's not used on redundant code paths
2014-09-01 22:15:02 +01:00
Paul "LeoNerd" Evans
32fdf8efd6
No need to test is_presence_visible in _start_polling_local because we know it will be by when it's called
2014-09-01 22:15:02 +01:00
Matthew Hodgson
61e28cdb6f
specify metavars in argparse
2014-09-01 22:11:08 +01:00
Mark Haines
6fd730c96b
Use yaml for config file
2014-09-01 20:44:51 +01:00
Erik Johnston
48142a01dd
Don't set a 'default' key in the creation event
2014-09-01 20:39:43 +01:00
Mark Haines
8b69468e5f
Use pregenerated DH params when generating config
2014-09-01 20:35:18 +01:00
Erik Johnston
bcfaaf7da6
That was a breaking db change. You need to recreate the databases. (In reality, it's enough to just run the im.sql through your db and change the schema version)
2014-09-01 20:34:07 +01:00
Erik Johnston
6d28560626
Don't put required power levels on permission state events
2014-09-01 20:27:45 +01:00
Erik Johnston
f452899fe2
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-09-01 19:57:28 +01:00
Mark Haines
5452a8ee29
Fix SSL for federation http client
2014-09-01 18:43:08 +01:00
Mark Haines
a53946a8a1
Enable SSL for s2s http client
2014-09-01 18:30:00 +01:00
Erik Johnston
b8ab9f1c0a
Add all the necessary checks to make banning work.
2014-09-01 18:24:56 +01:00
Erik Johnston
3faa2ae78c
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-09-01 18:21:29 +01:00
Mark Haines
6200630904
Add server TLS context factory
2014-09-01 17:55:35 +01:00
Mark Haines
46dcb0d890
Merge branch 'develop' into server2server_tls
2014-09-01 16:31:09 +01:00
Mark Haines
ef6a8e4f32
Listen using SSL
2014-09-01 16:30:43 +01:00
Paul "LeoNerd" Evans
1c6ab2d759
Bump a user's presence last_active time every time they send a message to a room
2014-09-01 16:16:35 +01:00
Erik Johnston
db7109c43b
Add beginnings of ban support.
2014-09-01 16:15:34 +01:00
Paul "LeoNerd" Evans
fd696f1243
Perform room unit tests with 'local' users actually in the right domain ;)
2014-09-01 15:58:30 +01:00
Mark Haines
f5755bcadf
Merge branch 'develop' into server2server_tls
2014-09-01 15:51:44 +01:00
Mark Haines
9ea1de432d
Fix homeserver config parsing
2014-09-01 15:51:15 +01:00
Paul "LeoNerd" Evans
468d94c920
Rename API-visible 'mtime' presence field to 'last_active'; slightly different semantics
2014-09-01 15:39:50 +01:00
Paul "LeoNerd" Evans
02f4e3b3ff
Rename 'state' presence key to the much more obvious 'presence'; maintain a legacy 'state' copy for now
2014-09-01 14:45:41 +01:00
Erik Johnston
865469f233
Implement power level lists, default power levels and send_evnet_level/add_state_level events.
2014-09-01 14:39:09 +01:00
Erik Johnston
10efca1a74
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-09-01 13:41:44 +01:00
Mark Haines
a9512d0994
Merge branch 'develop' into server2server_tls
2014-09-01 13:29:17 +01:00
Mark Haines
3eb45eba0e
Merge branch 'develop' into server2server_tls
2014-08-31 16:08:20 +01:00
Mark Haines
d9ebe531ed
Add config tree to synapse. Add support for reading config from a file
2014-08-31 16:06:39 +01:00
Matthew Hodgson
2b7918bd6f
missed a s#/matrix#/_matrix/g
2014-08-31 14:54:58 +01:00
Matthew Hodgson
8fe912d95c
change the world: make the default matrix API URL prefix /_matrix rather than /matrix to make it easier for existing websites to mount a HS in their namespace without collisions.
...
perl -pi -e 's#/matrix#/_matrix#g' ./cmdclient/console.py ./docs/client-server/howto.rst ./docs/client-server/specification.rst ./docs/client-server/swagger_matrix/directory ./docs/client-server/swagger_matrix/events ./docs/client-server/swagger_matrix/login ./docs/client-server/swagger_matrix/presence ./docs/client-server/swagger_matrix/profile ./docs/client-server/swagger_matrix/registration ./docs/client-server/swagger_matrix/rooms ./docs/server-server/specification.rst ./graph/graph.py ./jsfiddles/create_room_send_msg/demo.js ./jsfiddles/event_stream/demo.js ./jsfiddles/example_app/demo.js ./jsfiddles/register_login/demo.js ./jsfiddles/room_memberships/demo.js ./synapse/api/urls.py ./tests/federation/test_federation.py ./tests/handlers/test_presence.py ./tests/handlers/test_typing.py ./tests/rest/test_events.py ./tests/rest/test_presence.py ./tests/rest/test_profile.py ./tests/rest/test_rooms.py ./webclient/components/fileUpload/file-upload-service.js ./webclient/components/matrix/matrix-service.js
2014-08-31 14:51:37 +01:00
Paul "LeoNerd" Evans
93407cf7cf
Bugfixes on presence pushes on user joining:
...
* No need to inform clients of status of remote users; as that will
arrive in due course anyway. We don't -have- the state currently, so
we'd only send an unknown message
* Remember to bump the presence serial for the event source, so the
notifiers will wake up and report it
2014-08-29 19:53:33 +01:00
Paul "LeoNerd" Evans
a8e8d1d06c
Renamed get_current_token_part to get_current_key
2014-08-29 19:15:23 +01:00
Paul "LeoNerd" Evans
eec67a675f
Have EventSource's get_new_events_for_user() API work only on keys within that source, not overall eventstream tokens
2014-08-29 19:13:55 +01:00
Paul "LeoNerd" Evans
6797c7f1b1
TypingNotificationEventSource has to return proper tokens, not int 0
2014-08-29 19:00:55 +01:00
Paul "LeoNerd" Evans
4bfdec1eb2
Rename 'events_key' to 'room_key' so it matches the name of the event source
2014-08-29 19:00:55 +01:00
David Baker
7b79c0f08f
v0.1.2
2014-08-29 18:13:34 +01:00
Paul "LeoNerd" Evans
6dd50da54e
Define a new event stream data source for typing notifications (currently null)
2014-08-29 17:39:33 +01:00
Paul "LeoNerd" Evans
f85a3757cf
Avoid hardcoding names of individual stream token keys in its own implementation; this at least reduces the number of places in source code the individual parts are stored
2014-08-29 17:31:39 +01:00
Paul "LeoNerd" Evans
d4145abd33
Use str.join() properly
2014-08-29 17:17:11 +01:00
Paul "LeoNerd" Evans
20d0db6cfb
Move the *EventSource classes into the handlers they relate to, so it's easier to find the code
2014-08-29 17:10:28 +01:00
Erik Johnston
52203edbce
Version bump for bug fix.
2014-08-29 16:15:20 +01:00
Erik Johnston
f07f538ac7
When notifying listeners, don't do so in a serial fashion
2014-08-29 16:01:01 +01:00
Erik Johnston
463b95f0c2
Bump version and change log
2014-08-29 15:36:53 +01:00
Erik Johnston
1118f02689
Start adding storage for new events.
2014-08-29 15:18:30 +01:00
Erik Johnston
8e2d4c6da5
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
2014-08-29 14:22:04 +01:00
Erik Johnston
ee06023573
Get the equalities right.
2014-08-29 13:28:06 +01:00
Erik Johnston
47fb286184
Merge branch 'presence_logging' into develop
2014-08-29 12:10:00 +01:00
Erik Johnston
5dd38d579b
Fix a couple of bugs in presence handler related to pushing updatesto the correct user. Fix presence tests.
2014-08-29 12:08:33 +01:00
Erik Johnston
8113eb7c79
Turn of trace_function logging
2014-08-28 18:45:00 +01:00
Erik Johnston
aaf4fd98ee
Only poll remote users if they are in our presence list, rather than in a common room
2014-08-28 18:43:03 +01:00
Mark Haines
722c19d033
Fix FederationHandler to event.origin
2014-08-28 18:32:44 +01:00
Mark Haines
d7ae9b90a0
Add store for server certificates and keys
2014-08-28 18:19:47 +01:00
Erik Johnston
1b7686329e
Don't query the rooms members table so much by using the new notifier api that allows you to specify room_ids to notify.
2014-08-28 17:43:15 +01:00
Paul "LeoNerd" Evans
2c7c12bc6e
Initial room event stream token must be s0, not s1, or everyone will miss the very first room event
2014-08-28 17:39:34 +01:00
Erik Johnston
54d0a75573
Merge branch 'develop' of github.com:matrix-org/synapse into presence_logging
...
Conflicts:
synapse/handlers/presence.py
2014-08-28 16:52:46 +01:00
Erik Johnston
a8d318cf82
Up timeout to 10 minutes
2014-08-28 16:44:09 +01:00
Paul "LeoNerd" Evans
efc5f3440d
Only send presence "poll"/"unpoll" EDUs when changing from/to zero remotes
2014-08-28 16:43:55 +01:00
Paul "LeoNerd" Evans
b1da3fa0a7
Avoid AlreadyCalledError from EDU sending failures
2014-08-28 16:19:16 +01:00
Paul "LeoNerd" Evans
c46c806126
Re-enable presence, un-skip presence tests
2014-08-28 16:00:14 +01:00
Erik Johnston
eb3094ed31
And more logging.
2014-08-28 15:58:38 +01:00
Mark Haines
7b079a26a5
Remove get_state_for_room function from federation handler
2014-08-28 15:32:38 +01:00
Mark Haines
bddc1d9fff
use @wraps to set the __name__ __module__ and __doc__ correctly for logged functions
2014-08-28 15:32:38 +01:00
Erik Johnston
e0ba81344c
Add more logging. Up the event stream timer to 10s
2014-08-28 15:30:42 +01:00
Erik Johnston
b8b52ca09d
Add logging to try and figure out what is going on with the presence stuff
2014-08-28 14:58:51 +01:00
Kegan Dougal
8d7d251c35
Support multiple login flows when deciding how to login. Updated cmdclient and spec. Webclient doesn't need updating for this.
2014-08-28 14:56:55 +01:00
Mark Haines
7acede1e42
Fix pyflakes warnings
2014-08-28 13:51:50 +01:00
Mark Haines
15ab5f5ad8
Merge backfill_ and backfill in federation handler
2014-08-28 13:45:35 +01:00
Erik Johnston
b485d622cc
Fix bug where we used UserID objects instead of strigns
2014-08-28 13:40:27 +01:00
Erik Johnston
d2bc5d6f29
Create the correct events with the right configuration when creating a new room.
2014-08-28 10:59:15 +01:00
Erik Johnston
f3f32addca
Fix typo in NullSource.get_pagination_rows. Remove unused import.
2014-08-28 10:57:53 +01:00
Paul "LeoNerd" Evans
407c86c013
Define a NullSource useful for unit-testing
2014-08-27 18:30:09 +01:00
Erik Johnston
c2b4b73751
Split out MessageHandler
2014-08-27 17:59:36 +01:00
Mark Haines
357dd1871d
Merge branch 'develop' into storage_transactions
...
Conflicts:
tests/handlers/test_federation.py
tests/handlers/test_room.py
2014-08-27 17:28:55 +01:00
Erik Johnston
410a74b0f3
If timeout=0, return immediately
2014-08-27 17:21:48 +01:00
Mark Haines
2aeaa7b77c
Merge branch 'develop' into storage_transactions
...
Conflicts:
synapse/handlers/room.py
synapse/storage/stream.py
2014-08-27 17:15:58 +01:00
Erik Johnston
7c89d5e97a
Merge branch 'develop' of github.com:matrix-org/synapse into develop
2014-08-27 17:05:48 +01:00
Erik Johnston
226025e9ca
Comments!
2014-08-27 17:04:47 +01:00
Mark Haines
f54b70520a
Return the store_id from persist_event
2014-08-27 17:03:45 +01:00
Mark Haines
1d95e78759
Merge branch 'develop' into storage_transactions
2014-08-27 16:54:12 +01:00
Mark Haines
b30358f439
add _get_room_member, fix datastore methods
2014-08-27 16:51:54 +01:00
Kegan Dougal
f64887e15c
Added RestServlet for /rooms/$roomid/initialSync
2014-08-27 16:49:01 +01:00
Erik Johnston
52cb5e6324
Remove stale FIXMEs
2014-08-27 16:44:29 +01:00
Kegan Dougal
4e8d19ee2b
Added RestServlet for /rooms/$roomid/state
2014-08-27 16:42:33 +01:00
Erik Johnston
8af5e360d6
Remove store_id from notifier.on_new_room_event calls.
2014-08-27 16:23:33 +01:00
Erik Johnston
7917ff1271
Turn off presence again.
2014-08-27 16:09:48 +01:00
Erik Johnston
08881d808d
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-27 15:34:01 +01:00
Erik Johnston
bfe9faad5a
Index sources in a nicer fashion.
2014-08-27 15:33:52 +01:00
Erik Johnston
05672a6a8c
Convert get_paginat_rows to use PaginationConfig. This allows people to supply directions.
2014-08-27 15:25:27 +01:00
Mark Haines
a0d1f5a014
Start updating state handling to use snapshots
2014-08-27 15:11:51 +01:00
Kegan Dougal
c585c87c4b
Renamed /ds to /directory
2014-08-27 14:54:29 +01:00
Kegan Dougal
1d9d287c7c
Renamed /public/rooms to /publicRooms
2014-08-27 14:52:07 +01:00
Mark Haines
46a2f6a816
Remove call to get_federation from homeserver
2014-08-27 14:36:20 +01:00
Mark Haines
a03c7f27a8
Fill out prev_events before calling persist_event
2014-08-27 14:32:19 +01:00
Erik Johnston
77a255c7c3
PEP8 tweaks.
2014-08-27 14:19:39 +01:00
Erik Johnston
47519cd8c2
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
...
Conflicts:
synapse/handlers/events.py
synapse/rest/events.py
synapse/rest/room.py
2014-08-27 14:13:06 +01:00
Erik Johnston
bd16b93e8f
Implement presence event source. Change the way the notifier indexes listeners
2014-08-27 14:03:27 +01:00
Paul "LeoNerd" Evans
05fa81fee4
A reliable logger.info() message /after/ the TCP port has been opened and is listening; this is essential for avoiding races in wrapper scripts e.g. integration testing
2014-08-27 13:08:55 +01:00
Paul "LeoNerd" Evans
5eff05a4ce
Initial typing notification support - EDU federation, but no timers, and no actual push to clients
2014-08-27 11:45:16 +01:00
Paul "LeoNerd" Evans
d63f775e06
Added parse_roomid() helper
2014-08-27 11:45:16 +01:00
Paul "LeoNerd" Evans
e677a3114e
Use SQLite's PRAGMA user_version to check if the database file really matches the schema we have in mind
2014-08-27 11:45:16 +01:00
Paul "LeoNerd" Evans
648796ef1d
Neater database setup at application startup time; only .connect() it once, not once per schema file; don't build the db_pool twice
2014-08-27 11:45:16 +01:00
Kegan Dougal
135a1aa229
Final url modifications: renamed /presence_list to /presence/list to keep the top-level namespace clean. Updated tests.
2014-08-27 11:37:53 +01:00
Mark Haines
474dcecb11
Remove unused populate_previous_pdus
2014-08-27 11:34:31 +01:00
Kegan Dougal
dd661769e1
Renamed /rooms to /createRoom. Removed ability to PUT raw room IDs, and removed tests which tested that. Updated cmdclient and webclient.
2014-08-27 11:33:56 +01:00
Mark Haines
bf05218c4b
Merge branch 'develop' into storage_transactions
2014-08-27 11:19:37 +01:00
Kegan Dougal
c65885e166
Added support for GET /events/$eventid with auth checks.
2014-08-27 10:33:01 +01:00
Kegan Dougal
dfa0cd1d90
Modified /join/$identifier to support $identifier being a room ID in addition to a room alias.
2014-08-27 09:43:42 +01:00
Mark Haines
d2798de660
Fold federation/handler into handlers/federation
2014-08-26 19:49:42 +01:00
Erik Johnston
67c5f89244
Enable presence again. Fix up api to match old api.
2014-08-26 19:40:29 +01:00
Erik Johnston
c1cf0b334e
Fix exceptions so that the event stream works. Presence like events are turned off currently.
2014-08-26 19:18:11 +01:00
Erik Johnston
93cff1668c
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-26 18:57:55 +01:00
Erik Johnston
3a2a5b959c
WIP: Completely change how event streaming and pagination work. This reflects the change in the underlying storage model.
2014-08-26 18:57:46 +01:00
Mark Haines
6966971a28
Use store.persist_event rather than pdu_actions.persist_outgoing/pdu_actions.persist_received
2014-08-26 18:57:17 +01:00
Mark Haines
a498df0428
Move new event boilerplate in room handlers into a method on a base clase.
2014-08-26 18:49:51 +01:00
Mark Haines
64e2a5d58e
Move pdu and event persistence into a single persist_event function
2014-08-26 18:01:36 +01:00
Kegan Dougal
f84ddc75cb
Pepper UT TODOs
2014-08-26 17:54:18 +01:00
Kegan Dougal
5a3df1d029
Feedback: Removed FeedbackRestServlet. Modified keys on FeedbackEvent. Expanded the feedback constants to fully explain what type of feedback they are.
2014-08-26 17:49:46 +01:00
Kegan Dougal
5a93bfe1f0
Removed MessageRestServlet, use RoomSendEventRestServlet instead. Updated cmdclient, tests and webclient. All appears to work.
2014-08-26 17:21:48 +01:00
Kegan Dougal
ad6d5ac06c
Added RoomSendEventRestServlet to send generic non-state events. It even appears to work..!
2014-08-26 17:00:24 +01:00
Erik Johnston
8885c8546c
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-26 16:29:44 +01:00
Erik Johnston
9a93e83d90
Respect 'limit' param in initialSync api
2014-08-26 16:26:30 +01:00
Mark Haines
66a4d33524
Merge branch 'develop' into storage_transactions
2014-08-26 16:20:50 +01:00
Kegan Dougal
d0103400b5
Merge branch 'client_server_url_rename' into develop
2014-08-26 16:19:44 +01:00
Kegan Dougal
2e70de09b9
Renaming: /im/sync >> /initialSync. /rooms/$roomid/members/list >> /rooms/$roomid/members. /rooms$roomid/messages/list >> /room/$roomid/messages. Updated cmdclient, tests and webclient.
2014-08-26 16:19:17 +01:00
Mark Haines
47c1a3d454
Merge branch 'develop' into storage_transactions
2014-08-26 16:15:49 +01:00
Mark Haines
3281fec07a
Use state_key rather than target_user_id
2014-08-26 16:14:54 +01:00
Mark Haines
a29d12a18a
Use state_key rather than target_user_id
2014-08-26 16:13:32 +01:00
Mark Haines
4b63b06cad
Merge branch 'develop' into storage_transactions
...
Conflicts:
synapse/api/auth.py
synapse/handlers/room.py
synapse/storage/__init__.py
2014-08-26 16:07:05 +01:00
Erik Johnston
3df5cb804f
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-26 16:03:56 +01:00
Mark Haines
ac21dfff6d
Fix pyflakes errors
2014-08-26 16:02:59 +01:00
Mark Haines
32347bfcc9
fix a few pyflakes errors
2014-08-26 16:01:29 +01:00
Erik Johnston
ff3709e577
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-26 15:45:03 +01:00
Kegan Dougal
27979028b2
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
2014-08-26 14:59:54 +01:00
Kegan Dougal
5c0be8fde3
Implemented /rooms/$roomid/[invite|join|leave] with POST / PUT (incl txn ids)
2014-08-26 14:49:44 +01:00
Mark Haines
4b2ad549d5
Move the event storage into a single transaction
2014-08-26 14:36:03 +01:00
Kegan Dougal
732d954f89
Added basic in-memory REST transaction storage. Only the latest transaction for a given path/access_token combo is stored in order to prevent storing ALL request/response pairs.
2014-08-26 14:13:32 +01:00
Erik Johnston
485bb64ddb
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
2014-08-26 13:55:37 +01:00
Erik Johnston
1291ac93f3
Add the ability to turn on the twisted manhole telnet service.
2014-08-26 13:43:55 +01:00
Erik Johnston
a664ec20e0
Add a do_users_share_a_room method and use that in the presence handler.
2014-08-26 13:38:26 +01:00
Kegan Dougal
7d79021c42
Added servlet for /rooms/$roomid/[invite|join|leave]
2014-08-26 12:54:43 +01:00
Kegan Dougal
5796232cb1
Adjusted webclient to use new state paths. Updated membership msg template to actually show the person invited. Factored out common membership functions in matrix service.
2014-08-26 10:24:47 +01:00
Kegan Dougal
52b64617f9
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
2014-08-26 10:04:26 +01:00
Erik Johnston
fea7b60cf3
Add 'state_key' to valid_keys
2014-08-26 09:40:58 +01:00
Erik Johnston
b52b33acf6
Send down state_key to clients
2014-08-26 09:40:29 +01:00
Kegan Dougal
47c3a089c5
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
2014-08-26 09:26:33 +01:00
Kegan Dougal
cab3095803
Removed member list servlet: now using generic state paths.
2014-08-26 09:26:07 +01:00
Erik Johnston
be6abdff19
Order 'get_recent_events_for_room' correctly.
2014-08-26 09:22:58 +01:00
Erik Johnston
2c4908ed26
Ensure that we don't have duplicate hosts in the pdu destinations list
2014-08-24 14:35:13 +01:00
Erik Johnston
0c3b4a1f63
For the content repo, don't just use homeserver.hostname as that might not include the port due to SRV.
2014-08-24 11:56:55 +01:00
Erik Johnston
9d86c8c7a6
Add a unique constraint on the room hosts table
2014-08-24 11:29:29 +01:00
Erik Johnston
a9a5329a11
Encode unicode from json as utf-8. This was required to allow people to register on my laptop
2014-08-24 11:29:29 +01:00
Erik Johnston
cda4ff8519
Oops, we need to use defer.returnValue.
2014-08-22 18:23:02 +01:00
Erik Johnston
5b058a79cb
Make is_presence_visible always return true as it was thrashing the database.
2014-08-22 18:21:21 +01:00
Erik Johnston
b18db63c06
Turn off more spammy logging.
2014-08-22 18:13:50 +01:00
Erik Johnston
537ecd4e99
Turn off spammy logging
2014-08-22 18:12:38 +01:00
Erik Johnston
9f514915af
Add indices to schema
2014-08-22 18:03:39 +01:00
Mark Haines
1379dcae6f
Take a snapshot of the state of the room before performing updates
2014-08-22 17:00:10 +01:00
Kegan Dougal
f690b7b827
Impl: /rooms/roomid/state/eventtype/state_key - Renamed RoomTopicRestServlet to RoomStateEventRestServlet. Support generic state event sending.
2014-08-22 15:59:15 +01:00
Erik Johnston
808f663ed1
Don't return state event outlier's when paginating.
2014-08-22 13:06:07 +01:00
Erik Johnston
c2e983b8db
Bump versions to 0.0.1
2014-08-22 12:06:50 +01:00
Erik Johnston
acf5127604
Make the content repo work with in daemon mode. Return the full url on upload. Update the webclient to use new content repo api.
2014-08-22 10:25:32 +01:00
Matthew Hodgson
1b0d427285
host a webclient by default
2014-08-21 23:35:45 +01:00
Erik Johnston
5670da1c1e
Add ts field to all events.
2014-08-21 17:46:52 +01:00
Erik Johnston
e7ee0b9fc1
Change IM sync api to also return the current presence list.
2014-08-21 16:40:21 +01:00
Erik Johnston
3d1cae0e79
In the initial sync api, return the inviter for rooms in the 'invited' state
2014-08-21 15:07:08 +01:00
Erik Johnston
c6950b18cc
Return the current state in the initial sync api.
2014-08-21 15:06:22 +01:00
Erik Johnston
063e1b22e6
Stop internal keys from getting into SynapseEvents
2014-08-21 15:06:00 +01:00
Erik Johnston
1587ea26fe
Wait for getting a Join in response to an invite/join dance.
2014-08-21 14:38:22 +01:00
Erik Johnston
81a95937de
Use new StreamToken in pagination config
2014-08-21 11:01:33 +01:00
Erik Johnston
7bec359408
Add in StreamToken type
2014-08-21 11:01:33 +01:00
Erik Johnston
ebd3c41ede
Make event stream storage return all membership events about the user, regardless of if they were in the room or not.
2014-08-20 17:09:44 +01:00
Paul "LeoNerd" Evans
583add34fe
Use the "collect_presencelike_data" distributor signal instead of re-implementing its behaviour
2014-08-20 16:06:47 +01:00
Paul "LeoNerd" Evans
50718825bd
Fix exception name in _fill_out_join_content() exception
2014-08-20 16:06:47 +01:00
Paul "LeoNerd" Evans
e01bdf2432
Define __copy__ and __deepcopy__ as identity functions on DomainSpecificString, so that copy.deepcopy() will work on them
2014-08-20 16:06:47 +01:00
Paul "LeoNerd" Evans
9c0e570496
Kill the "_homeserver_" injected messages for room membership changes
2014-08-20 16:06:47 +01:00
Erik Johnston
e8244c23ba
Give the event_id of the failed event
2014-08-20 15:53:07 +01:00
Erik Johnston
5ef0948eaa
Better handle the edge cases of trying to remote join rooms
2014-08-20 14:42:47 +01:00
Erik Johnston
849627b82e
Don't generate room membership messages. Include previous state of in membership messages.
2014-08-20 11:53:57 +01:00
Erik Johnston
d4fb1c8a92
Only hit get_room_events_stream if we have a valid user_id
2014-08-19 17:18:19 +01:00
Erik Johnston
ae493c9418
Fix token to correct format
2014-08-19 16:45:55 +01:00
Erik Johnston
e2b861cc67
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
2014-08-19 16:41:13 +01:00
Erik Johnston
eea2dc7dde
Remove debug logging from token parsing funcs.
2014-08-19 16:40:38 +01:00
Erik Johnston
d94765999d
Add comment about what strorage.stream does
2014-08-19 16:40:25 +01:00
Erik Johnston
7c60905ee7
Default from param to 'END'
2014-08-19 15:52:10 +01:00
Erik Johnston
5c00614aab
PresenceStreamData was expecting *_key to be ints
2014-08-19 15:51:10 +01:00
Paul "LeoNerd" Evans
89cabba3e0
Don't delete OFFLINE users from the presence cache, so we can report on their offline mtime
2014-08-19 14:51:15 +01:00
Erik Johnston
347242a5c4
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
...
Conflicts:
tests/rest/test_presence.py
tests/rest/test_rooms.py
tests/utils.py
2014-08-19 14:48:19 +01:00
Erik Johnston
840771190f
Fix bug where we sometimes set min_token to None.
2014-08-19 14:32:47 +01:00
Erik Johnston
234128586b
Print out stacktrace when we failed to persist event.
2014-08-19 14:30:28 +01:00
Paul "LeoNerd" Evans
992782b9f5
Ensure that federation's .send_edu() returns a Deferred
2014-08-19 14:26:06 +01:00
Erik Johnston
75b6d982a0
Add a 'backfill room' button
2014-08-19 14:20:03 +01:00
Erik Johnston
598a1d8ff9
Change the way pagination works to support out of order events.
2014-08-19 14:19:48 +01:00
Kegan Dougal
caef65d819
More unquotes. Also, don't return the room_id on membership state changes, they already know it.
2014-08-19 12:30:28 +01:00
Kegan Dougal
ece7a6d995
Unquote sender IDs.
2014-08-19 11:50:57 +01:00
Paul "LeoNerd" Evans
88f7482b92
Perform the 'REST'-level tests of Presence against the real Presence handler as well, mocking out the datastore beneath it
2014-08-19 11:16:23 +01:00
Paul "LeoNerd" Evans
83f031207e
Implement and test presence dropping of remote users
2014-08-19 11:16:23 +01:00
Paul "LeoNerd" Evans
6fafa878f6
Deny __iter__ on UserID/RoomID/RoomName instances as it's a subtle bug that will bite you
2014-08-19 11:16:23 +01:00
Kegan Dougal
f48792eec4
Reduce the amount of incredibly spammy stack traces. Expected errors (e.g. SynapseErrors) shouldn't have their full trace logged every time. Don't send responses to disconnected requests.
2014-08-19 10:56:43 +01:00
Kegan Dougal
e37b040bc3
Small amounts of cleanup and bonus round comments.
2014-08-18 17:22:31 +01:00
Kegan Dougal
58548ab557
Implemented GETs for the ContentRepoResource. It all actually appears to be working.
2014-08-18 17:18:54 +01:00
Kegan Dougal
590ab24c85
hs: Make the uploads directory if it doesn't exist. Namespace uploads by the base64 encoded user id of the uploader. Make a reasonable attempt to retry clashing upload paths. Try to guess a sensible file extension depending on the content type.
2014-08-18 17:18:54 +01:00
Kegan Dougal
35da1bf4a3
Auth content uploads. Added a mapping function from request > filename. Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore.
2014-08-18 17:18:54 +01:00
Kegan Dougal
a18b1a649c
Added /matrix/content path, HS resource_for_content_repo attribute and FileUploadResource. Added stub methods.
2014-08-18 17:18:54 +01:00
Erik Johnston
1422a22970
Fix typos in SQL and where we still had rowid's (which no longer exist)
2014-08-18 16:25:18 +01:00
Erik Johnston
4eb8f84aa8
Make snapshot_all_rooms return results in the correct form, including start and end tokens.
2014-08-18 16:20:21 +01:00
Erik Johnston
709a92cee8
SQL doesn't allow AUTOINCREMENT on non PRIMARY KEY columns.
2014-08-18 16:00:46 +01:00
Erik Johnston
b4a1f2ccb5
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
2014-08-18 15:53:40 +01:00
Erik Johnston
fc26275bb3
Add two different columns for ordering the events table, one which can be used for pagination and one which can be as tokens for notifying clients. Also add a 'processed' field which is currently always set to True
2014-08-18 15:50:41 +01:00
Kegan Dougal
b37ced8f63
Update the default longpoll timeout time.
2014-08-18 14:30:07 +01:00
Paul "LeoNerd" Evans
faf25e3a83
Allow room presence visibility between users who share a room
2014-08-18 13:41:43 +01:00
Paul "LeoNerd" Evans
7d324612ec
Precent lack of presence visiblity from causing room /members/list to fail
2014-08-18 13:17:35 +01:00
Erik Johnston
1c2caacd67
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
2014-08-18 11:14:57 +01:00
Erik Johnston
291010f100
Not all event streams returns SynapseEvents
2014-08-18 11:06:59 +01:00
Erik Johnston
2f91d16033
We don't need to do a json.loads here
2014-08-18 11:00:22 +01:00
Erik Johnston
1a1e0384ef
Ensure we have a 'membership' key in RoomMemberEvents
2014-08-18 10:59:57 +01:00
Erik Johnston
dccb2f57be
Disable the ability to GET individualy messages. We need to think about the correct API to do this, as the current one doesn't make much sense.
2014-08-18 10:59:04 +01:00
Matthew Hodgson
98ed3d0222
improve comment
2014-08-16 01:52:03 +01:00
Matthew Hodgson
fc846aa771
emergency bodges to turn off presence ACLs in order to make
...
matrix.org:8080 actually work
2014-08-16 01:47:17 +01:00
Matthew Hodgson
0f9b633af7
retcols is mandatory. i have no idea how this could ever have worked?
2014-08-16 01:46:35 +01:00
Erik Johnston
7f5c7ddea9
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
2014-08-15 17:50:27 +01:00
Paul "LeoNerd" Evans
9c41f635a9
When starting to poll for presence, also include members of all shared rooms
2014-08-15 17:12:07 +01:00
Erik Johnston
40c020ad13
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
2014-08-15 16:48:16 +01:00
Paul "LeoNerd" Evans
ec1fd20e59
Also include users' presence when responding to /rooms/:room_id/members/list
2014-08-15 16:47:50 +01:00
Erik Johnston
0e938b1ff7
Rename method name to not clash with other ones in storage.
2014-08-15 16:47:48 +01:00
Erik Johnston
6efc688917
Fix typo of key name
2014-08-15 16:47:26 +01:00
Erik Johnston
506711749f
We no longer need to special case room config events.
2014-08-15 16:45:16 +01:00
Erik Johnston
d260a42ca2
PEP8 cleanups
2014-08-15 16:17:36 +01:00
Erik Johnston
8fa3cc37f9
Comment.
2014-08-15 16:11:25 +01:00
Erik Johnston
19946509a4
Support generic events.
2014-08-15 16:06:08 +01:00
Erik Johnston
cd2967d271
Fix bug when generating a key when get_room_events_stream returned zero rows
2014-08-15 16:05:46 +01:00
Erik Johnston
86be66c34e
Actually use MAX_STREAM_SIZE constant.
2014-08-15 16:04:54 +01:00
Erik Johnston
8d1f763209
Fix pagination to work with new db schema
2014-08-15 15:53:06 +01:00
Paul "LeoNerd" Evans
3c532314ec
Fix imsync's SELECT query to only find the rooms I'm actually joined in, not every room I have ever joined
2014-08-15 15:44:53 +01:00
Erik Johnston
01f089d9fb
Correctly return new token when returning events. Serialize events correctly.
2014-08-15 15:28:54 +01:00
Erik Johnston
114984a236
Start chagning the events stream to work with the new DB schema
2014-08-15 13:58:28 +01:00
Erik Johnston
d72f897f07
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
...
Conflicts:
synapse/storage/stream.py
2014-08-15 11:50:14 +01:00
Erik Johnston
c5f2da5875
Add a check to make sure that during state conflict res we only request a PDU we don't have.
2014-08-15 11:47:01 +01:00
Erik Johnston
1a26905cc9
Fix pontenial bug in state resolution handler that compared dicts rather than their id's
2014-08-15 11:41:20 +01:00
Paul "LeoNerd" Evans
33d62c2c66
Remember to reflect membership LEAVE events to the leaving member so they know it happened
2014-08-15 11:40:58 +01:00
Erik Johnston
5002efa31b
Reimplement the get public rooms api to work with new DB schema
2014-08-15 10:26:35 +01:00
Erik Johnston
2c46bb6208
Fix up typos and correct sql queries
2014-08-14 18:40:50 +01:00
Erik Johnston
7e681ad778
Update StreamStore
2014-08-14 18:01:39 +01:00
Erik Johnston
661c711765
Start fixing places that use the data store.
2014-08-14 17:34:37 +01:00
Erik Johnston
78b501eba6
Fix typo
2014-08-14 17:09:28 +01:00
Erik Johnston
2529f2bc01
Rename _execute_query
2014-08-14 16:58:51 +01:00
Kegan Dougal
fef3183461
Pass back the user_id in the response to /login in case it has changed. Store and use that on the webclient rather than the input field.
2014-08-14 16:40:15 +01:00
Kegan Dougal
ca3747fb2f
hs: Make /login accept full user IDs or just local parts. webclient: Only enable Register button when both password fields match.
2014-08-14 16:29:51 +01:00
Paul "LeoNerd" Evans
53147e5ae4
Reflect user's messages up to themselves before pushing it to federatoin; also release roomlock before touching federation so we don't halt progress on the world
2014-08-14 16:22:08 +01:00
Paul "LeoNerd" Evans
93a8be7bef
We really don't need debug logging of all the SQL statements we execute; we're quite happy these all work now
2014-08-14 16:15:57 +01:00
Paul "LeoNerd" Evans
657ab9ba9d
Put some DEBUG logging in lockutils.py so we can debug roomlocks
2014-08-14 16:06:05 +01:00
Kegan Dougal
fb93e14e53
Be more helpful when failing to register/login, stating why (communication error, user in user, wrong credentials, etc). Make the HS send M_USER_IN_USE.
2014-08-14 16:03:04 +01:00
Erik Johnston
937c175029
Fix up RoomMemberStore to work with the new schema.
2014-08-14 16:02:10 +01:00
Erik Johnston
6d6a1c3454
Actually encode dicts as json in the DB
2014-08-14 14:30:25 +01:00
Kegan Dougal
5a5f37ca17
Send forbidden codes when doing login attempts.
2014-08-14 14:29:06 +01:00
Paul "LeoNerd" Evans
0fa05ea331
Round Presence mtime and mtime_age to nearest msec; avoids floats for msec values over the wire
2014-08-14 14:16:01 +01:00
Erik Johnston
cbd5d55222
Change relative db paths to absolute paths in case we daemonize.
2014-08-14 14:08:57 +01:00
Erik Johnston
e4061383b8
Change relative db paths to absolute paths in case we daemonize.
2014-08-14 14:07:22 +01:00
Paul "LeoNerd" Evans
e37de2aef3
chmod +x homeserver.py
2014-08-14 14:05:05 +01:00
Kegan Dougal
61933f8e52
Added M_UNKNOWN_TOKEN error code and send it when there is an unrecognised access_token
2014-08-14 13:47:39 +01:00
Kegan Dougal
2a793a6c42
Default error code BAD_PAGINATION for EventStreamErrors
2014-08-14 11:57:25 +01:00
Kegan Dougal
d253a35539
Added web client prefix
2014-08-14 11:54:37 +01:00
Kegan Dougal
c75add6ec8
Added a urls module for keeping client and federation prefixes.
2014-08-14 11:52:56 +01:00
Kegan Dougal
9fd445eb92
If the web client is enabled, automatically redirect root '/' to the web client path.
2014-08-14 11:37:13 +01:00
Kegan Dougal
e543d6a91d
Fixed dynamic resource mapping to clobber dummy Resources with the actual desired Resource in the event of a collision (as is the case for '/matrix/client' and '/matrix/client/api/v1')
2014-08-14 11:18:18 +01:00
Kegan Dougal
de65c34fcf
Honour the -w flag to enable the web client at /matrix/client
2014-08-14 10:24:17 +01:00
Kegan Dougal
9a1638ed21
Removed http_server from HomeServer. Updated unit tests to use either resource_for_federation or resource_for_client depending on what is being tested.
2014-08-14 10:18:54 +01:00
Kegan Dougal
29aa13f0d4
Make federation use resource_for_federation as well.
2014-08-14 10:05:06 +01:00
Erik Johnston
10294b6082
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
...
Conflicts:
synapse/storage/_base.py
2014-08-14 10:01:04 +01:00
Kegan Dougal
9f863d3466
Start phasing out HttpServer: we should be using Resources instead. Added resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree.
2014-08-14 09:55:16 +01:00
Matthew Hodgson
a4da962bab
fix http client GET parameters; somehow missing named param. how could this have ever worked!?
2014-08-14 02:59:54 +01:00
Matthew Hodgson
aebe5ce08a
fix whitespace
2014-08-14 02:14:15 +01:00
Paul "LeoNerd" Evans
d05aa651f8
An initial hack at storing presence state-change mtimes in database and presenting age durations to clients/federation events
2014-08-13 19:19:15 +01:00
Paul "LeoNerd" Evans
baf04be5cf
Set datastore's .hs field in SQLBaseStore rather than in the toplevel DataStore mixed-in result class
2014-08-13 19:19:15 +01:00
Matthew Hodgson
59dfbaba3b
when we're talking about backfilling data in federation, call it backfilling - not pagination.
2014-08-13 18:17:09 +01:00
Erik Johnston
beaf4384d9
Make feedback table also store sender.
2014-08-13 18:03:41 +01:00
Paul "LeoNerd" Evans
3a1cfe18cf
Implement directory service federation by Federation Queries; avoid local_only hack; add unit tests
2014-08-13 18:03:41 +01:00
Erik Johnston
336987bb8d
Initial stab at refactoring the SQL tables, including rejigging some of the storage layer.
2014-08-13 18:03:41 +01:00
Paul "LeoNerd" Evans
7fb93f2a47
Add a HomeServer.parse_roomalias() to avoid having to RoomAlias.from_sring(..., hs=hs) - similar to parse_userid()
2014-08-13 18:03:41 +01:00
Erik Johnston
3dfa84bec8
Convert im schema to a 'one' table structure
2014-08-13 18:03:41 +01:00
Paul "LeoNerd" Evans
80c056c148
Now that HS->HS Profile lookups use Federation Queries, we don't need the 'local_only' antirecursion hack
2014-08-13 17:23:49 +01:00
Paul "LeoNerd" Evans
505917cb97
Use new Federation Query API to implement HS->HS fetching of remote users' profile information instead of (ab)using the client-side REST API
2014-08-13 17:23:49 +01:00
Paul "LeoNerd" Evans
827de7cee9
Define the concept of a 'federation Query'; creating API for making and handling Queries on the Federation's increasingly-inaccurately-named ReplicationLayer
2014-08-13 17:23:49 +01:00
Paul "LeoNerd" Evans
1ddae5f40b
Update get_json()'s documentation to match the actual observed behaviour
2014-08-13 17:23:49 +01:00
Erik Johnston
6df83555cc
Handle a potential race in the notifier when calling get_events_for which resulted in an uncaught KeyError
2014-08-13 17:13:26 +01:00
Kegan Dougal
2da1e1526e
Don't pass host_web_client flag to register_servlets, it needs to be a Resource not a RestServlet.
2014-08-13 15:57:58 +01:00
Kegan Dougal
38c7e92331
Merge branch 'master' of github.com:matrix-org/synapse
2014-08-13 15:53:44 +01:00
Paul "LeoNerd" Evans
b370f9903c
Fix logging verbosity parsing code
2014-08-13 15:14:22 +01:00
Paul "LeoNerd" Evans
820ed34abe
Namespace all the Federation HTTP URLs to /matrix/federation/v1/...
2014-08-13 15:07:55 +01:00
Paul "LeoNerd" Evans
55944ccf72
Use strings instead of opaque magic-number constants for presence states; rename AWAY to UNAVAILABLE
2014-08-13 14:31:48 +01:00
Kegan Dougal
5a59da8a94
Merge branch 'master' of github.com:matrix-org/synapse
2014-08-13 13:50:05 +01:00
Kegan Dougal
7f40fa1d46
Added a -w flag which will host the web client if specified. Currently this just delegates to the webclient RestServlet.
2014-08-13 13:50:01 +01:00
Matthew Hodgson
2a0f7541c7
verbose by default please
2014-08-13 12:06:58 +01:00
Kegan Dougal
9b3702c924
Return the room_alias when GETing public rooms.
2014-08-13 11:57:49 +01:00
Matthew Hodgson
f98e6380f1
add in whitespace after copyright statements to improve legibility
2014-08-13 03:14:34 +01:00
Matthew Hodgson
514df1f648
actually register the login servlet (uncommitted code thinko?)
2014-08-13 02:33:04 +01:00
Erik Johnston
4add1c70e9
Just say yes to OPTIONS requests, since we want to turn on CORS headers for all paths
2014-08-12 17:17:14 +01:00
matrix.org
4f475c7697
Reference Matrix Home Server
2014-08-12 15:10:52 +01:00