Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Have TypingNotificationEventSource.get_new_events_for_user() return a ↵ | Paul "LeoNerd" Evans | 2015-04-15 | 1 | -6/+12 |
| | | | | deferred, for consistency and extensibility | ||||
* | Merge branch 'develop' into application-services-txn-reliability | Kegan Dougal | 2015-03-16 | 2 | -6/+6 |
|\ | | | | | | | | | Conflicts: synapse/storage/appservice.py | ||||
| * | Fix tests | Erik Johnston | 2015-03-09 | 2 | -6/+6 |
| | | |||||
* | | Use seconds; start gluing in the AS scheduler into the AS handler. | Kegan Dougal | 2015-03-09 | 1 | -2/+5 |
|/ | |||||
* | Fix presence tests | Erik Johnston | 2015-02-23 | 1 | -15/+28 |
| | |||||
* | Merge branch 'develop' into application-services | Kegan Dougal | 2015-02-11 | 7 | -115/+60 |
|\ | |||||
| * | Factor out some of the common homeserver setup code into a | Mark Haines | 2015-02-11 | 7 | -115/+60 |
| | | | | | | | | setup_test_homeserver function in utils. | ||||
* | | Dependency inject ApplicationServiceApi when creating ↵ | Kegan Dougal | 2015-02-05 | 1 | -7/+3 |
| | | | | | | | | ApplicationServicesHandler. | ||||
* | | Merge branch 'develop' into application-services | Kegan Dougal | 2015-02-05 | 1 | -1/+4 |
|\| | |||||
| * | Try to ensure we don't persist an event we have already persisted. In ↵ | Erik Johnston | 2015-02-03 | 1 | -1/+4 |
| | | | | | | | | 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. | ||||
* | | Fix unit tests. | Kegan Dougal | 2015-02-05 | 1 | -2/+5 |
| | | |||||
* | | Add unit test for appservice_handler.query_room_alias_exists | Kegan Dougal | 2015-02-05 | 1 | -1/+30 |
| | | |||||
* | | Add unknown user ID check. Use store.get_aliases_for_room(room_id) when ↵ | Kegan Dougal | 2015-02-05 | 1 | -0/+1 |
| | | | | | | | | searching for services by alias. | ||||
* | | Fix bug in store defer. Add more unit tests. | Kegan Dougal | 2015-02-04 | 1 | -5/+1 |
| | | |||||
* | | Begin to add unit tests for appservice glue and regex testing. | Kegan Dougal | 2015-02-04 | 1 | -0/+68 |
|/ | |||||
* | Initial implementation of auth conflict resolution | Erik Johnston | 2015-01-29 | 1 | -0/+2 |
| | |||||
* | Replace hs.parse_roomalias with RoomAlias.from_string | Mark Haines | 2015-01-23 | 1 | -3/+4 |
| | |||||
* | Replace hs.parse_userid with UserID.from_string | Mark Haines | 2015-01-23 | 5 | -29/+33 |
| | |||||
* | Rename MockedDatastoreTestCase to MockedDatastorePresenceTestCase since it ↵ | Paul "LeoNerd" Evans | 2015-01-22 | 1 | -3/+3 |
| | | | | is still presence-specific | ||||
* | Much merging of test case setUp() methods to make them much more | Paul "LeoNerd" Evans | 2015-01-22 | 1 | -273/+193 |
| | | | | shareable | ||||
* | Abstract out the room ID from presence tests, so it's stored in self | Paul "LeoNerd" Evans | 2015-01-21 | 1 | -8/+10 |
| | |||||
* | Use common base class for two Presence unit-tests, avoiding boilerplate ↵ | Paul "LeoNerd" Evans | 2015-01-21 | 1 | -54/+25 |
| | | | | copypasta | ||||
* | Finish renaming "context" to "room_id" in federation codebase | Mark Haines | 2015-01-16 | 1 | -2/+2 |
| | |||||
* | Check that setting typing notification still works after explicit timeout - ↵ | Paul "LeoNerd" Evans | 2015-01-12 | 1 | -0/+26 |
| | | | | SYN-230 | ||||
* | Mock ratelimiter to make tests pass. | Kegan Dougal | 2014-12-19 | 2 | -4/+16 |
| | |||||
* | Construct the EventContext in the state handler rather than constructing one ↵ | Mark Haines | 2014-12-16 | 2 | -22/+26 |
| | | | | and then immediately calling state_handler.annotate_context_with_state | ||||
* | Kill off synapse.api.events.* | Erik Johnston | 2014-12-16 | 2 | -19/+13 |
| | |||||
* | Rename MessageHandler.handle_event. Add a few comments. | Erik Johnston | 2014-12-15 | 1 | -2/+3 |
| | |||||
* | Get current member state from current_state snapshot. Fix leave test. | Erik Johnston | 2014-12-15 | 1 | -1/+12 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor | Erik Johnston | 2014-12-15 | 2 | -22/+172 |
|\ | | | | | | | | | Conflicts: tests/handlers/test_room.py | ||||
| * | Send list of typing user IDs as 'user_ids' list within 'content', so that ↵ | Paul "LeoNerd" Evans | 2014-12-12 | 1 | -5/+15 |
| | | | | | | | | m.typing stream events have a toplevel content, for consistency with others | ||||
| * | Add a 'user_left_room' distributor signal analogous to 'user_joined_room' | Paul "LeoNerd" Evans | 2014-12-11 | 1 | -3/+41 |
| | | |||||
| * | Actually auth-check to ensure people can only send typing notifications for ↵ | Paul "LeoNerd" Evans | 2014-12-11 | 1 | -0/+10 |
| | | | | | | | | rooms they're actually in | ||||
| * | Hook up the event stream to typing notifications | Paul "LeoNerd" Evans | 2014-12-10 | 1 | -0/+60 |
| | | |||||
| * | Store serial numbers per room for typing event stream purposes | Paul "LeoNerd" Evans | 2014-12-10 | 1 | -30/+16 |
| | | |||||
| * | First hack at implementing timeouts in typing notification handler | Paul "LeoNerd" Evans | 2014-12-10 | 1 | -3/+33 |
| | | |||||
* | | Fix membership handler test | Erik Johnston | 2014-12-12 | 1 | -82/+97 |
| | | |||||
* | | Fix federation test | Erik Johnston | 2014-12-11 | 1 | -18/+24 |
| | | |||||
* | | Fix room creation test | Erik Johnston | 2014-12-11 | 1 | -34/+34 |
| | | |||||
* | | Fix some tests | Erik Johnston | 2014-12-10 | 1 | -1/+1 |
|/ | |||||
* | Add newline back in | Erik Johnston | 2014-12-10 | 1 | -0/+1 |
| | |||||
* | Remove whitespace | Erik Johnston | 2014-12-10 | 1 | -1/+1 |
| | |||||
* | fix UTs by telling all the mock stores about the new methods for tracking ↵ | Matthew Hodgson | 2014-12-09 | 3 | -3/+18 |
| | | | | retries | ||||
* | Fix bugs when joining a remote room that has dodgy event graphs. This should ↵ | Erik Johnston | 2014-11-27 | 1 | -1/+5 |
| | | | | also fix the number of times a HS will trigger a GET /event/ | ||||
* | Fix tests. | Erik Johnston | 2014-11-26 | 1 | -1/+1 |
| | |||||
* | Fix bugs in invite/join dances. | Erik Johnston | 2014-11-25 | 2 | -7/+21 |
| | | | | | We now do more implement more of the auth on the events so that we don't reject valid events. | ||||
* | Initialise UserPresenceCache instances to always contain a 'presence' key | Paul "LeoNerd" Evans | 2014-11-19 | 1 | -2/+8 |
| | |||||
* | replace user_id with sender | Mark Haines | 2014-11-19 | 1 | -1/+2 |
| | |||||
* | Merge PDUs and Events into one object | Mark Haines | 2014-11-14 | 1 | -2/+3 |
| | |||||
* | Validate signatures on incoming events | Mark Haines | 2014-11-14 | 1 | -1/+3 |
| | |||||
* | SYN-103: Remove "origin" and "destination" keys from edus | Mark Haines | 2014-11-13 | 2 | -6/+0 |
| | |||||
* | Fix bugs with invites/joins across federatiom. | Erik Johnston | 2014-11-12 | 1 | -13/+9 |
| | | | | | Both in terms of auth and not trying to fetch missing PDUs for invites, joins etc. | ||||
* | Rename annotate_state_groups to annotate_event_with_state | Erik Johnston | 2014-11-11 | 2 | -7/+7 |
| | |||||
* | Fix room handler test | Erik Johnston | 2014-11-10 | 1 | -15/+40 |
| | |||||
* | Fix typing tests | Erik Johnston | 2014-11-05 | 1 | -0/+1 |
| | |||||
* | Fix room tests | Erik Johnston | 2014-11-05 | 1 | -6/+0 |
| | |||||
* | Fix profile tests | Erik Johnston | 2014-11-05 | 1 | -1/+5 |
| | |||||
* | Fix presencelike test | Erik Johnston | 2014-11-05 | 1 | -1/+5 |
| | |||||
* | Fix presence test | Erik Johnston | 2014-11-05 | 1 | -0/+1 |
| | |||||
* | Fix Federation test | Erik Johnston | 2014-11-05 | 1 | -1/+1 |
| | |||||
* | PEP8 | Erik Johnston | 2014-11-04 | 1 | -4/+4 |
| | |||||
* | Fix room handler tests | Erik Johnston | 2014-11-04 | 1 | -127/+19 |
| | |||||
* | Fix federation handler tests. I've removed the invite/join dance ones as ↵ | Erik Johnston | 2014-11-04 | 1 | -57/+27 |
| | | | | they are completely out of date. | ||||
* | PEP8 | Erik Johnston | 2014-11-04 | 1 | -1/+3 |
| | |||||
* | Fix tests.handlers.test_directory | Erik Johnston | 2014-11-04 | 1 | -2/+5 |
| | |||||
* | Fix an off-by-one bug in presence event stream pagination; this might be ↵ | Paul "LeoNerd" Evans | 2014-10-29 | 1 | -0/+16 |
| | | | | responsible for any number of bug reports | ||||
* | SPEC-7: Rename 'ts' to 'origin_server_ts' | Mark Haines | 2014-10-17 | 3 | -5/+5 |
| | |||||
* | SYN-103: Ignore the 'origin' key in received EDUs. Instead take the origin ↵ | Mark Haines | 2014-10-14 | 2 | -0/+2 |
| | | | | from the transaction itself | ||||
* | SYN-75 sign at the request level rather than the transaction level | Mark Haines | 2014-10-13 | 2 | -15/+15 |
| | |||||
* | Merge branch develop into server2server_signing | Mark Haines | 2014-10-13 | 1 | -3/+2 |
|\ | | | | | | | | | Conflicts: synapse/app/homeserver.py | ||||
| * | Add a keyword argument to get_json to avoid retrying on DNS failures. Rather ↵ | Mark Haines | 2014-10-02 | 1 | -3/+2 |
| | | | | | | | | than passing MatrixHttpClient.RETRY_DNS_LOOKUP_FAILURES as a fake query string parameter | ||||
| * | Split PlainHttpClient into separate clients for talking to Identity servers ↵ | Mark Haines | 2014-10-02 | 1 | -2/+2 |
| | | | | | | | | and talking to Capatcha servers | ||||
* | | Merge branch 'develop' into server2server_signing | Mark Haines | 2014-09-30 | 1 | -1/+1 |
|\| | | | | | | | | | | | Conflicts: synapse/storage/__init__.py tests/rest/test_presence.py | ||||
| * | Fix test where we changed arguments used to call the notifier | Erik Johnston | 2014-09-25 | 1 | -1/+1 |
| | | |||||
* | | SYN-75 Verify signatures on server to server transactions | Mark Haines | 2014-09-30 | 2 | -3/+7 |
| | | |||||
* | | Sign federation transactions | Mark Haines | 2014-09-24 | 4 | -5/+34 |
|/ | |||||
* | Merge branch 'test-sqlite-memory' of github.com:matrix-org/synapse into develop | Erik Johnston | 2014-09-18 | 3 | -183/+164 |
|\ | | | | | | | | | Conflicts: tests/handlers/test_profile.py | ||||
| * | Merge branch 'develop' into test-sqlite-memory | Paul "LeoNerd" Evans | 2014-09-17 | 3 | -8/+25 |
| |\ | |||||
| * \ | Merge remote-tracking branch 'origin/develop' into test-sqlite-memory | Paul "LeoNerd" Evans | 2014-09-15 | 7 | -36/+7 |
| |\ \ | |||||
| * | | | Perform PresenceInvitesTestCase against real SQLiteMemoryDbPool | Paul "LeoNerd" Evans | 2014-09-11 | 1 | -78/+98 |
| | | | | |||||
| * | | | Need to prepare() the SQLiteMemoryDbPool before passing it to HomeServer ↵ | Paul "LeoNerd" Evans | 2014-09-11 | 3 | -9/+12 |
| | | | | | | | | | | | | | | | | constructor, as DataStore's constructor will want it ready | ||||
| * | | | Start of converting PresenceHandler unit tests to use SQLiteMemoryDbPool - ↵ | Paul "LeoNerd" Evans | 2014-09-11 | 1 | -46/+27 |
| | | | | | | | | | | | | | | | | just the 'State' test case for now | ||||
| * | | | Unit-test DirectoryHandler against (real) SQLite memory store, not mocked ↵ | Paul "LeoNerd" Evans | 2014-09-11 | 1 | -15/+12 |
| | | | | | | | | | | | | | | | | storage layer | ||||
| * | | | Test ProfileHandler against the real datastore layer using SQLite :memory: | Paul "LeoNerd" Evans | 2014-09-10 | 1 | -25/+25 |
| | | | | |||||
* | | | | SYN-40: When a user updates their displayname or avatar update all their ↵ | Erik Johnston | 2014-09-17 | 2 | -0/+32 |
| |_|/ |/| | | | | | | | | join events for all the rooms they are currently in. | ||||
* | | | Correctly handle receiving 'missing' Pdus from federation, rather than just ↵ | Erik Johnston | 2014-09-15 | 1 | -1/+3 |
| | | | | | | | | | | | | discarding them. | ||||
* | | | Fix unit tests after adding extra argument on put_json | Erik Johnston | 2014-09-15 | 2 | -7/+22 |
| |/ |/| | |||||
* | | Have all unit tests import from our own subclass of trial's unittest ↵ | Paul "LeoNerd" Evans | 2014-09-12 | 7 | -36/+7 |
|/ | | | | TestCase; set up logging in ONE PLACE ONLY | ||||
* | Fix test to assert that we don't do auth | Erik Johnston | 2014-09-03 | 1 | -1/+1 |
| | |||||
* | fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵ | Matthew Hodgson | 2014-09-03 | 7 | -7/+7 |
| | | | | hasn't been incorporated in time for launch. | ||||
* | Fix up directory server to not require uploading room hosts. Update the room ↵ | Erik Johnston | 2014-09-03 | 1 | -0/+5 |
| | | | | hosts table with the current room hosts (if we have them) on GET. | ||||
* | Kill the state | Paul "LeoNerd" Evans | 2014-09-03 | 2 | -55/+42 |
| | | | | ... key from all the Presence messages | ||||
* | Make retrying requests on DNS failures configurable, and turn off retrying ↵ | Kegan Dougal | 2014-09-03 | 1 | -1/+5 |
| | | | | only in directory.get_association | ||||
* | Implement presence state visibilty limiting when polling eventsource for stream | Paul "LeoNerd" Evans | 2014-09-03 | 1 | -1/+67 |
| | |||||
* | Don't eat federation transmit errors during unit tests; fix remote presence ↵ | Paul "LeoNerd" Evans | 2014-09-03 | 1 | -0/+16 |
| | | | | EDU-sending test because of this | ||||
* | Rename the 'do_users_share_a_room' to something slightly less verb-sounding | Paul "LeoNerd" Evans | 2014-09-03 | 2 | -4/+4 |
| | |||||
* | Fix tests to support ratelimiting | Mark Haines | 2014-09-03 | 1 | -0/+13 |
| | |||||
* | Ensure that event source unit tests could cope with ↵ | Paul "LeoNerd" Evans | 2014-09-02 | 1 | -14/+20 |
| | | | | get_new_events_for_user() returning a Deferred | ||||
* | Reënable presence visibility permission checking now it's not used on ↵ | Paul "LeoNerd" Evans | 2014-09-01 | 1 | -2/+0 |
| | | | | redundant code paths | ||||
* | Fix the tests to include new db calls | Erik Johnston | 2014-09-01 | 1 | -6/+6 |
| | |||||
* | Rename API-visible 'mtime' presence field to 'last_active'; slightly ↵ | Paul "LeoNerd" Evans | 2014-09-01 | 2 | -17/+32 |
| | | | | different semantics | ||||
* | Rename 'state' presence key to the much more obvious 'presence'; maintain a ↵ | Paul "LeoNerd" Evans | 2014-09-01 | 2 | -50/+91 |
| | | | | legacy 'state' copy for now | ||||
* | change the world: make the default matrix API URL prefix /_matrix rather ↵ | Matthew Hodgson | 2014-08-31 | 2 | -15/+15 |
| | | | | | | 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 | ||||
* | Bugfixes on presence pushes on user joining: | Paul "LeoNerd" Evans | 2014-08-29 | 1 | -57/+71 |
| | | | | | | | | | * 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 | ||||
* | Fix a couple of bugs in presence handler related to pushing updatesto the ↵ | Erik Johnston | 2014-08-29 | 2 | -66/+126 |
| | | | | correct user. Fix presence tests. | ||||
* | Only send presence "poll"/"unpoll" EDUs when changing from/to zero remotes | Paul "LeoNerd" Evans | 2014-08-28 | 1 | -6/+33 |
| | |||||
* | Re-enable presence, un-skip presence tests | Paul "LeoNerd" Evans | 2014-08-28 | 2 | -9/+0 |
| | |||||
* | Remove get_state_for_room function from federation handler | Mark Haines | 2014-08-28 | 1 | -2/+8 |
| | |||||
* | Fix up the various presence-related tests so that if they're not skipped, ↵ | Paul "LeoNerd" Evans | 2014-08-27 | 2 | -4/+10 |
| | | | | they still PASS | ||||
* | Merge branch 'develop' into storage_transactions | Mark Haines | 2014-08-27 | 2 | -5/+3 |
|\ | | | | | | | | | | | Conflicts: tests/handlers/test_federation.py tests/handlers/test_room.py | ||||
| * | Fix tests. | Erik Johnston | 2014-08-27 | 2 | -4/+3 |
| | | |||||
* | | Merge branch 'develop' into storage_transactions | Mark Haines | 2014-08-27 | 1 | -0/+250 |
|\| | |||||
| * | Initial typing notification support - EDU federation, but no timers, and no ↵ | Paul "LeoNerd" Evans | 2014-08-27 | 1 | -0/+250 |
| | | | | | | | | actual push to clients | ||||
* | | Start updating state handling to use snapshots | Mark Haines | 2014-08-27 | 1 | -0/+1 |
| | | |||||
* | | Fill out prev_events before calling persist_event | Mark Haines | 2014-08-27 | 1 | -17/+26 |
| | | |||||
* | | Fold federation/handler into handlers/federation | Mark Haines | 2014-08-26 | 1 | -9/+15 |
| | | |||||
* | | Merge branch 'develop' into storage_transactions | Mark Haines | 2014-08-26 | 4 | -4/+14 |
|\| | | | | | | | | | | | | | Conflicts: synapse/api/auth.py synapse/handlers/room.py synapse/storage/__init__.py | ||||
| * | Fix ALL THE UNIT TESTS | Kegan Dougal | 2014-08-26 | 2 | -4/+3 |
| | | |||||
| * | skip presence tests which broke when presence polling was disabled | Mark Haines | 2014-08-22 | 2 | -0/+11 |
| | | |||||
* | | Take a snapshot of the state of the room before performing updates | Mark Haines | 2014-08-22 | 1 | -5/+20 |
|/ | |||||
* | Use the "collect_presencelike_data" distributor signal instead of ↵ | Paul "LeoNerd" Evans | 2014-08-20 | 1 | -0/+2 |
| | | | | re-implementing its behaviour | ||||
* | Fix test. get_joined_hosts_for_room get's called multiple times | Erik Johnston | 2014-08-20 | 1 | -3/+5 |
| | |||||
* | Fix federation test, since we now hit store.get_room | Erik Johnston | 2014-08-20 | 1 | -1/+2 |
| | |||||
* | Update tests | Erik Johnston | 2014-08-19 | 1 | -4/+4 |
| | |||||
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor | Erik Johnston | 2014-08-19 | 1 | -149/+287 |
|\ | | | | | | | | | | | | | Conflicts: tests/rest/test_presence.py tests/rest/test_rooms.py tests/utils.py | ||||
| * | Rewrite of PresenceHandler test to ensure it covers the interaction with ↵ | Paul "LeoNerd" Evans | 2014-08-19 | 1 | -149/+279 |
| | | | | | | | | Federation as well | ||||
| * | Implement and test presence dropping of remote users | Paul "LeoNerd" Evans | 2014-08-19 | 1 | -0/+8 |
| | | |||||
* | | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor | Erik Johnston | 2014-08-18 | 1 | -5/+40 |
|\| | |||||
| * | Allow room presence visibility between users who share a room | Paul "LeoNerd" Evans | 2014-08-18 | 1 | -5/+40 |
| | | |||||
* | | Fix some of the tests to reflect changes in the storage layer. | Erik Johnston | 2014-08-15 | 1 | -15/+7 |
|/ | |||||
* | Removed http_server from HomeServer. Updated unit tests to use either ↵ | Kegan Dougal | 2014-08-14 | 6 | -11/+10 |
| | | | | resource_for_federation or resource_for_client depending on what is being tested. | ||||
* | An initial hack at storing presence state-change mtimes in database and ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 2 | -18/+52 |
| | | | | presenting age durations to clients/federation events | ||||
* | Don't mock out presence_handler's internal start/stop methods in ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 1 | -9/+5 |
| | | | | presencelike unit test; it's rude | ||||
* | Implement directory service federation by Federation Queries; avoid ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 1 | -0/+112 |
| | | | | local_only hack; add unit tests | ||||
* | Use new Federation Query API to implement HS->HS fetching of remote users' ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 2 | -8/+30 |
| | | | | profile information instead of (ab)using the client-side REST API | ||||
* | Use strings instead of opaque magic-number constants for presence states; ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 2 | -18/+18 |
| | | | | rename AWAY to UNAVAILABLE | ||||
* | add in copyrights to everything, not just the synapse subdir, and add a ↵ | Matthew Hodgson | 2014-08-13 | 5 | -0/+70 |
| | | | | copyrighter.pl whilst we're at it | ||||
* | Reference Matrix Home Server | matrix.org | 2014-08-12 | 6 | -0/+1716 |