summary refs log tree commit diff
path: root/synapse/storage/pusher.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move storage classes into a main "data store".Erik Johnston2019-10-211-372/+0
| | | | | This is in preparation for having multiple data stores that offer different functionality, e.g. splitting out state or event storage.
* Disable bytes usage with postgresErik Johnston2019-10-081-1/+1
| | | | | | | | More often than not passing bytes to `txn.execute` is a bug (where we meant to pass a string) that just happens to work if `BYTEA_OUTPUT` is set to `ESCAPE`. However, this is a bit of a footgun so we want to instead error when this happens, and force using `bytearray` if we actually want to use bytes.
* Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-301-1/+1
| | | | | Python will return a tuple whether there are parentheses around the returned values or not. I'm just sick of my editor complaining about this all over the place :)
* Clarify docstringErik Johnston2019-08-131-1/+1
| | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Handle pusher being deleted during processing.Erik Johnston2019-08-011-8/+22
| | | | | Instead of throwing a StoreError lets break out of processing loop and mark the pusher as stopped.
* Replace returnValue with return (#5736)Amber Brown2019-07-231-5/+5
|
* Run Black. (#5482)Amber Brown2019-06-201-18/+18
|
* Run black on the rest of the storage module (#4996)Amber Brown2019-04-031-38/+48
|
* Use native UPSERTs where possible (#4306)Amber Brown2019-01-241-2/+7
|
* Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase ↵Amber Brown2018-10-201-1/+1
| | | | on py3) (#4068)
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-4/+10
|
* Logcontext fixesRichard van der Hoff2018-07-241-1/+1
| | | | Fix some random logcontext leaks.
* run isortAmber Brown2018-07-091-4/+5
|
* Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-281-2/+1
|
* Move storage functions for push calculationsErik Johnston2018-02-271-9/+13
| | | | This will allow push actions for an event to be calculated on workers.
* Update copyrightErik Johnston2018-02-231-0/+1
|
* Split PusherStoreErik Johnston2018-02-211-4/+6
|
* Avoid locking for upsert on pushers tablesRichard van der Hoff2017-11-161-5/+16
| | | | | * replace the upsert into deleted_pushers with an insert * no need to lock for upsert on pusher_throttle
* Avoid locking `pushers` table on upsertRichard van der Hoff2017-11-161-27/+28
| | | | | Now that _simple_upsert will retry on IntegrityError, we don't need to lock the table.
* Fix up docsErik Johnston2017-03-311-1/+1
|
* Add new storage functions for new replicationErik Johnston2017-03-301-0/+42
| | | | | The new replication protocol will keep all the streams separate, rather than muxing multiple streams into one.
* CommentErik Johnston2016-11-041-0/+1
|
* Remove unused but buggy functionErik Johnston2016-11-041-11/+1
|
* Remove lru optionErik Johnston2016-08-191-1/+1
|
* Only get local usersErik Johnston2016-06-031-1/+1
|
* Use state to calculate get_users_in_roomErik Johnston2016-06-011-11/+27
|
* Fixup add_pusherErik Johnston2016-05-131-3/+10
|
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-0/+3
|\
| * Check that somethign has happend before running the selectsMark Haines2016-04-271-0/+3
| |
* | Send a rather basic email notifDavid Baker2016-04-201-1/+1
| | | | | | | | Also pep8 fixes
* | First bits of emailpusherDavid Baker2016-04-191-0/+27
|/ | | | Mostly logic of when to send an email
* Add desc argErik Johnston2016-04-141-1/+5
|
* UnneccessarywhitespaceisunnecessaryDavid Baker2016-04-121-1/+0
|
* Oops, forgot the desc.David Baker2016-04-121-1/+1
|
* Tidy up get_pusher functionsDavid Baker2016-04-121-32/+30
| | | | Decodes pushers rows on the main thread rather than the db thread and uses _simple_select_list. Also do the same to the function I copied and factor out the duplication into a helper function.
* Mis-named functionDavid Baker2016-04-121-1/+1
|
* Add get endpoint for pushersDavid Baker2016-04-111-0/+19
| | | | As per https://github.com/matrix-org/matrix-doc/pull/308
* Fix invite pushesDavid Baker2016-04-081-0/+7
| | | | | | * If the event is an invite event, add the invitee to list of user we run push rules for (if they have a pusher etc) * Move invite_for_me to be higher prio than member events otherwise member events matches them * Spell override right
* Literally a dictionaryDavid Baker2016-04-071-17/+17
|
* generate id in the main threadDavid Baker2016-04-071-3/+3
|
* Make pushers use the event_push_actions table instead of listening on an ↵David Baker2016-04-061-29/+52
| | | | | | | event stream & running the rules again. Sytest passes, but remaining to do: * Make badges work again * Remove old, unused code
* Use a stream id generator for backfilled idsMark Haines2016-04-011-1/+1
|
* Fix a couple of errors when deleting pushersMark Haines2016-03-151-2/+2
|
* Add replication stream for pushersMark Haines2016-03-151-15/+48
|
* Load the current id in the IdGenerator constructorMark Haines2016-03-011-1/+1
| | | | | | | | | 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.
* Remove dead code for setting device specific rules.Mark Haines2016-02-181-3/+3
| | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code.
* Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵Mark Haines2016-01-131-11/+11
| | | | of the code
* Remove the PushersTable and EventPushActionsTable objectsMark Haines2016-01-121-9/+5
|
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* synapse/storage/_base.py:Table was unusedMark Haines2015-09-221-2/+2
|
* Remove syutil dependency in favour of smaller single-purpose librariesMark Haines2015-08-241-1/+1
|
* Correctly decode, for sqlite and postgres, rows from pushers tableErik Johnston2015-04-291-19/+24
|
* pushkey' are also bytes.Erik Johnston2015-04-291-8/+17
|
* Actually return rowsErik Johnston2015-04-291-0/+2
|
* Typo, args wrong way roundErik Johnston2015-04-291-4/+1
|
* Decode buffers in same threadErik Johnston2015-04-291-13/+19
|
* We store pusher data as bytesErik Johnston2015-04-291-2/+2
|
* Decode the data json in the storage layer (was moved but this part was missed)David Baker2015-04-291-0/+9
|
* Merge branch 'develop' of github.com:matrix-org/synapse into postgresErik Johnston2015-04-281-66/+24
|\
| * Delete pushers when changing passwordDavid Baker2015-03-261-35/+10
| |
| * Allow multiple pushers for a single app ID & pushkey, honouring the 'append' ↵David Baker2015-03-251-13/+14
| | | | | | | | flag in the API.
| * 1) Pushers are now associated with an access tokenDavid Baker2015-03-241-1/+2
| | | | | | | | 2) Change places where we mean unauthenticated to 401, not 403, in C/S v2: hack so it stays as 403 in v1 because web client relies on it.
* | PEP8Erik Johnston2015-04-161-3/+0
| |
* | Move encoding and decoding of JSON into storage layerErik Johnston2015-04-161-20/+6
| |
* | Add missing yieldErik Johnston2015-04-151-1/+1
| |
* | pushers table requires a unique id.Erik Johnston2015-04-151-0/+4
|/
* Give sensible names for '_simple_...' transactionsErik Johnston2015-03-201-5/+11
|
* Also give _execute() a descriptionPaul "LeoNerd" Evans2015-03-111-2/+3
|
* Update pushers by app id and pushkey, not user id and pushkeyDavid Baker2015-02-131-6/+6
|
* s/instance_handle/profile_tag/David Baker2015-02-031-7/+7
|
* Code style fixes.Mark Haines2015-01-291-1/+1
|
* add instance_handles to pushers so we have a way to refer to them even if ↵David Baker2015-01-201-21/+25
| | | | the push token changes.
* Require device language when adding a pusher.David Baker2015-01-161-1/+2
| | | | | Because this seems like it might be useful to do sooner rather than later.
* Honour the 'rejected' return from push gatewaysDavid Baker2015-01-131-11/+23
| | | | | | | Add a timestamp to push tokens so we know the last time they we got them from the device. Send it to the push gateways so it can determine whether its failure is more recent than the token. Stop and remove pushers that have been rejected.
* Thank you, pyflakesDavid Baker2014-12-181-1/+0
|
* after a few rethinks, a working implementation of pushers.David Baker2014-12-181-26/+57
|
* Update to app_id / app_instance_id (partially) and mangle to be PEP8 compliant.David Baker2014-12-031-22/+32
|
* More work on pushers. Attempt to do HTTP pokes. Not sure if the actual HTTP ↵David Baker2014-11-211-4/+22
| | | | pokes work or not yet but the retry semantics are pretty good.
* Start creating a module to do generic notifications (just prints them to ↵David Baker2014-11-191-0/+98
stdout currently!)