summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Initial typing notification support - EDU federation, but no timers, and no ↵Paul "LeoNerd" Evans2014-08-272-0/+148
| | | | actual push to clients
* Added parse_roomid() helperPaul "LeoNerd" Evans2014-08-271-0/+5
|
* Use SQLite's PRAGMA user_version to check if the database file really ↵Paul "LeoNerd" Evans2014-08-271-6/+28
| | | | matches the schema we have in mind
* Neater database setup at application startup time; only .connect() it once, ↵Paul "LeoNerd" Evans2014-08-271-17/+19
| | | | not once per schema file; don't build the db_pool twice
* Final url modifications: renamed /presence_list to /presence/list to keep ↵Kegan Dougal2014-08-271-1/+1
| | | | the top-level namespace clean. Updated tests.
* Renamed /rooms to /createRoom. Removed ability to PUT raw room IDs, and ↵Kegan Dougal2014-08-271-17/+14
| | | | removed tests which tested that. Updated cmdclient and webclient.
* Added support for GET /events/$eventid with auth checks.Kegan Dougal2014-08-274-2/+45
|
* Modified /join/$identifier to support $identifier being a room ID in ↵Kegan Dougal2014-08-273-14/+61
| | | | addition to a room alias.
* Pepper UT TODOsKegan Dougal2014-08-262-0/+6
|
* Feedback: Removed FeedbackRestServlet. Modified keys on FeedbackEvent. ↵Kegan Dougal2014-08-264-81/+13
| | | | Expanded the feedback constants to fully explain what type of feedback they are.
* Removed MessageRestServlet, use RoomSendEventRestServlet instead. Updated ↵Kegan Dougal2014-08-261-49/+0
| | | | cmdclient, tests and webclient. All appears to work.
* Added RoomSendEventRestServlet to send generic non-state events. It even ↵Kegan Dougal2014-08-261-2/+50
| | | | appears to work..!
* Respect 'limit' param in initialSync apiErik Johnston2014-08-261-1/+5
|
* Merge branch 'client_server_url_rename' into developKegan Dougal2014-08-263-7/+8
|\
| * Renaming: /im/sync >> /initialSync. /rooms/$roomid/members/list >> ↵Kegan Dougal2014-08-263-7/+8
| | | | | | | | /rooms/$roomid/members. /rooms$roomid/messages/list >> /room/$roomid/messages. Updated cmdclient, tests and webclient.
* | Use state_key rather than target_user_idMark Haines2014-08-261-1/+1
|/
* Fix pyflakes errorsMark Haines2014-08-2611-31/+11
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Kegan Dougal2014-08-263-5/+35
|\ | | | | | | client_server_url_rename
| * Add the ability to turn on the twisted manhole telnet service.Erik Johnston2014-08-261-0/+10
| |
| * Add a do_users_share_a_room method and use that in the presence handler.Erik Johnston2014-08-262-5/+25
| |
* | Implemented /rooms/$roomid/[invite|join|leave] with POST / PUT (incl txn ids)Kegan Dougal2014-08-262-8/+35
| |
* | Added basic in-memory REST transaction storage. Only the latest transaction ↵Kegan Dougal2014-08-263-2/+103
| | | | | | | | for a given path/access_token combo is stored in order to prevent storing ALL request/response pairs.
* | Added servlet for /rooms/$roomid/[invite|join|leave]Kegan Dougal2014-08-261-0/+40
|/
* Adjusted webclient to use new state paths. Updated membership msg template ↵Kegan Dougal2014-08-261-1/+2
| | | | to actually show the person invited. Factored out common membership functions in matrix service.
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Kegan Dougal2014-08-261-1/+1
|\ | | | | | | client_server_url_rename
| * Add 'state_key' to valid_keysErik Johnston2014-08-261-0/+1
| |
| * Send down state_key to clientsErik Johnston2014-08-261-1/+0
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Kegan Dougal2014-08-2617-30/+153
|\| | | | | | | client_server_url_rename
| * Order 'get_recent_events_for_room' correctly.Erik Johnston2014-08-261-1/+1
| |
| * Ensure that we don't have duplicate hosts in the pdu destinations listErik Johnston2014-08-241-2/+2
| |
| * For the content repo, don't just use homeserver.hostname as that might not ↵Erik Johnston2014-08-242-1/+10
| | | | | | | | include the port due to SRV.
| * Add a unique constraint on the room hosts tableErik Johnston2014-08-241-1/+2
| |
| * Encode unicode from json as utf-8. This was required to allow people to ↵Erik Johnston2014-08-241-2/+2
| | | | | | | | register on my laptop
| * Oops, we need to use defer.returnValue.Erik Johnston2014-08-221-1/+2
| |
| * Make is_presence_visible always return true as it was thrashing the database.Erik Johnston2014-08-221-0/+3
| |
| * Turn off more spammy logging.Erik Johnston2014-08-221-1/+1
| |
| * Turn off spammy loggingErik Johnston2014-08-221-1/+1
| |
| * Add indices to schemaErik Johnston2014-08-222-0/+24
| |
| * Don't return state event outlier's when paginating.Erik Johnston2014-08-223-2/+9
| |
| * Bump versions to 0.0.1Erik Johnston2014-08-221-0/+2
| |
| * Make the content repo work with in daemon mode. Return the full url on ↵Erik Johnston2014-08-222-8/+23
| | | | | | | | upload. Update the webclient to use new content repo api.
| * host a webclient by defaultMatthew Hodgson2014-08-211-2/+2
| |
| * Add ts field to all events.Erik Johnston2014-08-212-2/+7
| |
| * Change IM sync api to also return the current presence list.Erik Johnston2014-08-212-6/+23
| |
| * In the initial sync api, return the inviter for rooms in the 'invited' stateErik Johnston2014-08-211-0/+4
| |
| * Return the current state in the initial sync api.Erik Johnston2014-08-211-0/+3
| |
| * Stop internal keys from getting into SynapseEventsErik Johnston2014-08-212-0/+6
| |
| * Wait for getting a Join in response to an invite/join dance.Erik Johnston2014-08-212-2/+28
| |
* | Removed member list servlet: now using generic state paths.Kegan Dougal2014-08-268-102/+51
| |
* | Impl: /rooms/roomid/state/eventtype/state_key - Renamed RoomTopicRestServlet ↵Kegan Dougal2014-08-222-20/+43
|/ | | | to RoomStateEventRestServlet. Support generic state event sending.
* Make event stream storage return all membership events about the user, ↵Erik Johnston2014-08-201-4/+6
| | | | regardless of if they were in the room or not.
* Use the "collect_presencelike_data" distributor signal instead of ↵Paul "LeoNerd" Evans2014-08-201-30/+2
| | | | re-implementing its behaviour
* Fix exception name in _fill_out_join_content() exceptionPaul "LeoNerd" Evans2014-08-201-1/+3
|
* Define __copy__ and __deepcopy__ as identity functions on ↵Paul "LeoNerd" Evans2014-08-201-0/+8
| | | | DomainSpecificString, so that copy.deepcopy() will work on them
* Kill the "_homeserver_" injected messages for room membership changesPaul "LeoNerd" Evans2014-08-202-58/+6
|
* Give the event_id of the failed eventErik Johnston2014-08-201-1/+4
|
* Better handle the edge cases of trying to remote join roomsErik Johnston2014-08-202-37/+88
|
* Don't generate room membership messages. Include previous state of in ↵Erik Johnston2014-08-201-7/+10
| | | | membership messages.
* Only hit get_room_events_stream if we have a valid user_idErik Johnston2014-08-191-0/+3
|
* Fix token to correct formatErik Johnston2014-08-191-1/+1
|
* Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-191-3/+0
|\
| * Don't delete OFFLINE users from the presence cache, so we can report on ↵Paul "LeoNerd" Evans2014-08-191-3/+0
| | | | | | | | their offline mtime
* | Remove debug logging from token parsing funcs.Erik Johnston2014-08-191-2/+0
| |
* | Add comment about what strorage.stream doesErik Johnston2014-08-191-0/+20
| |
* | Default from param to 'END'Erik Johnston2014-08-191-0/+1
| |
* | PresenceStreamData was expecting *_key to be intsErik Johnston2014-08-191-0/+3
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-198-18/+194
|\| | | | | | | | | | | | | Conflicts: tests/rest/test_presence.py tests/rest/test_rooms.py tests/utils.py
| * Ensure that federation's .send_edu() returns a DeferredPaul "LeoNerd" Evans2014-08-191-0/+1
| |
| * More unquotes. Also, don't return the room_id on membership state changes, ↵Kegan Dougal2014-08-191-6/+8
| | | | | | | | they already know it.
| * Unquote sender IDs.Kegan Dougal2014-08-191-2/+2
| |
| * Perform the 'REST'-level tests of Presence against the real Presence handler ↵Paul "LeoNerd" Evans2014-08-191-1/+1
| | | | | | | | as well, mocking out the datastore beneath it
| * Implement and test presence dropping of remote usersPaul "LeoNerd" Evans2014-08-191-2/+6
| |
| * Deny __iter__ on UserID/RoomID/RoomName instances as it's a subtle bug that ↵Paul "LeoNerd" Evans2014-08-191-0/+6
| | | | | | | | will bite you
| * Reduce the amount of incredibly spammy stack traces. Expected errors (e.g. ↵Kegan Dougal2014-08-191-1/+13
| | | | | | | | SynapseErrors) shouldn't have their full trace logged every time. Don't send responses to disconnected requests.
| * Small amounts of cleanup and bonus round comments.Kegan Dougal2014-08-181-4/+8
| |
| * Implemented GETs for the ContentRepoResource. It all actually appears to be ↵Kegan Dougal2014-08-182-13/+62
| | | | | | | | working.
| * hs: Make the uploads directory if it doesn't exist. Namespace uploads by the ↵Kegan Dougal2014-08-181-5/+46
| | | | | | | | base64 encoded user id of the uploader. Make a reasonable attempt to retry clashing upload paths. Try to guess a sensible file extension depending on the content type.
| * Auth content uploads. Added a mapping function from request > filename. ↵Kegan Dougal2014-08-182-13/+33
| | | | | | | | Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore.
| * Added /matrix/content path, HS resource_for_content_repo attribute and ↵Kegan Dougal2014-08-184-4/+41
| | | | | | | | FileUploadResource. Added stub methods.
* | Fix bug where we sometimes set min_token to None.Erik Johnston2014-08-191-1/+2
| |
* | Print out stacktrace when we failed to persist event.Erik Johnston2014-08-191-1/+1
| |
* | Add a 'backfill room' buttonErik Johnston2014-08-196-25/+81
| |
* | Change the way pagination works to support out of order events.Erik Johnston2014-08-196-79/+225
| |
* | Fix typos in SQL and where we still had rowid's (which no longer exist)Erik Johnston2014-08-182-7/+7
| |
* | Make snapshot_all_rooms return results in the correct form, including start ↵Erik Johnston2014-08-182-6/+28
| | | | | | | | and end tokens.
* | SQL doesn't allow AUTOINCREMENT on non PRIMARY KEY columns.Erik Johnston2014-08-182-3/+20
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-183-12/+14
|\|
| * Update the default longpoll timeout time.Kegan Dougal2014-08-181-1/+1
| |
| * Allow room presence visibility between users who share a roomPaul "LeoNerd" Evans2014-08-181-7/+5
| |
| * Precent lack of presence visiblity from causing room /members/list to failPaul "LeoNerd" Evans2014-08-181-4/+8
| |
* | Add two different columns for ordering the events table, one which can be ↵Erik Johnston2014-08-184-19/+33
| | | | | | | | used for pagination and one which can be as tokens for notifying clients. Also add a 'processed' field which is currently always set to True
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-182-2/+8
|\|
| * improve commentMatthew Hodgson2014-08-161-1/+1
| |
| * emergency bodges to turn off presence ACLs in order to makeMatthew Hodgson2014-08-161-2/+7
| | | | | | | | matrix.org:8080 actually work
| * retcols is mandatory. i have no idea how this could ever have worked?Matthew Hodgson2014-08-161-0/+1
| |
* | Not all event streams returns SynapseEventsErik Johnston2014-08-181-1/+5
| |
* | We don't need to do a json.loads hereErik Johnston2014-08-181-2/+2
| |
* | Ensure we have a 'membership' key in RoomMemberEventsErik Johnston2014-08-181-0/+2
| |
* | Disable the ability to GET individualy messages. We need to think about the ↵Erik Johnston2014-08-181-5/+7
| | | | | | | | correct API to do this, as the current one doesn't make much sense.
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-151-3/+12
|\|
| * When starting to poll for presence, also include members of all shared roomsPaul "LeoNerd" Evans2014-08-151-3/+12
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-151-0/+7
|\|
| * Also include users' presence when responding to /rooms/:room_id/members/listPaul "LeoNerd" Evans2014-08-151-0/+7
| |
| * Fix imsync's SELECT query to only find the rooms I'm actually joined in, not ↵Paul "LeoNerd" Evans2014-08-151-2/+5
| | | | | | | | every room I have ever joined
* | Rename method name to not clash with other ones in storage.Erik Johnston2014-08-152-4/+4
| |
* | Fix typo of key nameErik Johnston2014-08-151-1/+1
| |
* | We no longer need to special case room config events.Erik Johnston2014-08-151-2/+2
| |
* | PEP8 cleanupsErik Johnston2014-08-157-16/+29
| |
* | Comment.Erik Johnston2014-08-151-0/+1
| |
* | Support generic events.Erik Johnston2014-08-152-5/+8
| |
* | Fix bug when generating a key when get_room_events_stream returned zero rowsErik Johnston2014-08-151-3/+7
| |
* | Actually use MAX_STREAM_SIZE constant.Erik Johnston2014-08-151-1/+1
| |
* | Fix pagination to work with new db schemaErik Johnston2014-08-152-31/+48
| |
* | Correctly return new token when returning events. Serialize events correctly.Erik Johnston2014-08-155-9/+25
| |
* | Start chagning the events stream to work with the new DB schemaErik Johnston2014-08-158-118/+102
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-1520-107/+235
|\| | | | | | | | | Conflicts: synapse/storage/stream.py
| * Add a check to make sure that during state conflict res we only request a ↵Erik Johnston2014-08-151-2/+10
| | | | | | | | PDU we don't have.
| * Fix pontenial bug in state resolution handler that compared dicts rather ↵Erik Johnston2014-08-151-1/+4
| | | | | | | | than their id's
| * Remember to reflect membership LEAVE events to the leaving member so they ↵Paul "LeoNerd" Evans2014-08-151-0/+4
| | | | | | | | know it happened
| * Pass back the user_id in the response to /login in case it has changed. ↵Kegan Dougal2014-08-142-5/+7
| | | | | | | | Store and use that on the webclient rather than the input field.
| * hs: Make /login accept full user IDs or just local parts. webclient: Only ↵Kegan Dougal2014-08-141-1/+5
| | | | | | | | enable Register button when both password fields match.
| * Reflect user's messages up to themselves before pushing it to federatoin; ↵Paul "LeoNerd" Evans2014-08-141-2/+2
| | | | | | | | also release roomlock before touching federation so we don't halt progress on the world
| * We really don't need debug logging of all the SQL statements we execute; ↵Paul "LeoNerd" Evans2014-08-141-4/+0
| | | | | | | | we're quite happy these all work now
| * Put some DEBUG logging in lockutils.py so we can debug roomlocksPaul "LeoNerd" Evans2014-08-141-3/+9
| |
| * Be more helpful when failing to register/login, stating why (communication ↵Kegan Dougal2014-08-141-2/+2
| | | | | | | | error, user in user, wrong credentials, etc). Make the HS send M_USER_IN_USE.
| * Send forbidden codes when doing login attempts.Kegan Dougal2014-08-141-3/+3
| |
| * Round Presence mtime and mtime_age to nearest msec; avoids floats for msec ↵Paul "LeoNerd" Evans2014-08-141-5/+15
| | | | | | | | values over the wire
| * Change relative db paths to absolute paths in case we daemonize.Erik Johnston2014-08-141-2/+9
| |
| * chmod +x homeserver.pyPaul "LeoNerd" Evans2014-08-141-0/+0
| |
| * Added M_UNKNOWN_TOKEN error code and send it when there is an unrecognised ↵Kegan Dougal2014-08-142-2/+4
| | | | | | | | access_token
| * Default error code BAD_PAGINATION for EventStreamErrorsKegan Dougal2014-08-141-1/+4
| |
| * Added web client prefixKegan Dougal2014-08-142-4/+5
| |
| * Added a urls module for keeping client and federation prefixes.Kegan Dougal2014-08-145-14/+23
| |
| * If the web client is enabled, automatically redirect root '/' to the web ↵Kegan Dougal2014-08-142-4/+30
| | | | | | | | client path.
| * Fixed dynamic resource mapping to clobber dummy Resources with the actual ↵Kegan Dougal2014-08-141-5/+27
| | | | | | | | desired Resource in the event of a collision (as is the case for '/matrix/client' and '/matrix/client/api/v1')
| * Honour the -w flag to enable the web client at /matrix/clientKegan Dougal2014-08-141-5/+8
| |
| * Removed http_server from HomeServer. Updated unit tests to use either ↵Kegan Dougal2014-08-143-14/+7
| | | | | | | | resource_for_federation or resource_for_client depending on what is being tested.
| * Make federation use resource_for_federation as well.Kegan Dougal2014-08-144-49/+5
| |
| * Start phasing out HttpServer: we should be using Resources instead. Added ↵Kegan Dougal2014-08-145-21/+97
| | | | | | | | resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree.
* | Reimplement the get public rooms api to work with new DB schemaErik Johnston2014-08-157-37/+101
| |
* | Fix up typos and correct sql queriesErik Johnston2014-08-146-44/+36
| |
* | Update StreamStoreErik Johnston2014-08-141-245/+36
| |
* | Start fixing places that use the data store.Erik Johnston2014-08-146-39/+33
| |
* | Fix typoErik Johnston2014-08-141-1/+1
| |
* | Rename _execute_queryErik Johnston2014-08-144-4/+4
| |
* | Fix up RoomMemberStore to work with the new schema.Erik Johnston2014-08-143-97/+79
| |
* | Actually encode dicts as json in the DBErik Johnston2014-08-142-3/+4
| |
* | Change relative db paths to absolute paths in case we daemonize.Erik Johnston2014-08-141-2/+9
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-1416-93/+124
|\| | | | | | | | | Conflicts: synapse/storage/_base.py
| * fix http client GET parameters; somehow missing named param. how could this ↵Matthew Hodgson2014-08-141-2/+2
| | | | | | | | have ever worked!?
| * fix whitespaceMatthew Hodgson2014-08-141-0/+1
| |
| * An initial hack at storing presence state-change mtimes in database and ↵Paul "LeoNerd" Evans2014-08-134-9/+39
| | | | | | | | presenting age durations to clients/federation events
| * Set datastore's .hs field in SQLBaseStore rather than in the toplevel ↵Paul "LeoNerd" Evans2014-08-132-1/+1
| | | | | | | | DataStore mixed-in result class
| * when we're talking about backfilling data in federation, call it backfilling ↵Matthew Hodgson2014-08-135-41/+41
| | | | | | | | - not pagination.
| * Implement directory service federation by Federation Queries; avoid ↵Paul "LeoNerd" Evans2014-08-132-27/+29
| | | | | | | | local_only hack; add unit tests
| * Add a HomeServer.parse_roomalias() to avoid having to ↵Paul "LeoNerd" Evans2014-08-133-14/+12
| | | | | | | | RoomAlias.from_sring(..., hs=hs) - similar to parse_userid()
* | Make feedback table also store sender.Erik Johnston2014-08-132-1/+3
| |
* | Initial stab at refactoring the SQL tables, including rejigging some of the ↵Erik Johnston2014-08-136-261/+115
| | | | | | | | storage layer.
* | Convert im schema to a 'one' table structureErik Johnston2014-08-131-26/+31
|/
* Now that HS->HS Profile lookups use Federation Queries, we don't need the ↵Paul "LeoNerd" Evans2014-08-132-10/+4
| | | | 'local_only' antirecursion hack
* Use new Federation Query API to implement HS->HS fetching of remote users' ↵Paul "LeoNerd" Evans2014-08-131-25/+41
| | | | profile information instead of (ab)using the client-side REST API
* Define the concept of a 'federation Query'; creating API for making and ↵Paul "LeoNerd" Evans2014-08-132-0/+75
| | | | handling Queries on the Federation's increasingly-inaccurately-named ReplicationLayer
* Update get_json()'s documentation to match the actual observed behaviourPaul "LeoNerd" Evans2014-08-131-4/+3
|
* Handle a potential race in the notifier when calling get_events_for which ↵Erik Johnston2014-08-131-3/+7
| | | | resulted in an uncaught KeyError
* Don't pass host_web_client flag to register_servlets, it needs to be a ↵Kegan Dougal2014-08-132-4/+2
| | | | Resource not a RestServlet.
* Merge branch 'master' of github.com:matrix-org/synapseKegan Dougal2014-08-133-22/+24
|\
| * Fix logging verbosity parsing codePaul "LeoNerd" Evans2014-08-131-3/+2
| |
| * Namespace all the Federation HTTP URLs to /matrix/federation/v1/...Paul "LeoNerd" Evans2014-08-131-15/+18
| |
| * Use strings instead of opaque magic-number constants for presence states; ↵Paul "LeoNerd" Evans2014-08-131-4/+4
| | | | | | | | rename AWAY to UNAVAILABLE
* | Merge branch 'master' of github.com:matrix-org/synapseKegan Dougal2014-08-131-3/+3
|\|
| * verbose by default pleaseMatthew Hodgson2014-08-131-3/+3
| |
* | Added a -w flag which will host the web client if specified. Currently this ↵Kegan Dougal2014-08-135-48/+65
|/ | | | just delegates to the webclient RestServlet.
* Return the room_alias when GETing public rooms.Kegan Dougal2014-08-131-2/+5
|
* add in whitespace after copyright statements to improve legibilityMatthew Hodgson2014-08-1375-1/+75
|
* actually register the login servlet (uncommitted code thinko?)Matthew Hodgson2014-08-131-3/+2
|
* Just say yes to OPTIONS requests, since we want to turn on CORS headers for ↵Erik Johnston2014-08-121-0/+5
| | | | all paths
* Reference Matrix Home Servermatrix.org2014-08-1283-0/+11941