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