David Baker
fa129ce5b5
Add measure blocks
2016-04-07 17:12:29 +01:00
David Baker
e1e042f2a1
Add comments on min_stream_id
...
saying that the min stream id won't be completely accurate all the time
2016-04-07 17:09:36 +01:00
Mark Haines
ceb599e789
Add tests for redactions
2016-04-07 16:52:07 +01:00
Mark Haines
8c82b06904
Merge pull request #704 from matrix-org/markh/slaveIII
...
Add tests for get_latest_event_ids_in_room and get_current_state
2016-04-07 16:49:34 +01:00
David Baker
05d044aac3
pep8
2016-04-07 16:45:38 +01:00
David Baker
2d5c693fd3
Fix port script for changes merged from develop
2016-04-07 16:43:54 +01:00
Mark Haines
57fa1801c3
Add sensible __eq__ operators inside the tests.
...
Rather than adding them globally. This limits the changes to only
affect the tests.
2016-04-07 16:41:37 +01:00
Erik Johnston
a294b04bf0
Merge pull request #700 from matrix-org/erikj/deduplicate_joins
...
Deduplicate membership changes
2016-04-07 16:35:40 +01:00
David Baker
9c99ab4572
Merge remote-tracking branch 'origin/develop' into dbkr/pushers_use_event_actions
2016-04-07 16:35:22 +01:00
David Baker
d549fdfa22
Remove code that's now been obsoleted or moved elsewhere
2016-04-07 16:31:38 +01:00
Erik Johnston
95ac3078da
Rename things
2016-04-07 16:07:16 +01:00
David Baker
92e3071623
Send badge count pushes.
...
Also fix bugs with retrying.
2016-04-07 15:39:53 +01:00
Erik Johnston
ee5aef6c72
Log contexts and squash things together
2016-04-07 15:34:21 +01:00
Erik Johnston
639cd07d6d
Add comment
2016-04-07 14:24:12 +01:00
Erik Johnston
af03ecf352
Deduplicate joins
2016-04-07 14:19:02 +01:00
Mark Haines
60ec9793fb
Add tests for get_latest_event_ids_in_room and get_current_state
2016-04-07 13:17:56 +01:00
Erik Johnston
a28d066732
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dns_cache
2016-04-07 11:11:17 +01:00
Erik Johnston
1ef0365670
Set profile information when joining rooms remotely
2016-04-07 09:42:52 +01:00
Richard van der Hoff
87a30890a3
Merge pull request #699 from matrix-org/rav/show_own_leave_event
...
Let users see their own leave events
2016-04-06 17:57:06 +01:00
Christoph Witzany
ed4d18f516
fix check for failed authentication
2016-04-06 18:30:11 +02:00
Christoph Witzany
9c62fcdb68
remove line
2016-04-06 18:23:46 +02:00
Christoph Witzany
27a0c21c38
make tests for ldap more specific to not be fooled by Mocks
2016-04-06 18:23:46 +02:00
Christoph Witzany
3555a659ec
output ldap version for info and to pacify pep8
2016-04-06 18:23:46 +02:00
Christoph Witzany
4c5e8adf8b
conditionally import ldap
2016-04-06 18:23:46 +02:00
Christoph Witzany
875ed05bdc
fix pep8
2016-04-06 18:23:46 +02:00
Christoph Witzany
67f3a50e9a
fix exception handling
2016-04-06 18:23:46 +02:00
Christoph Witzany
afff321e9a
code style
2016-04-06 18:23:46 +02:00
Christoph Witzany
8f0e47fae8
cleanup
2016-04-06 18:23:45 +02:00
Christoph Witzany
823b8be4b7
add tls property and twist my head around twisted
2016-04-06 18:23:45 +02:00
Christoph Witzany
92767dd703
add tls property
2016-04-06 18:23:45 +02:00
Christoph Witzany
7b9319b1c8
move LDAP authentication to AuthenticationHandler
2016-04-06 18:23:45 +02:00
Christoph Witzany
3d95405e5f
Introduce LDAP authentication
2016-04-06 18:23:45 +02:00
David Baker
0fd1cd2400
pep8
2016-04-06 16:50:47 +01:00
Mark Haines
6bfec56796
Test that room membership is replicated
2016-04-06 16:20:13 +01:00
Mark Haines
e815763b7f
Merge pull request #697 from matrix-org/markjh/slaveI
...
Add a slaved events store class
2016-04-06 16:19:25 +01:00
David Baker
7e2c89a37f
Make pushers use the event_push_actions table instead of listening on an event stream & running the rules again. Sytest passes, but remaining to do:
...
* Make badges work again
* Remove old, unused code
2016-04-06 15:42:15 +01:00
Richard van der Hoff
1e05637e37
Let users see their own leave events
...
... otherwise clients get confused.
Fixes https://matrix.org/jira/browse/SYN-662 ,
https://github.com/vector-im/vector-web/issues/368
2016-04-06 15:36:19 +01:00
Erik Johnston
b713934b2e
Merge pull request #698 from matrix-org/erikj/port_script_fix
...
Don't require config to create database
2016-04-06 14:32:45 +01:00
Mark Haines
75fb9ac1be
Add a slaved events store class
...
Add a test to check that get_room_names_and_aliases does the same
thing on both the master and on the slave data store.
2016-04-06 14:18:35 +01:00
Erik Johnston
8aab9d87fa
Don't require config to create database
2016-04-06 14:15:45 +01:00
Mark Haines
7d11f825aa
Merge pull request #694 from matrix-org/markjh/caches
...
Move _get_cache_dict into the SQLBaseStore
2016-04-06 13:21:25 +01:00
Mark Haines
87f2dec8d4
Make the cache objects be per instance rather than being global
2016-04-06 13:08:05 +01:00
Mark Haines
a1e0d316ea
Move _get_cache_dict into the SQLBaseStore
2016-04-06 13:05:19 +01:00
Mark Haines
2e308a3a38
Merge pull request #692 from matrix-org/markjh/replicate_reshuffle
...
Separate generating the replication response...
2016-04-05 13:23:36 +01:00
Erik Johnston
c2b429ab24
Merge pull request #693 from matrix-org/erikj/backfill_self
...
Don't backfill from self
2016-04-05 13:04:36 +01:00
Erik Johnston
6222ae51ce
Don't backfill from self
2016-04-05 12:56:29 +01:00
Erik Johnston
b29f98377d
Merge pull request #691 from matrix-org/erikj/member
...
Fix stuck invites
2016-04-05 12:44:39 +01:00
Mark Haines
1d4deff25a
Separate generating the replication response...
...
from doing the http request parsing to make it easier
to write unit tests for replication.
2016-04-05 11:23:57 +01:00
Erik Johnston
df727f2126
Fix stuck invites
...
If rejecting a remote invite fails with an error response don't fail
the entire request; instead mark the invite as locally rejected.
This fixes the bug where users can get stuck invites which they can
neither accept nor reject.
2016-04-05 11:13:24 +01:00
Erik Johnston
7a77f8b6d5
Merge pull request #690 from matrix-org/erikj/member
...
Store invites in a separate table.
2016-04-05 09:12:27 +01:00
Erik Johnston
0c53d750e7
Docs and indents
2016-04-04 18:02:48 +01:00
Erik Johnston
92ab45a330
Add upgrade path, rename table
2016-04-04 17:07:43 +01:00
Erik Johnston
3d76b7cb2b
Store invites in a separate table.
2016-04-04 16:30:15 +01:00
Erik Johnston
bf14883a04
Merge pull request #689 from matrix-org/erikj/member
...
Do checks for memberships before creating events
2016-04-04 11:56:40 +01:00
Matthew Hodgson
9f7dc2bef7
Merge branch 'develop' into matthew/preview_urls
2016-04-04 00:38:21 +01:00
Matthew Hodgson
cf51c4120e
report image size (bytewise) in OG meta
2016-04-03 23:57:05 +01:00
Matthew Hodgson
0834b152fb
char encoding
2016-04-03 12:59:27 +01:00
Matthew Hodgson
8b98a7e8c3
pep8
2016-04-03 12:56:29 +01:00
Matthew Hodgson
eab4d462f8
fix etag typing error. fix timestamp typing error
2016-04-03 02:02:46 +01:00
Matthew Hodgson
c3916462f6
rebase all image URLs
2016-04-03 01:33:12 +01:00
Matthew Hodgson
110780b18b
remove stale todo
2016-04-03 00:48:31 +01:00
Matthew Hodgson
b09e29a03c
Ensure only one download for a given URL is active at a time
2016-04-03 00:47:40 +01:00
Matthew Hodgson
7426c86eb8
add a persistent cache of URL lookups, and fix up the in-memory one to work
2016-04-03 00:31:57 +01:00
Matthew Hodgson
d1b154a10f
support gzip compression, and don't pass through error msgs
2016-04-02 03:06:39 +01:00
Matthew Hodgson
9377157961
how was _respond_default_thumbnail ever meant to work?
2016-04-02 02:31:45 +01:00
Matthew Hodgson
2c838f6459
pass back SVGs as their own thumbnails
2016-04-02 02:30:07 +01:00
Matthew Hodgson
5037ee0d37
handle missing dimensions without crashing
2016-04-02 02:29:57 +01:00
Matthew Hodgson
b26e8604f1
make meta comparisons case insensitive
2016-04-02 01:35:44 +01:00
Matthew Hodgson
5fd07da764
refactor calc_og; spider image URLs; fix xpath; add a (broken) expiringcache; loads of other fixes
2016-04-02 00:35:49 +01:00
Erik Johnston
d76d89323c
Use computed prev event ids
2016-04-01 17:39:32 +01:00
Erik Johnston
aa82cb38e9
Remove state hack from _create_new_client_event
2016-04-01 16:36:54 +01:00
Mark Haines
89e6839a48
Merge pull request #686 from matrix-org/markjh/doc_strings
...
Use google style doc strings.
2016-04-01 16:20:09 +01:00
Erik Johnston
c906f30661
Do checks for memberships before creating events
2016-04-01 16:17:32 +01:00
Mark Haines
2a37467fa1
Use google style doc strings.
...
pycharm supports them so there is no need to use the other format.
Might as well convert the existing strings to reduce the risk of
people accidentally cargo culting the wrong doc string format.
2016-04-01 16:12:07 +01:00
Mark Haines
f2b916534b
Merge pull request #684 from matrix-org/markjh/backfill_id_gen
...
Use a stream id generator for backfilled ids
2016-04-01 15:13:14 +01:00
Mark Haines
9bc5b4c663
Assert that the step != 0
2016-04-01 15:08:20 +01:00
Mark Haines
35b5c4ba1b
use google style doc strings
2016-04-01 15:07:01 +01:00
Erik Johnston
3f4eb4c924
Comment
2016-04-01 14:15:27 +01:00
Erik Johnston
8d73cd502b
Add concurrently_execute function
2016-04-01 14:06:00 +01:00
Mark Haines
a2866e2e6a
Rename direction to step, apply checks consistently
2016-04-01 13:50:54 +01:00
Mark Haines
e36bfbab38
Use a stream id generator for backfilled ids
2016-04-01 13:29:05 +01:00
Erik Johnston
35bb465b86
Filter rooms list before chunking
2016-04-01 13:14:53 +01:00
Mark Haines
c42f46ab7d
Merge pull request #682 from matrix-org/markjh/fix_invalidate
...
Fix the invalidation of the names and aliases cache
2016-04-01 10:52:29 +01:00
Mark Haines
7753fc6570
Fix the invalidation of the names and aliases cache
2016-04-01 10:34:51 +01:00
Matthew Hodgson
c60b751694
fix assorted redirect, unicode and screenscraping bugs
2016-04-01 02:17:48 +01:00
Matthew Hodgson
683e564815
handle spidered relative images correctly
2016-03-31 23:52:58 +01:00
Mark Haines
dc4c1579d4
Remove outlier parameter from compute_event_context
...
Use event.internal_metadata.is_outlier instead.
2016-03-31 15:32:24 +01:00
Mark Haines
03e406eefc
Merge pull request #680 from matrix-org/markjh/remove_is_new_state
...
Remove the is_new_state argument to persist event.
2016-03-31 15:14:48 +01:00
Matthew Hodgson
72550c3803
prevent choking on invalid utf-8, and handle image thumbnailing smarter
2016-03-31 15:14:14 +01:00
Mark Haines
5d06929169
Move the check for backfilled outside the for loop
2016-03-31 15:09:09 +01:00
Mark Haines
76503f95ed
Remove the is_new_state argument to persist event.
...
Move the checks for whether an event is new state inside persist
event itself.
This was harder than expected because there wasn't enough information
passed to persist event to correctly handle invites from remote servers
for new rooms.
2016-03-31 15:00:42 +01:00
Erik Johnston
fe95943305
Merge pull request #679 from matrix-org/erikj/member
...
Split out RoomMemberHandler
2016-03-31 14:45:57 +01:00
Matthew Hodgson
bb9a2ca87c
synthesise basig OG metadata from pages lacking it
2016-03-31 14:15:09 +01:00
Erik Johnston
d35780eda0
Split out RoomMemberHandler
2016-03-31 13:08:45 +01:00
Matthew Hodgson
0d3d7de6fc
sync in changes from matrixfederationclient
2016-03-31 12:42:27 +01:00
Mark Haines
62e395f0e3
Merge pull request #676 from matrix-org/markjh/replicate_stateIII
...
Add replication streams for ex outliers and current state resets
2016-03-31 11:20:57 +01:00
Erik Johnston
5260db7663
Line length
2016-03-31 10:49:27 +01:00
Mark Haines
2ec5426035
Use a namedtuple rather than tuple unpacking
2016-03-31 10:33:02 +01:00
Erik Johnston
f9d3665c88
Allow clock to be passed in to func
2016-03-31 10:23:48 +01:00
David Baker
c27c51484a
Don't ignore the obey overlay if the rule has an enabled attribute of False
...
Fixes https://github.com/vector-im/vector-web/issues/1244
2016-03-31 10:12:31 +01:00
Erik Johnston
f699b8f997
Read from DNS cache if within TTL
2016-03-31 10:04:28 +01:00
Matthew Hodgson
a8a5dd3b44
handle requests with missing content-length headers (e.g. YouTube)
2016-03-31 01:55:21 +01:00
Matthew Hodgson
9113316b0e
typo
2016-03-30 17:29:42 +01:00
Mark Haines
1fbb094c6f
Add replication streams for ex outliers and current state resets
2016-03-30 17:19:56 +01:00
Mark Haines
8b8052909f
return the state_group for backfill
2016-03-30 16:20:07 +01:00
Mark Haines
61407986b4
Add a entry to current_state_resets table when the current state is reset
2016-03-30 16:18:46 +01:00
Mark Haines
31a9eceda5
Add a replication stream for state groups
2016-03-30 16:01:58 +01:00
Mark Haines
fc66df1e60
Merge pull request #674 from matrix-org/markjh/replicate_state
...
Use a stream id generator to assign state group ids
2016-03-30 15:58:49 +01:00
Erik Johnston
178c9fb200
Merge pull request #673 from matrix-org/erikj/forget
...
Require user to have left room to forget room
2016-03-30 15:55:24 +01:00
Erik Johnston
73b6bf4629
Only forget room if you were in the room
2016-03-30 15:09:18 +01:00
Erik Johnston
08a8514b7a
Remove spurious comment
2016-03-30 15:05:33 +01:00
Erik Johnston
d24662b88a
Merge branch 'master' of github.com:matrix-org/synapse into develop
2016-03-30 14:41:31 +01:00
Mark Haines
1e25f62ee6
Use a stream id generator to assign state group ids
2016-03-30 12:55:02 +01:00
Erik Johnston
e7aaa7c61e
Bump version and changelog
2016-03-30 12:35:25 +01:00
Erik Johnston
fddb6fddc1
Require user to have left room to forget room
...
This dramatically simplifies the forget API code - in particular it no
longer generates a leave event.
2016-03-30 11:03:00 +01:00
Niklas Riekenbrauck
3f9948a069
Add JWT support
2016-03-29 14:36:36 +02:00
Matthew Hodgson
ae5831d303
fix bugs
2016-03-29 03:32:55 +01:00
Matthew Hodgson
721b2bfa85
implement redirects
2016-03-29 03:32:52 +01:00
Matthew Hodgson
19038582d3
debug
2016-03-29 03:14:16 +01:00
Matthew Hodgson
64b4aead15
make it work
2016-03-29 03:13:25 +01:00
Matthew Hodgson
dd4287ca5d
make it build
2016-03-29 02:07:57 +01:00
Matthew Hodgson
e0c2490a14
Merge branch 'develop' into matthew/preview_urls
2016-03-29 01:20:25 +01:00
Matthew Hodgson
ec0cf996c9
typo
2016-03-29 01:20:14 +01:00
Matthew Hodgson
d9d48aad2d
Merge branch 'develop' into matthew/preview_urls
2016-03-27 22:54:42 +01:00
Matthew Hodgson
adafa24b0a
typo
2016-03-25 23:38:19 +00:00
Mark Haines
77cba688ed
Fix typo
2016-03-24 18:02:37 +00:00
Mark Haines
54a546091a
Add a response cache for getting the public room list
2016-03-24 18:02:10 +00:00
Mark Haines
191c7bef6b
Deduplicate identical /sync requests
2016-03-24 17:47:31 +00:00
David Baker
3b554bda26
Never notify for member events. This fixes https://github.com/vector-im/vector-web/issues/828
2016-03-24 13:19:39 +00:00
Erik Johnston
15844040c2
Bump version and changelog
2016-03-23 16:57:41 +00:00
Erik Johnston
7a3815b372
Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.14.0
2016-03-23 16:55:29 +00:00
Erik Johnston
8122ad7bab
Simplify intern_dict
2016-03-23 16:41:54 +00:00
Erik Johnston
2f0180b09e
Don't bother interning keys that are already interned
2016-03-23 16:29:46 +00:00
Erik Johnston
acdfef7b14
Intern all the things
2016-03-23 16:25:54 +00:00
Erik Johnston
f96526ffc2
Intern sender, event_id and room_id in events
2016-03-23 15:04:11 +00:00
Erik Johnston
fe9794706a
Intern type and state_key on events
2016-03-23 14:58:08 +00:00
Erik Johnston
75daede92f
String intern
2016-03-23 14:53:53 +00:00
Erik Johnston
fbdeb1778d
Merge pull request #664 from matrix-org/erikj/public_room_list
...
Don't require alias in public room list.
2016-03-23 14:42:01 +00:00
Erik Johnston
b275765545
Comment about weird SQL
2016-03-23 14:15:32 +00:00
Erik Johnston
0c1a27b787
SQLite and postgres doesn't share a true literal
2016-03-23 14:10:49 +00:00
Erik Johnston
84afeb41f3
Ensure all old public rooms have aliases
2016-03-23 13:59:34 +00:00
Erik Johnston
b2802a1351
Ensure published rooms have public join rules
2016-03-23 13:59:31 +00:00
Erik Johnston
0677fc1c4e
Comment
2016-03-23 13:25:22 +00:00
Erik Johnston
2749da542c
Merge pull request #663 from matrix-org/erikj/invite_for_user
...
Make get_invites return RoomsForUser
2016-03-23 13:19:26 +00:00
Erik Johnston
e14baa7a3b
Merge pull request #665 from matrix-org/erikj/dont_cache_events
...
Only cache events in the event cache
2016-03-23 13:19:12 +00:00
Erik Johnston
d87a846ebc
Don't cache events in get_recent_events_for_room
2016-03-23 11:42:50 +00:00
Erik Johnston
8b0dfc9fc4
Don't cache events in get_current_state_for_key
2016-03-23 11:42:17 +00:00
Erik Johnston
34473a9c7f
Don't require alias in public room list.
...
Rooms now no longer require an alias to be published.
Also, changes the way we pull out state of each room to not require
fetching all state events.
2016-03-23 10:42:19 +00:00
Erik Johnston
b6507869cd
Make get_invites return RoomsForUser
2016-03-23 10:32:10 +00:00
Erik Johnston
9e2e994395
Reduce cache size
2016-03-23 09:28:07 +00:00
Erik Johnston
d531ebcb57
Key StateHandler._state_cache off of state groups
2016-03-22 18:02:36 +00:00
Erik Johnston
c4a8cbd15a
Make LruCache use a dedicated _Node class
2016-03-22 16:06:21 +00:00
Erik Johnston
99f929f36b
Make StateHandler._state_cache only store event_ids.
2016-03-22 16:06:04 +00:00
Erik Johnston
d787e41b20
Measure StateHandler._resolve_events
2016-03-22 14:44:48 +00:00
Erik Johnston
6cf0ba1466
Bump get_unread_event_push_actions_by_room_for_user cache
2016-03-22 14:18:21 +00:00
Erik Johnston
76d18a5776
Bump get_aliases_for_room cache
2016-03-22 14:08:13 +00:00
Mark Haines
cd9ba1ed89
Merge pull request #661 from matrix-org/markjh/member_count
...
Fix membership count for BulkPushRuleEvaluator
2016-03-22 13:59:56 +00:00
Mark Haines
5defb25ac6
Use get_users_in_room to count the number of room members rather than using read_receipts
2016-03-22 13:52:45 +00:00
Erik Johnston
fa2f96c2e3
Merge pull request #660 from matrix-org/erikj/state_cache
...
Don't cache events in _state_group_cache
2016-03-22 13:12:06 +00:00
Erik Johnston
f93304e77f
Merge pull request #659 from matrix-org/erikj/state_cache_factor
...
Make stateGroupCache honour CACHE_SIZE_FACTOR
2016-03-22 13:12:01 +00:00
Erik Johnston
2c86187a1b
Don't cache events in _state_group_cache
...
Instead, simply cache the event ids, relying on the event cache to cache
the actual events.
The problem was that while the state groups cache was limited in the
number of groups it could hold, each individual group could consist of
thousands of events.
2016-03-22 12:00:09 +00:00
Erik Johnston
d6ac752538
Merge pull request #657 from matrix-org/erikj/roomlist
...
Add published room list edit API
2016-03-22 11:57:39 +00:00
Erik Johnston
97785bfc0f
Doc string
2016-03-22 10:41:44 +00:00
Erik Johnston
b591277620
Make stateGroupCache honour CACHE_SIZE_FACTOR
2016-03-22 10:32:50 +00:00
Matthew Hodgson
d3654694d0
an invalide is something else...
2016-03-22 00:52:31 +00:00
Mark Haines
5244c0b48e
Remove unused backfilled parameter from persist_event
2016-03-21 18:06:08 +00:00
Erik Johnston
3e7fac0d56
Add published room list edit API
2016-03-21 15:06:07 +00:00
Mark Haines
58f8226c7f
remove unused current_state variable from on_receive_pdu
2016-03-21 14:20:34 +00:00
Erik Johnston
9adf0e92bc
Catch exceptions from EDU handling
2016-03-18 15:12:50 +00:00
Erik Johnston
1660145a08
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/edu_yield
2016-03-18 15:02:43 +00:00
Erik Johnston
8595ff7842
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/get_event
2016-03-18 14:47:19 +00:00
Erik Johnston
58e207cd77
Don't assume existence of event_id in __str__
2016-03-18 14:31:44 +00:00
Erik Johnston
67ed8065db
Dedupe requested event list in _get_events
2016-03-18 14:31:31 +00:00
Erik Johnston
916227b4df
Merge pull request #652 from matrix-org/erikj/delete_alias
...
Update aliases event after deletion
2016-03-18 14:02:46 +00:00
Erik Johnston
3c5f25507b
Yield on EDU handling
2016-03-18 13:55:16 +00:00
Erik Johnston
56aa4e7a9a
Check canonical alias event exists
2016-03-17 15:24:19 +00:00
David Baker
384ee6eafb
Merge pull request #650 from matrix-org/dbkr/register_idempotent_with_username
...
Make registration idempotent, part 2
2016-03-17 14:34:08 +00:00
Mark Haines
7a38612620
Remove another unused function from presence
2016-03-17 11:54:19 +00:00
Erik Johnston
2cd9260500
Update aliases event after deletion
...
Attempt to update the appropriate `m.room.aliases` event after deleting
an alias. This may fail due to the deleter not being in the room.
Will also check if the canonical alias of the event is set to the
deleted alias, and if so will attempt to delete it.
2016-03-17 11:42:00 +00:00
Mark Haines
673c96ce97
Remove dead code left over from presence changes
2016-03-17 11:03:47 +00:00
David Baker
5670205e2a
remove debug logging
2016-03-16 19:49:42 +00:00
David Baker
f984decd66
Unused import
2016-03-16 19:40:48 +00:00
David Baker
a7daa5ae13
Make registration idempotent, part 2: be idempotent if the client specifies a username.
2016-03-16 19:36:57 +00:00
David Baker
b58d10a875
pep8
2016-03-16 16:22:20 +00:00
David Baker
3ee7d7dc7f
time_msec()
2016-03-16 16:18:52 +00:00
David Baker
3176aebf9d
string with symbols is a bit too symboly.
2016-03-16 15:55:49 +00:00
David Baker
9671e6750c
Replace other time.time().
2016-03-16 15:51:28 +00:00
David Baker
742b6c6d15
Use hs get_clock instead of time.time()
2016-03-16 15:42:35 +00:00
David Baker
f5e90422f5
take extra return val from check_auth in account too
2016-03-16 14:33:19 +00:00
David Baker
99797947aa
pep8 & remove debug logging
2016-03-16 12:51:34 +00:00
David Baker
c12b9d719a
Make registration idempotent: if you specify the same session, make it give you an access token for the user that was registered on previous uses of that session. Tweak the UI auth layer to not delete sessions when their auth has completed and hence expire themn so they don't hang around until server restart. Allow server-side data to be associated with UI auth sessions.
2016-03-16 11:56:24 +00:00
Mark Haines
ba660ecde2
Add a comment to offer a hint to an explanation for why we have a unique constraint on (app_id, pushkey, user_id)
2016-03-16 10:35:00 +00:00
Mark Haines
ee32d622ce
Fix a couple of errors when deleting pushers
2016-03-15 17:47:36 +00:00
Mark Haines
6df1c79c22
Merge branch 'develop' into markjh/pushers_stream
2016-03-15 17:44:39 +00:00
Mark Haines
12904932c4
Hook up adding a pusher to the notifier for replication.
2016-03-15 17:42:03 +00:00
Mark Haines
b6e8420aee
Add replication stream for pushers
2016-03-15 17:33:10 +00:00
Erik Johnston
e5f0e58931
Remove needless PreserveLoggingContext
2016-03-15 13:48:40 +00:00
Erik Johnston
9e982750ee
Persist rejection of invites over federation
2016-03-15 13:24:31 +00:00
Erik Johnston
13e29a697c
Bump version and changelog
2016-03-15 09:43:32 +00:00
Erik Johnston
590fbbef03
Add config to create guest account on 3pid invite
...
Currently, when a 3pid invite request is sent to an identity server, it
includes a provisioned guest access token. This allows the link in the,
say, invite email to include the guest access token ensuring that the
same account is used each time the link is clicked.
This flow has a number of flaws, including when using different servers
or servers that have guest access disabled.
For now, we keep this implementation but hide it behind a config option
until a better flow is implemented.
2016-03-14 15:50:40 +00:00
Erik Johnston
a547e2df85
Return list, not generator.
2016-03-14 15:30:19 +00:00
Mark Haines
398cd1edfb
Fix regression where synapse checked whether push rules were valid JSON before the compatibility hack that handled clients sending invalid JSON
2016-03-14 14:16:41 +00:00
Erik Johnston
494d0c8e02
Merge pull request #642 from matrix-org/erikj/logout
...
Implement logout
2016-03-11 20:16:25 +00:00
Erik Johnston
15122da0e2
Thats not how transactions work.
2016-03-11 16:45:27 +00:00
Mark Haines
e9c1cabac2
Use parse_json_object_from_request to parse JSON out of request bodies
2016-03-11 16:41:03 +00:00
Erik Johnston
b13035cc91
Implement logout
2016-03-11 16:27:50 +00:00
Erik Johnston
c081228439
Fix SQL statement
2016-03-11 15:09:17 +00:00
Erik Johnston
b5afe6bc38
Merge pull request #641 from matrix-org/dbkr/fix_change_password
...
Fix logout on password change
2016-03-11 14:48:20 +00:00
David Baker
2dee03aee5
more pep8
2016-03-11 14:38:23 +00:00
David Baker
af59826a2f
Make select more sensible when dseleting access tokens, rename pusher deletion to match access token deletion and make exception arg optional.
2016-03-11 14:34:09 +00:00
David Baker
f523177850
Delete old, unused methods and rename new one to just be user_delete_access_tokens
with an except_token_ids
argument doing what it says on the tin.
2016-03-11 14:29:01 +00:00
David Baker
57c444b3ad
Dear PyCharm, please indent sensibly for me. Thx.
2016-03-11 14:25:05 +00:00
Erik Johnston
d5fda6e3b0
Merge pull request #640 from matrix-org/erikj/keyclient_host
...
Make key client send a Host header
2016-03-11 13:32:59 +00:00
Erik Johnston
58443a022d
Merge pull request #635 from matrix-org/erikj/sync_order
...
Use topological orders for initial sync timeline
2016-03-11 13:17:49 +00:00
David Baker
aa11db5f11
Fix cache invalidation so deleting access tokens (which we did when changing password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f0549
2016-03-11 13:14:18 +00:00
Erik Johnston
2e2be463f8
Make key client send a Host header
2016-03-11 10:29:05 +00:00
Daniel Wagner-Hall
465605d616
Store appservice ID on register
2016-03-10 15:58:22 +00:00
Erik Johnston
9669a99d1a
Update users table in a batched manner
2016-03-10 15:12:19 +00:00
blide
40160e24ab
Register endpoint returns refresh_token
...
Guest registration still doesn't return refresh_token
2016-03-10 10:29:19 +03:00
Erik Johnston
8a88684736
Add comment
2016-03-09 16:51:22 +00:00
Erik Johnston
af2fe6110c
Return the correct token form
2016-03-09 16:11:53 +00:00
Erik Johnston
3ecaabc7fd
Use topological orders for initial sync timeline
2016-03-09 15:45:34 +00:00
Erik Johnston
1309b8ca97
Merge pull request #634 from matrix-org/erikj/pin_saml2_version
...
Pin pysaml2 version to 3.x
2016-03-09 11:57:33 +00:00
Erik Johnston
07cf96ebf7
Pin pysaml2 version to 3.x
...
This is due to the fact that `from saml2 import config` fails in version
4.x
2016-03-09 11:54:56 +00:00
Mark Haines
b7dbe5147a
Add a parse_json_object function
...
to deduplicate all the copy+pasted _parse_json functions. Also document
the parse_.* functions.
2016-03-09 11:26:26 +00:00
Erik Johnston
158a322e82
Ensure integer is an integer
2016-03-09 10:20:48 +00:00
Mark Haines
5f5817ab05
Merge pull request #632 from matrix-org/markjh/py3v2
...
Fix relative imports so they work in both py3 and py27
2016-03-08 18:11:10 +00:00
Daniel Wagner-Hall
3b97797c8d
Merge branch 'develop' into daniel/ick
2016-03-08 17:35:09 +00:00
Daniel Wagner-Hall
edca2d9891
Idempotent-ise schema update script
...
If any ASes don't have an ID, the schema will fail, and then it will
error when trying to add the column again.
2016-03-08 17:32:29 +00:00
David Baker
c00f4e48ba
Merge pull request #630 from matrix-org/dbkr/post_urlencoded_encode_params
...
Encode unicode objects given to post_urlencode*
2016-03-08 13:51:49 +00:00
Mark Haines
7076082ae6
Fix relative imports so they work in both py3 and py27
2016-03-08 11:45:50 +00:00
Mark Haines
ea72bd9600
Merge pull request #631 from matrix-org/markjh/py3v1
...
Use syntax that's valid on both py2.7 and py3
2016-03-08 11:08:20 +00:00
David Baker
9a3c80a348
pep8
2016-03-08 10:09:07 +00:00
David Baker
7bcee4733a
Encode unicode objects given to post_urlencode* otherwise urllib.urlencode chokes.
2016-03-08 10:04:38 +00:00
Mark Haines
239badea9b
Use syntax that works on both py2.7 and py3
2016-03-07 20:13:10 +00:00
David Baker
874fd43257
Send the user ID matching the guest access token, since there is no Matrix API to discover what user ID an access token is for.
2016-03-07 17:13:56 +00:00
Erik Johnston
80916e6884
Merge pull request #626 from matrix-org/erikj/visibility
...
Send history visibility on boundary changes
2016-03-07 11:56:07 +00:00
Erik Johnston
2ab0bf4b97
Send history visibility on boundary changes
2016-03-04 16:54:32 +00:00
Mark Haines
b7a3be693b
Merge pull request #618 from matrix-org/markjh/pushrule_stream
...
Add a stream for push rule updates
2016-03-04 16:35:08 +00:00
Erik Johnston
beebc0a40f
Merge pull request #625 from matrix-org/erikj/kick_ban_sync
...
Always include kicks and bans in full /sync
2016-03-04 16:33:52 +00:00
Mark Haines
9848b54cac
Prefill from the correct stream
2016-03-04 16:20:22 +00:00
Mark Haines
deda48068c
prefill the push rules stream change cache
2016-03-04 16:19:42 +00:00
Mark Haines
ebcbb23226
s/stream_ordering/event_stream_ordering/ in push
2016-03-04 16:15:23 +00:00
Mark Haines
7e9fc9b6af
/FNARG/d
2016-03-04 15:54:09 +00:00
Erik Johnston
125f674eae
Always include kicks and bans in full /sync
2016-03-04 15:27:55 +00:00
Erik Johnston
13cbd31040
Spelling
2016-03-04 15:22:39 +00:00
Mark Haines
ec7460b4f2
Merge branch 'develop' into markjh/pushrule_stream
2016-03-04 14:44:34 +00:00
Mark Haines
1b4f4a936f
Hook up the push rules stream to account_data in /sync
2016-03-04 14:44:01 +00:00
Erik Johnston
ed61a49169
Add profile information to invites
2016-03-04 14:35:02 +00:00
Erik Johnston
389d558a3b
Merge pull request #598 from Rugvip/invite-state
...
config,handlers/_base: added homeserver config for what state is included in a room invite
2016-03-04 09:58:52 +00:00
Erik Johnston
44b084a75e
Merge pull request #596 from Rugvip/create
...
handlers/_base: don't allow room create event to be changed
2016-03-04 09:43:20 +00:00
Patrik Oldsberg
5fc59f009c
config,handlers/_base: added homeserver config for what state is included in a room invite
...
Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
2016-03-04 10:43:17 +01:00
Erik Johnston
ce82b9e48f
Merge pull request #610 from Rugvip/unique-user
...
handlers/register: make sure another user id is generated when a collision occurs
2016-03-04 09:40:20 +00:00
Richard van der Hoff
09b1d98070
Merge pull request #623 from matrix-org/rav/fix_createroom_race
...
Make sure we add all invited members before returning from createRoom
2016-03-04 09:29:15 +00:00
Erik Johnston
dd463e246d
Merge pull request #614 from matrix-org/erikj/alias_delete
...
Allow alias creators to delete aliases
2016-03-04 09:02:33 +00:00
Richard van der Hoff
a92b4ea76f
Make sure we add all invited members before returning from createRoom
...
add a missing yield.
2016-03-04 00:06:03 +00:00
Richard van der Hoff
a85179aff3
Merge remote-tracking branch 'origin/develop' into rav/SYN-642
2016-03-03 19:05:54 +00:00
Daniel Wagner-Hall
0b3083c75b
Merge pull request #621 from matrix-org/daniel/ratelimiting
...
Pass whole requester to ratelimiting
2016-03-03 17:02:48 +00:00
Daniel Wagner-Hall
b4022cc487
Pass whole requester to ratelimiting
...
This will enable more detailed decisions
2016-03-03 16:43:42 +00:00
Erik Johnston
5c90451ea0
Merge pull request #619 from matrix-org/dbkr/dont_use_checkpw
...
Stop using checkpw as it seems to have vanished from bcrypt.
2016-03-03 16:25:41 +00:00
Mark Haines
3406eba4ef
Move the code for formatting push rules into a separate function
2016-03-03 16:11:59 +00:00
Mark Haines
ddf9e7b302
Hook up the push rules to the notifier
2016-03-03 14:57:45 +00:00
Daniel Wagner-Hall
95481e7ba7
Merge pull request #571 from matrix-org/daniel/asids
...
Mark AS users with their AS's ID
2016-03-03 13:56:28 +00:00
Richard van der Hoff
79f34bdbc2
Merge branch 'develop' into rav/SYN-642
2016-03-03 11:39:25 +00:00
Richard van der Hoff
74cd80e530
Fix typo
2016-03-03 10:28:58 +00:00
David Baker
ff8b87118d
Stop using checkpw as it seems to have vanished from bcrypt. Use bcrypt.hashpw(password, hashed) == hashed
as per the bcrypt README.
2016-03-02 18:06:45 +00:00
Mark Haines
2223204eba
Hook push rules up to the replication API
2016-03-02 17:26:20 +00:00
Richard van der Hoff
fc1f932cc0
Move arg default to the start of the function
...
Also don't overwrite the list that gets passed in.
2016-03-02 16:44:14 +00:00
Matthew Hodgson
c0147f86a1
Merge pull request #616 from matrix-org/matthew/800x600
...
add 800x600 thumbnails to make vector look prettier (and anyone else …
2016-03-02 16:02:26 +00:00
Matthew Hodgson
47c361d2f8
add 800x600 thumbnails to make vector look prettier (and anyone else who likes big thumbnails)
2016-03-02 15:57:54 +00:00
Richard van der Hoff
863d3f26b3
fix pyflakes quibble
2016-03-02 15:52:50 +00:00
Richard van der Hoff
9ff940a0ef
Address review comments
2016-03-02 15:40:30 +00:00
Erik Johnston
2a78dac60d
Merge pull request #612 from matrix-org/erikj/cache_size
...
Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
2016-03-02 14:36:10 +00:00
Mark Haines
a1cf9e3bf3
Add a stream for push rule updates
2016-03-01 18:16:37 +00:00
Richard van der Hoff
05ea111c47
Fix pyflakes warning
2016-03-01 17:45:24 +00:00
Richard van der Hoff
8a1d3b86af
Handle rejections of invites from local users locally
...
Slightly hacky fix to SYN-642, which avoids the federation codepath when trying
to reject invites from local users.
2016-03-01 17:27:22 +00:00
Mark Haines
a612ce6659
Merge pull request #489 from matrix-org/markjh/replication
...
Add a /replication API for extracting the updates that happened on synapse.
2016-03-01 15:08:24 +00:00
Mark Haines
d50ca1b1ed
Merge pull request #613 from matrix-org/markjh/yield
...
Load the current id in the IdGenerator constructor
2016-03-01 14:54:29 +00:00
Mark Haines
60a0f81c7a
Add a /replication API for extracting the updates that happened on
...
synapse
This is necessary for replicating the data in synapse to be visible to a
separate service because presence and typing notifications aren't stored
in a database so won't be visible to another process.
This API can be used to either get the raw data by requesting the tables
themselves or to just receive notifications for updates by following the
streams meta-stream.
Returns updates for each table requested a JSON array of arrays with a
row for each row in the table.
Each table is prefixed by a header row with the: name of the table,
current stream_id position for the table, number of rows, number of
columns and the names of the columns.
This is followed by the rows that have been added to the server since
the requester last asked.
The API has a timeout and is hooked up to the notifier so that a slave
can long poll for updates.
2016-03-01 14:49:41 +00:00
Erik Johnston
f9af8962f8
Allow alias creators to delete aliases
2016-03-01 14:46:31 +00:00
Mark Haines
54172924c8
Load the current id in the IdGenerator constructor
...
Rather than loading them lazily. This allows us to remove all
the yield statements and spurious arguments for the get_next
methods.
It also allows us to replace all instances of get_next_txn with
get_next since get_next no longer needs to access the db.
2016-03-01 14:32:56 +00:00
Erik Johnston
374f9b2f07
Limit stream change cache size too
2016-03-01 13:30:15 +00:00
Erik Johnston
ce2cdced61
Move cache size fiddling to descriptors only. Fix tests
2016-03-01 13:21:46 +00:00
Erik Johnston
910fc0f28f
Add enviroment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
2016-03-01 12:56:39 +00:00
Erik Johnston
72165e5b77
Reraise exception
2016-03-01 11:00:10 +00:00
Erik Johnston
ff2d7551c7
Correct cache miss detection
2016-03-01 10:59:17 +00:00
Erik Johnston
903fb34b39
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/expiring_cache_size
2016-03-01 09:43:27 +00:00
Patrik Oldsberg
9c48f1ed22
handlers/register: make sure another user id is generated when a collision occurs
...
Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
2016-02-29 23:12:37 +01:00
David Baker
bfdcc7b9b6
Merge pull request #607 from matrix-org/dbkr/send_inviter_member_event
...
Send the invier's member event in room invite state
2016-02-26 14:32:08 +00:00
Mark Haines
de27f7fc79
Add support for changing the actions for default rules
...
See matrix-org/matrix-doc#283
Works by adding dummy rules to the push rules table with a negative priority class and then using those rules to clobber the default rule actions when adding the default rules in ``list_with_base_rules``
2016-02-26 14:28:19 +00:00
David Baker
413e36b17a
Merge remote-tracking branch 'origin/develop' into dbkr/send_inviter_member_event
2016-02-26 13:40:25 +00:00
Gergely Polonkai
87acd8fb07
Fix to appease the PEP8 dragon
2016-02-26 12:05:38 +01:00
Gergely Polonkai
a53774721a
Add error codes for malformed/bad JSON in /login
...
Signed-off-by: Gergely Polonkai <gergely@polonkaieu>
2016-02-26 10:22:35 +01:00
David Baker
0f0b011440
Send the invier's member event in room invite state so the invitee has their display name and avatar.
2016-02-25 18:12:09 +00:00
Mark Haines
15c2ac2cac
Make sure we return a JSON object when returning the values of specif…
...
…ic keys from a push rule
2016-02-25 15:13:07 +00:00
Mark Haines
4ecfbac85f
Merge branch 'develop' into markjh/dead_code
2016-02-24 16:37:46 +00:00
Mark Haines
9892d017b2
Remove unused get_rule_attr method
2016-02-24 16:31:07 +00:00
Daniel Wagner-Hall
33300673b7
Generate guest access token on 3pid invites
...
This means that following the same link across multiple sessions or
devices can re-use the same guest account.
Note that this is somewhat of an abuse vector; we can't throw up
captchas on this flow, so this is a way of registering ephemeral
accounts for spam, whose sign-up we don't rate limit.
2016-02-24 14:41:25 +00:00
Daniel Wagner-Hall
869580206d
Ignore invalid POST bodies when joining rooms
2016-02-24 08:50:28 +00:00
Erik Johnston
278d6c0527
Report size of ExpiringCache
2016-02-23 16:46:21 +00:00