summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'develop' into rav/drop_re_signing_hacksRichard van der Hoff2018-07-04101-571/+1178
|\
| * Reject invalid server names (#3480)Richard van der Hoff2018-07-032-25/+75
| | | | | | | | | | Make sure that server_names used in auth headers are sane, and reject them with a sensible error code, before they disappear off into the depths of the system.
| * replace invalid utf8 with \ufffdMatthew Hodgson2018-07-021-2/+2
| |
| * a fix which doesn't NPE everywhereMatthew Hodgson2018-07-011-9/+17
| |
| * don't mix unicode strings with utf8-in-byte-stringsMatthew Hodgson2018-07-011-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise we explode with: ``` Traceback (most recent call last): File /usr/lib/python2.7/logging/handlers.py, line 78, in emit logging.FileHandler.emit(self, record) File /usr/lib/python2.7/logging/__init__.py, line 950, in emit StreamHandler.emit(self, record) File /usr/lib/python2.7/logging/__init__.py, line 887, in emit self.handleError(record) File /usr/lib/python2.7/logging/__init__.py, line 810, in handleError None, sys.stderr) File /usr/lib/python2.7/traceback.py, line 124, in print_exception _print(file, 'Traceback (most recent call last):') File /usr/lib/python2.7/traceback.py, line 13, in _print file.write(str+terminator) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_io.py, line 170, in write self.log.emit(self.level, format=u{log_io}, log_io=line) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 144, in emit self.observer(event) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 136, in __call__ errorLogger = self._errorLoggerForObserver(brokenObserver) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 156, in _errorLoggerForObserver if obs is not observer File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 81, in __init__ self.log = Logger(observer=self) File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 64, in __init__ namespace = self._namespaceFromCallingContext() File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 42, in _namespaceFromCallingContext return currentframe(2).f_globals[__name__] File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/python/compat.py, line 93, in currentframe for x in range(n + 1): RuntimeError: maximum recursion depth exceeded while calling a Python object Logged from file site.py, line 129 File /usr/lib/python2.7/logging/__init__.py, line 859, in emit msg = self.format(record) File /usr/lib/python2.7/logging/__init__.py, line 732, in format return fmt.format(record) File /usr/lib/python2.7/logging/__init__.py, line 471, in format record.message = record.getMessage() File /usr/lib/python2.7/logging/__init__.py, line 335, in getMessage msg = msg % self.args UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4: ordinal not in range(128) Logged from file site.py, line 129 ``` ...where the logger apparently recurses whilst trying to log the error, hitting the maximum recursion depth and killing everything badly.
| * Merge pull request #3456 from matrix-org/hawkowl/federation-prevevent-checkingErik Johnston2018-06-292-29/+71
| |\ | | | | | | Check the state of prev_events a bit more thoroughly when coming over federation
| | * try and clean upAmber Brown2018-06-271-3/+6
| | |
| | * pep8Amber Brown2018-06-271-6/+4
| | |
| | * cleanupsAmber Brown2018-06-271-13/+15
| | |
| | * handle federation not telling us about prev_eventsAmber Brown2018-06-272-26/+65
| | |
| * | fix testsMatthew Hodgson2018-06-281-0/+1
| | |
| * | add ip_range_whitelist parameter to limit where ASes can connect fromMatthew Hodgson2018-06-283-2/+19
| | |
| * | Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-2839-62/+78
| | |
| * | Revert "Revert "Try to not use as much CPU in the StreamChangeCache"" (#3454)Amber Brown2018-06-281-2/+4
| |/
| * Revert "Try to not use as much CPU in the StreamChangeCache"Matthew Hodgson2018-06-261-4/+2
| |
| * Merge pull request #3451 from matrix-org/hawkowl/sorteddict-apiMatthew Hodgson2018-06-261-2/+4
| |\ | | | | | | Try to not use as much CPU in the cache
| | * fixesAmber Brown2018-06-261-2/+2
| | |
| | * fixesAmber Brown2018-06-261-2/+2
| | |
| | * try and make loading items from the cache fasterAmber Brown2018-06-261-2/+4
| | |
| * | Fix error on deleting users pending deactivationDavid Baker2018-06-261-1/+3
| | | | | | | | | | | | Use simple_delete instead of simple_delete_one as commented
| * | Merge pull request #3448 from matrix-org/matthew/gdpr-deactivate-admin-apiMatthew Hodgson2018-06-262-1/+13
| |\ \ | | |/ | |/| add GDPR erase param to deactivate API
| | * update doc for deactivate APIMatthew Hodgson2018-06-261-1/+1
| | |
| | * add GDPR erase param to deactivate APIMatthew Hodgson2018-06-262-1/+13
| | |
| * | Merge pull request #3438 from turt2live/travis/dont-print-access-tokens-in-logsAmber Brown2018-06-261-2/+2
| |\ \ | | | | | | | | Stop including access tokens in warnings in the log
| | * | Don't print invalid access tokens in the logsTravis Ralston2018-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | Tokens shouldn't be appearing the logs, valid or invalid. Signed-off-by: Travis Ralston <travpc@gmail.com>
| * | | Merge pull request #3442 from matrix-org/matthew/allow-unconsented-partsErik Johnston2018-06-251-2/+6
| |\ \ \ | | | | | | | | | | allow non-consented users to still part rooms (to let us autopart them)
| | * | | allow non-consented users to still part rooms (to let us autopart them)Matthew Hodgson2018-06-251-2/+6
| | | |/ | | |/|
| * | | Actually fix itErik Johnston2018-06-251-3/+3
| | | |
| * | | CommentErik Johnston2018-06-251-0/+8
| | | |
| * | | Fix bug with assuming wrong typeErik Johnston2018-06-251-2/+2
| | | |
| * | | Add fast path to _filter_events_for_serverErik Johnston2018-06-251-1/+34
| |/ / | | | | | | | | | | | | | | | Most rooms have a trivial history visibility like "shared" or "world_readable", especially large rooms, so lets not bother getting the full membership of those rooms in that case.
| * | typosMatthew Hodgson2018-06-251-1/+1
| | |
| * | typoMatthew Hodgson2018-06-251-1/+1
| | |
| * | Need to pass reactor to endpoint facErik Johnston2018-06-251-1/+1
| | |
| * | Merge pull request #3441 from matrix-org/erikj/redo_erasureErik Johnston2018-06-259-26/+216
| |\ \ | | | | | | | | Fix user erasure and re-enable
| | * | Add UserErasureWorkerStore to workersErik Johnston2018-06-251-0/+2
| | | |
| | * | Revert "Revert "Merge pull request #3431 from ↵Erik Johnston2018-06-258-26/+214
| | |/ | | | | | | | | | | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
| * / Remove all global reactor imports & pass it around explicitly (#3424)Amber Brown2018-06-259-22/+29
| |/
| * Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility"Richard van der Hoff2018-06-228-214/+26
| | | | | | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
| * Merge pull request #3435 from matrix-org/rav/fix_event_push_actions_tablescanRichard van der Hoff2018-06-221-1/+8
| |\ | | | | | | Fix event_push_actions tablescan when reinserting events
| | * Deleting from event_push_actions needs to use an indexMark Haines2018-06-221-1/+8
| | |
| * | Also log number of events for serach contextErik Johnston2018-06-221-0/+5
| | |
| * | Add some logging to search queriesErik Johnston2018-06-221-0/+9
| |/
| * Merge pull request #3432 from matrix-org/rav/joined_hosts_cache_non_iterableRichard van der Hoff2018-06-221-1/+1
| |\ | | | | | | Make _get_joined_hosts_cache cache non-iterable
| | * Make _get_joined_hosts_cache cache non-iterableErik Johnston2018-06-221-1/+1
| | |
| * | Merge pull request #3430 from matrix-org/rav/configurable_push_action_rotationRichard van der Hoff2018-06-221-3/+5
| |\ \ | | |/ | |/| Make push actions rotation configurable
| | * Make push actions rotation configurableErik Johnston2018-06-221-3/+5
| | |
| * | Merge pull request #3431 from matrix-org/rav/erasure_visibilityErik Johnston2018-06-228-26/+214
| |\ \ | | | | | | | | Support hiding events from deleted users
| | * | Filter out erased messagesRichard van der Hoff2018-06-122-22/+68
| | | | | | | | | | | | | | | | Redact any messges sent by erased users.
| | * | mark accounts as erased when requestedRichard van der Hoff2018-06-123-4/+20
| | | |
| | * | UserErasureStoreRichard van der Hoff2018-06-123-0/+126
| | | | | | | | | | | | | | | | to store which users have been erased
| * | | Merge pull request #3428 from matrix-org/erikj/persisted_pduErik Johnston2018-06-222-30/+27
| |\| | | | | | | | | | Simplify get_persisted_pdu
| | * | simplify get_persisted_pduRichard van der Hoff2018-06-122-30/+27
| | | | | | | | | | | | | | | | | | | | it doesn't make much sense to use get_persisted_pdu on the receive path: just get the event straight from the store.
| * | | Merge pull request #3427 from matrix-org/erikj/remove_filtersErik Johnston2018-06-222-84/+35
| |\| | | | |/ | |/| remove dead filter_events_for_clients
| | * remove dead filter_events_for_clientsRichard van der Hoff2018-06-122-84/+35
| | | | | | | | | | | | | | | | | | This is only used by filter_events_for_client, so we can simplify the whole thing by just doing one user at a time, and removing a dead storage function to boot.
| * | Disable partial state group caching for wildcard lookupsRichard van der Hoff2018-06-222-26/+55
| | | | | | | | | | | | | | | | | | | | | When _get_state_for_groups is given a wildcard filter, just do a complete lookup. Hopefully this will give us the best of both worlds by not filling up the ram if we only need one or two keys, but also making the cache still work for the federation reader usecase.
| * | Merge pull request #3382 from matrix-org/rav/optimise_state_groupsRichard van der Hoff2018-06-221-5/+1
| |\ \ | | | | | | | | Optimise state_group_cache update
| | * | Optimise state_group_cache updateRichard van der Hoff2018-06-111-5/+1
| | | | | | | | | | | | | | | | | | | | (1) matrix-org-hotfixes has removed the intern calls; let's do the same here. (2) remove redundant iteritems() so we can used an optimised db update.
| * | | Merge pull request #3419 from matrix-org/rav/events_per_requestRichard van der Hoff2018-06-223-1/+23
| |\ \ \ | | | | | | | | | | Log number of events fetched from DB
| | * | | Indirect evt_count updates via method callRichard van der Hoff2018-06-222-1/+12
| | | | | | | | | | | | | | | | | | | | so that we can stub it for the sentinel and not have a billion failing UTs
| | * | | Log number of events fetched from DBRichard van der Hoff2018-06-213-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we finish processing a request, log the number of events we fetched from the database to handle it. [I'm trying to figure out which requests are responsible for large amounts of event cache churn. It may turn out to be more helpful to add counts to the prometheus per-request/block metrics, but that is an extension to this code anyway.]
| * | | | Merge pull request #3418 from matrix-org/rav/fix_metric_descAmber Brown2018-06-221-1/+1
| |\ \ \ \ | | | | | | | | | | | | Fix description of "python_gc_time" metric
| | * | | | Fix description of "python_gc_time" metricRichard van der Hoff2018-06-211-1/+1
| | | | | |
| * | | | | Pass around the reactor explicitly (#3385)Amber Brown2018-06-2218-72/+111
| | | | | |
| * | | | | Populate synapse_federation_client_sent_pdu_destinations:count again (#3386)Amber Brown2018-06-211-3/+7
| | | | | |
| * | | | | Fix tcp protocol metrics naming (#3410)Amber Brown2018-06-211-18/+35
| | |/ / / | |/| | |
| * | | | Merge pull request #3416 from matrix-org/rav/restart_indicatorRichard van der Hoff2018-06-202-12/+19
| |\ \ \ \ | | |/ / / | |/| | | Write a clear restart indicator in logs
| | * | | Write a clear restart indicator in logsRichard van der Hoff2018-06-202-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | I'm fed up with never being able to find the point a server restarted in the logs.
| * | | | Merge pull request #3399 from costacruise/masterRichard van der Hoff2018-06-201-2/+6
| |\ \ \ \ | | | | | | | | | | | | Add error code to room creation error
| | * | | | Add error code to room creation errorMichael Wagner2018-06-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
| * | | | | Fix inflight requests metric (incorrect name & traceback) (#3413)Amber Brown2018-06-201-3/+7
| | |/ / / | |/| | |
| * | | | spell gauge correctlyMatthew Hodgson2018-06-161-1/+1
| | | | |
| * | | | Merge branch 'master' into developRichard van der Hoff2018-06-143-45/+69
| |\ \ \ \
| | * \ \ \ Merge tag 'v0.31.2'Richard van der Hoff2018-06-143-45/+69
| | |\ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SECURITY UPDATE: Prevent unauthorised users from setting state events in a room when there is no `m.room.power_levels` event in force in the room. (PR #3397) Discussion around the Matrix Spec change proposal for this change can be followed at https://github.com/matrix-org/matrix-doc/issues/1304.
| | | * | | v0.31.2Richard van der Hoff2018-06-141-1/+2
| | | | | |
| | | * | | Merge pull request #3397 from matrix-org/rav/adjust_auth_rulesRichard van der Hoff2018-06-142-44/+67
| | | |\ \ \ | | | | | | | | | | | | | | Adjust event auth rules when there is no PL event
| | | | * | | Make default state_default 50Richard van der Hoff2018-06-141-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it so that, before there is a power-levels event in the room, you need a power level of at least 50 to send state. Partially addresses https://github.com/matrix-org/matrix-doc/issues/1192
| | | | * | | Clarify interface for event_authRichard van der Hoff2018-06-141-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stop pretending that it returns a boolean, which just almost gave me a heart attack.
| | | | * | | Refactor get_send_level to take a power_levels eventRichard van der Hoff2018-06-142-8/+39
| | | | |/ / | | | | | | | | | | | | | | | | | | it makes it easier for me to reason about
| * | | | | add a last seen metric (#3396)Amber Brown2018-06-141-0/+21
| | | | | |
| * | | | | Remove run_on_reactor (#3395)Amber Brown2018-06-1411-59/+6
| | | | | |
| * | | | | Merge pull request #3389 from turt2live/travis/name_metricsAmber Brown2018-06-1311-11/+11
| |\ \ \ \ \ | | | | | | | | | | | | | | Use the correct flag (enable_metrics) when warning about an incorrect metrics setup
| | * | | | | The flag is named enable_metrics, not collect_metricsTravis Ralston2018-06-1211-11/+11
| | | |_|_|/ | | |/| | | | | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
| * / | | | Use the RegistryProxy for appservices tooTravis Ralston2018-06-121-1/+2
| |/ / / / | | | | | | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
| * | | | Merge pull request #3276 from matrix-org/dbkr/unbindDavid Baker2018-06-116-16/+115
| |\ \ \ \ | | | | | | | | | | | | Remove email addresses / phone numbers from ID servers when they're removed from synapse
| | * | | | pep8David Baker2018-06-061-3/+3
| | | | | |
| | * | | | More doc fixesDavid Baker2018-06-061-2/+2
| | | | | |
| | * | | | fix pep8David Baker2018-06-051-3/+5
| | | | | |
| | * | | | doc fixesDavid Baker2018-06-052-7/+7
| | | | | |
| | * | | | DocstringDavid Baker2018-06-041-0/+14
| | | | | |
| | * | | | Fix commentDavid Baker2018-06-041-1/+1
| | | | | |
| | * | | | Missing yieldDavid Baker2018-06-041-1/+1
| | | | | |
| | * | | | docstringDavid Baker2018-06-041-1/+9
| | | | | |
| | * | | | Merge remote-tracking branch 'origin/develop' into dbkr/unbindDavid Baker2018-05-2419-51/+155
| | |\ \ \ \
| | * | | | | pep8David Baker2018-05-244-8/+13
| | | | | | |
| | * | | | | commentDavid Baker2018-05-241-0/+4
| | | | | | |
| | * | | | | Unbind 3pids when they're deleted tooDavid Baker2018-05-242-3/+18
| | | | | | |
| | * | | | | Hit the 3pid unbind endpoint on deactivationDavid Baker2018-05-234-12/+63
| | | | | | |
| * | | | | | fix idiotic typo in state resMatthew Hodgson2018-06-111-2/+2
| | | | | | |
| * | | | | | Merge branch 'master' into developNeil Johnson2018-06-081-1/+1
| |\ \ \ \ \ \ | | | |_|/ / / | | |/| | | |
| | * | | | | Merge tag 'v0.31.1'Neil Johnson2018-06-082-1/+5
| | |\ \ \ \ \ | | | | |_|/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in synapse v0.31.1 (2018-06-08) ======================================= v0.31.1 fixes a security bug in the ``get_missing_events`` federation API where event visibility rules were not applied correctly. We are not aware of it being actively exploited but please upgrade asap. Bug Fixes: * Fix event filtering in get_missing_events handler (PR #3371)
| | | * | | | changelog a bump versionNeil Johnson2018-06-081-1/+1
| | | | |_|/ | | | |/| |
| | | * | | Fix event filtering in get_missing_events handlerRichard van der Hoff2018-06-081-0/+4
| | | | | |
| * | | | | Merge pull request #3372 from matrix-org/rav/better_verification_loggingDavid Baker2018-06-081-6/+25
| |\ \ \ \ \ | | | | | | | | | | | | | | Try to log more helpful info when a sig verification fails
| | * | | | | Try to log more helpful info when a sig verification failsRichard van der Hoff2018-06-081-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, don't swallow the reason for the failure Secondly, don't assume all exceptions are verification failures Thirdly, log a bit of info about the key being used if debug is enabled
| * | | | | | Fix event filtering in get_missing_events handlerRichard van der Hoff2018-06-081-0/+4
| |/ / / / /
* / / / / / Remove event re-signing hacksRichard van der Hoff2018-06-071-43/+0
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | These "temporary fixes" have been here three and a half years, and I can't find any events in the matrix.org database where the calculated signature differs from what's in the db. It's time for them to go away.
* | | | | Merge pull request #3344 from Half-Shot/hs/as-metricsWill Hunt2018-06-071-0/+22
|\ \ \ \ \ | | | | | | | | | | | | Add metrics to track appservice transactions
| * | | | | Let's try labels instead of label, that might workWill Hunt2018-06-051-3/+3
| | | | | |
| * | | | | Add metrics to track appservice transactionsWill Hunt2018-06-051-0/+22
| | | | | |
* | | | | | Merge pull request #3363 from matrix-org/rav/fix_purgeRichard van der Hoff2018-06-071-7/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix event-purge-by-ts admin API
| * | | | | | fix logRichard van der Hoff2018-06-071-1/+1
| | | | | | |
| * | | | | | Fix event-purge-by-ts admin APIRichard van der Hoff2018-06-071-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This got completely broken in 0.30. Fixes #3300.
* | | | | | | Merge pull request #3355 from matrix-org/rav/fix_federation_backfillRichard van der Hoff2018-06-071-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix federation backfill from sqlite servers
| * | | | | | | Fix sql error in _get_state_groups_from_groupsRichard van der Hoff2018-06-061-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | If this was called with a `(type, None)` entry in types (which is supposed to return all state of type `type`), it would explode with a sql error.
* | | | | | | Merge pull request #3356 from matrix-org/rav/add_missing_attr_depAmber Brown2018-06-071-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Make sure that attr is installed
| * | | | | | | Add missing dependency on attrRichard van der Hoff2018-06-061-0/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've rcently added a dep on `attr`. I don't know why the CI didn't pick this up, but we should make it explicit anyway.
* | | | | | | Merge branch 'master' into developNeil Johnson2018-06-061-1/+1
|\ \ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| * | | | | | Merge tag 'v0.31.0'Neil Johnson2018-06-06100-1416/+1218
| |\ \ \ \ \ \ | | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in synapse v0.31.0 (2018-06-06) ====================================== Most notable change from v0.30.0 is to switch to python prometheus library to improve system stats reporting. WARNING this changes a number of prometheus metrics in a backwards-incompatible manner. For more details, see `docs/metrics-howto.rst <docs/metrics-howto.rst#removal-of-deprecated-metrics--time-based-counters-becoming-histograms-in-0310>`_. Bug Fixes: * Fix metric documentation tables (PR #3341) * Fix LaterGuage error handling (694968f) * Fix replication metrics (b7e7fd2) Changes in synapse v0.31.0-rc1 (2018-06-04) ========================================== Features: * Switch to the Python Prometheus library (PR #3256, #3274) * Let users leave the server notice room after joining (PR #3287) Changes: * daily user type phone home stats (PR #3264) * Use iter* methods for _filter_events_for_server (PR #3267) * Docs on consent bits (PR #3268) * Remove users from user directory on deactivate (PR #3277) * Avoid sending consent notice to guest users (PR #3288) * disable CPUMetrics if no /proc/self/stat (PR #3299) * Add local and loopback IPv6 addresses to url_preview_ip_range_blacklist (PR #3312) Thanks to @thegcat! * Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (PR #3307) * Add private IPv6 addresses to example config for url preview blacklist (PR #3317) Thanks to @thegcat! * Reduce stuck read-receipts: ignore depth when updating (PR #3318) * Put python's logs into Trial when running unit tests (PR #3319) Changes, python 3 migration: * Replace some more comparisons with six (PR #3243) Thanks to @NotAFile! * replace some iteritems with six (PR #3244) Thanks to @NotAFile! * Add batch_iter to utils (PR #3245) Thanks to @NotAFile! * use repr, not str (PR #3246) Thanks to @NotAFile! * Misc Python3 fixes (PR #3247) Thanks to @NotAFile! * Py3 storage/_base.py (PR #3278) Thanks to @NotAFile! * more six iteritems (PR #3279) Thanks to @NotAFile! * More Misc. py3 fixes (PR #3280) Thanks to @NotAFile! * remaining isintance fixes (PR #3281) Thanks to @NotAFile! * py3-ize state.py (PR #3283) Thanks to @NotAFile! * extend tox testing for py3 to avoid regressions (PR #3302) Thanks to @krombel! * use memoryview in py3 (PR #3303) Thanks to @NotAFile! Bugs: * Fix federation backfill bugs (PR #3261) * federation: fix LaterGauge usage (PR #3328) Thanks to @intelfx!
| | * | | | | bump version and changelogNeil Johnson2018-06-061-1/+1
| | | | | | |
| | * | | | | Merge commit 'b7e7fd2' into release-v0.31.0Richard van der Hoff2018-06-062-5/+8
| | |\ \ \ \ \
| | * | | | | | bump version and changelog v0.31.0-rc1Neil Johnson2018-06-041-1/+1
| | | | | | | |
* | | | | | | | Merge pull request #3349 from t3chguy/redact_as_request_tokenRichard van der Hoff2018-06-062-3/+7
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | Redact AS tokens in log (fixes to #3327)
| * | | | | | | also redact __str__ of ApplicationService used for loggingMichael Telatynski2018-06-061-1/+5
| | | | | | | |
| * | | | | | | redact_uri in two missed log pathsMichael Telatynski2018-06-061-2/+2
| | | | | | | |
* | | | | | | | federation/send_queue.py: fix usage of sortedcontainers.SortedDictIvan Shapovalov2018-06-061-27/+22
| | | | | | | |
* | | | | | | | Merge pull request #3327 from t3chguy/redact_as_request_tokenRichard van der Hoff2018-06-053-9/+18
|\| | | | | | | | | | | | | | | | | | | | | | | Strip `access_token` from outgoing requests
| * | | | | | | factor out uri redaction into a method on httpMichael Telatynski2018-06-053-13/+17
| | | | | | | |
| * | | | | | | Strip `access_token` from outgoing requests using existing regexMichael Telatynski2018-06-021-1/+6
| | | | | | | |
* | | | | | | | Merge remote-tracking branch 'origin/master' into developRichard van der Hoff2018-06-051-0/+3
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | remove trailing whitespaceRichard van der Hoff2018-05-301-2/+2
| | | | | | | |
| * | | | | | | fix english and wrap commentRichard van der Hoff2018-05-301-1/+2
| | | | | | | |
| * | | | | | | add link to thorough instruction how to configure consentRuben Barkow2018-05-251-0/+2
| | | | | | | |
* | | | | | | | Port to sortedcontainers (with tests!) (#3332)Amber Brown2018-06-063-34/+40
| |_|_|_|/ / / |/| | | | | |
* | | | | | | Merge pull request #3324 from matrix-org/rav/remove_dead_methodRichard van der Hoff2018-06-041-26/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove was_forgotten_at
| * | | | | | | Remove was_forgotten_atRichard van der Hoff2018-06-011-26/+0
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is unused. IT MUST DIE!!!1 ̧̪͈̱̹̳͖͙H̵̰̤̰͕̖e̛ ͚͉̗̼̞w̶̩̥͉̮h̩̺̪̩͘ͅọ͎͉̟ ̜̩͔̦̘ͅW̪̫̩̣̲͔̳a͏͔̳͖i͖͜t͓̤̠͓͙s̘̰̩̥̙̝ͅ ̲̠̬̥Be̡̙̫̦h̰̩i̛̫͙͔̭̤̗̲n̳͞d̸ ͎̻͘T̛͇̝̲̹̠̗ͅh̫̦̝ͅe̩̫͟ ͓͖̼W͕̳͎͚̙̥ą̙l̘͚̺͔͞ͅl̳͍̙̤̤̮̳.̢ ̟̺̜̙͉Z̤̲̙̙͎̥̝A͎̣͔̙͘L̥̻̗̳̻̳̳͢G͉̖̯͓̞̩̦O̹̹̺!̙͈͎̞̬ *
* | | | | | | Merge pull request #3334 from matrix-org/rav/cache_factor_overrideRichard van der Hoff2018-06-044-4/+18
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | Cache factor override system for specific caches
| * | | | | | Add hacky cache factor override systemErik Johnston2018-06-044-4/+18
| | |_|/ / / | |/| | | |
* | | | | | Fix replication metricsRichard van der Hoff2018-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | fix bug introduced in #3256
* | | | | | Hopefully, fix LaterGuage error handlingRichard van der Hoff2018-06-041-3/+6
|/ / / / /
* / / / / federation/send_queue.py: fix usage of LaterGaugeIvan Shapovalov2018-06-031-1/+1
|/ / / / | | | | | | | | | | | | | | | | Fixes a startup crash due to commit df9f72d9e5fe264b86005208e0f096156eb03e4b "replacing portions".
* | | | Merge pull request #3317 from ↵Richard van der Hoff2018-06-011-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | thegcat/feature/3312-add_ipv6_to_blacklist_example_config Add private IPv6 addresses to example config for url preview blacklist
| * | | | Add private IPv6 addresses to preview blacklist #3312Felix Schäfer2018-06-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added addresses are expected to be local or loopback addresses and shouldn't be spidered for previews. Signed-off-by: Felix Schäfer <felix@thegcat.net>
* | | | | Merge pull request #3264 from matrix-org/neil/sign-up-statsNeil Johnson2018-06-014-1/+60
|\ \ \ \ \ | | | | | | | | | | | | daily user type phone home stats
| * | | | | remove unnecessary INSERTNeil Johnson2018-06-011-1/+0
| | | | | |
| * | | | | create users index on creation_tsNeil Johnson2018-05-291-0/+20
| | | | | |
| * | | | | create index in backgroundNeil Johnson2018-05-291-0/+7
| | | | | |
| * | | | | bump versionNeil Johnson2018-05-291-1/+1
| | | | | |
| * | | | | daily user type phone home statsNeil Johnson2018-05-222-0/+33
| | | | | |
* | | | | | Handle RRs which arrive before their eventsRichard van der Hoff2018-06-011-25/+19
| | | | | |
* | | | | | Ignore depth when updating read-receiptsRichard van der Hoff2018-06-011-30/+37
| |/ / / / |/| | | | | | | | | | | | | | Order read receipts by stream ordering instead of depth
* | | | | Run Prometheus on a different port, optionally. (#3274)Amber Brown2018-05-3115-15/+126
| | | | |
* | | | | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵Amber Brown2018-05-3129-101/+116
| | | | | | | | | | | | | | | | | | | | they're not meant to be lazy (#3307)
* | | | | Merge pull request #3303 from NotAFile/py3-memoryviewAmber Brown2018-05-303-6/+30
|\ \ \ \ \ | | | | | | | | | | | | use memoryview in py3
| * | | | | add remaining memoryview changesAdrian Tschira2018-05-292-4/+12
| | | | | |
| * | | | | use memoryview in py3Adrian Tschira2018-05-292-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3281 from NotAFile/py3-six-isinstanceAmber Brown2018-05-303-13/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | remaining isintance fixes
| * | | | | | pep8Adrian Tschira2018-05-291-0/+1
| | | | | | |
| * | | | | | fix recursion errorAdrian Tschira2018-05-241-7/+5
| | | | | | |
| * | | | | | remaining isintance fixesAdrian Tschira2018-05-243-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | Update some comments and docstrings in SyncHandlerRichard van der Hoff2018-05-291-1/+11
| | | | | | |
* | | | | | | Exempt AS-registered users from doing gdprRichard van der Hoff2018-05-292-0/+4
| |/ / / / / |/| | | | |
* | | | | | pep8Matthew Hodgson2018-05-291-0/+1
| | | | | |
* | | | | | disable CPUMetrics if no /proc/self/statMatthew Hodgson2018-05-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | fixes build on macOS again
* | | | | | fix up testsAmber Brown2018-05-281-3/+3
| | | | | |
* | | | | | update to more consistently use seconds in any metrics or loggingAmber Brown2018-05-284-38/+38
| | | | | |
* | | | | | invalid syntax :(Amber Brown2018-05-281-2/+1
| | | | | |
* | | | | | add comment about why unregAmber Brown2018-05-281-0/+2
| | | | | |
* | | | | | update metrics to be in secondsAmber Brown2018-05-284-37/+38
| | | | | |
* | | | | | Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-2842-174/+353
|\ \ \ \ \ \
| * | | | | | Fix default for send_server_notice_to_guestsRichard van der Hoff2018-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | bool("False") == True...
| * | | | | | Avoid sending consent notice to guest usersRichard van der Hoff2018-05-252-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | we think it makes sense not to send the notices to guest users.
| * | | | | | Merge pull request #3287 from matrix-org/rav/allow_leaving_server_notices_roomRichard van der Hoff2018-05-251-10/+14
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Let users leave the server notice room after joining
| | * | | | | | Let users leave the server notice room after joiningRichard van der Hoff2018-05-251-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They still can't reject invites, but we let them leave it.
| * | | | | | | Merge pull request #3283 from NotAFile/py3-stateAmber Brown2018-05-241-23/+25
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | py3-ize state.py
| | * | | | | | | py3-ize state.pyAdrian Tschira2018-05-241-23/+25
| | | |/ / / / / | | |/| | | | |
| * | | | | | | Merge pull request #3279 from NotAFile/py3-more-iteritemsAmber Brown2018-05-241-4/+6
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | more six iteritems
| | * | | | | | | more iteritemsAdrian Tschira2018-05-241-4/+6
| | |/ / / / / /
| * / / / / / / Misc. py3 fixesAdrian Tschira2018-05-245-11/+13
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | Merge pull request #3278 from NotAFile/py3-storage-baseAmber Brown2018-05-241-17/+22
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Py3 storage/_base.py
| | * | | | | | Py3 storage/_base.pyAdrian Tschira2018-05-241-17/+22
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | Merge pull request #3244 from NotAFile/py3-six-4Amber Brown2018-05-2415-49/+69
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | replace some iteritems with six
| | * | | | | | replace some iteritems with sixAdrian Tschira2018-05-1915-49/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | | Merge pull request #3246 from NotAFile/py3-repr-stringAmber Brown2018-05-241-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | use repr, not str
| | * | | | | | | use repr, not strAdrian Tschira2018-05-191-1/+1
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | | Merge pull request #3247 from NotAFile/py3-miscAmber Brown2018-05-243-5/+18
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Misc Python3 fixes
| | * | | | | | | use stand-in value if maxint is not availableAdrian Tschira2018-05-191-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| | * | | | | | | fix py3 intern and remove unnecessary py3 encodeAdrian Tschira2018-05-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| | * | | | | | | py3-ize url previewAdrian Tschira2018-05-191-3/+5
| | |/ / / / / /
| * | | | | | | Merge pull request #3245 from NotAFile/batch-iterAmber Brown2018-05-241-0/+18
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | Add batch_iter to utils
| | * | | | | | Add batch_iter to utilsAdrian Tschira2018-05-191-0/+18
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a frequent idiom I noticed where an iterable is split up into a number of chunks/batches. Unfortunately that method does not work with iterators like dict.keys() in python3. This implementation works with iterators. Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | Merge pull request #3277 from matrix-org/dbkr/remove_from_user_dirDavid Baker2018-05-242-0/+11
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove users from user directory on deactivate
| | * | | | | | Remove users from user directory on deactivateDavid Baker2018-05-242-0/+11
| | | | | | | |
| * | | | | | | Merge pull request #3243 from NotAFile/py3-six-3Erik Johnston2018-05-246-11/+23
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Replace some more comparisons with six
| | * | | | | | | Replace some more comparisons with sixAdrian Tschira2018-05-196-11/+23
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plus a bonus b"" string I missed last time Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | | Merge branch 'master' into developNeil Johnson2018-05-241-1/+1
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | / / | | | |_|_|/ / | | |/| | | |
| | * | | | | bump versionNeil Johnson2018-05-241-1/+1
| | | |/ / / | | |/| | |
| * | | | | Merge pull request #3261 from matrix-org/erikj/pagination_fixesErik Johnston2018-05-241-9/+22
| |\ \ \ \ \ | | | | | | | | | | | | | | Fix federation backfill bugs
| | * | | | | Use iter* methodsErik Johnston2018-05-221-7/+7
| | | | | | |
| | * | | | | Fix that states is a dict of dictsErik Johnston2018-05-221-1/+4
| | | | | | |
| | * | | | | get_domains_from_state returns list of tuplesErik Johnston2018-05-221-2/+12
| | | | | | |
| * | | | | | Merge pull request #3267 from matrix-org/erikj/iter_filterErik Johnston2018-05-241-5/+5
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | Use iter* methods for _filter_events_for_server
| | * | | | | s/values/itervalues/Erik Johnston2018-05-231-1/+1
| | | | | | |
| | * | | | | Use iter* methods for _filter_events_for_serverErik Johnston2018-05-231-4/+4
| | | | | | |
| * | | | | | Merge pull request #3273 from matrix-org/rav/server_notices_avatar_urlRichard van der Hoff2018-05-242-6/+26
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Allow overriding the server_notices user's avatar
| | * | | | | | Allow overriding the server_notices user's avatarRichard van der Hoff2018-05-232-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | probably should have done this in the first place, like @turt2live suggested.
| * | | | | | | Merge branch 'release-v0.30.0' into rav/localpart_in_consent_uriRichard van der Hoff2018-05-234-8/+55
| |\| | | | | |
| | * | | | | | Merge pull request #3271 from matrix-org/rav/consent_uri_in_messagesRichard van der Hoff2018-05-233-7/+50
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Support for putting %(consent_uri)s in messages
| | | * | | | | | Support for putting %(consent_uri)s in messagesRichard van der Hoff2018-05-233-7/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to put the URI in the error message and the server notice that get sent by the server
| | * | | | | | | fix typoRichard van der Hoff2018-05-231-1/+1
| | | | | | | | |
| | * | | | | | | Block attempts to send server notices to remote usersRichard van der Hoff2018-05-231-0/+4
| | |/ / / / / /
| * / / / / / / Use the localpart in the consent uriRichard van der Hoff2018-05-231-1/+3
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | ... because it's shorter.
| * / / / / / bump version and changelogNeil Johnson2018-05-231-1/+1
| |/ / / / /
| * | | | | Remove unused string formatting paramErik Johnston2018-05-221-1/+0
| | | | | |
| * | | | | Don't support limitless paginationErik Johnston2018-05-221-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pagination storage function supported not specifiying a limit on the number of events returned. This was triggered when using the search or context API with a limit of zero, which the storage function took to mean not being limited.
| * | | | | fix synchrotronhera2018-05-221-1/+1
| | | | | |
| * | | | | custom error code for not leaving server notices roomRichard van der Hoff2018-05-222-0/+2
| | |_|_|/ | |/| | |
| * | | | comment typoDavid Baker2018-05-221-1/+1
| | |_|/ | |/| |
* | | | pepeighttttAmber Brown2018-05-231-0/+1
| | | |
* | | | add back CPU metricsAmber Brown2018-05-231-1/+35
| | | |
* | | | fixesAmber Brown2018-05-233-13/+13
| | | |
* | | | more cleanupAmber Brown2018-05-223-9/+11
| | | |
* | | | cleanupAmber Brown2018-05-229-29/+64
| | | |
* | | | cleanup pep8 errorsAmber Brown2018-05-225-37/+114
| | | |
* | | | fixesAmber Brown2018-05-227-24/+52
| | | |
* | | | fix the test failuresAmber Brown2018-05-221-1/+1
| | | |
* | | | cleanups, self-registrationAmber Brown2018-05-223-19/+12
| | | |
* | | | Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-2246-203/+1633
|\| | |
| * | | Merge pull request #3262 from matrix-org/rav/has_already_consentedRichard van der Hoff2018-05-221-4/+18
| |\ \ \ | | | | | | | | | | Add a 'has_consented' template var to consent forms
| | * | | Add a 'has_consented' template var to consent formsRichard van der Hoff2018-05-221-3/+14
| | | | | | | | | | | | | | | | | | | | fixes #3260
| | * | | Enable auto-escaping for the consent templatesRichard van der Hoff2018-05-221-1/+4
| | | | | | | | | | | | | | | | | | | | ... to reduce the risk of somebody introducing an html injection attack...
| * | | | Fix dependency on jinja2Richard van der Hoff2018-05-221-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Delay the import of ConsentResource, so that we can get away without jinja2 if people don't have the consent resource enabled. Fixes #3259
| * / / Reject attempts to send event before privacy consent is givenRichard van der Hoff2018-05-225-2/+178
| |/ / | | | | | | | | | | | | | | | Returns an M_CONSENT_NOT_GIVEN error (cf https://github.com/matrix-org/matrix-doc/issues/1252) if consent is not yet given.
| * | Merge pull request #3236 from matrix-org/rav/consent_noticeRichard van der Hoff2018-05-2213-18/+322
| |\ \ | | | | | | | | Send users a server notice about consent
| | * | Stub out ServerNoticesSender on the workersRichard van der Hoff2018-05-226-8/+66
| | | | | | | | | | | | | | | | | | | | ... and have the sync endpoints call it directly rather than obsure indirection via PresenceHandler
| | * | Move consent config parsing into ConsentConfigRichard van der Hoff2018-05-223-14/+20
| | | | | | | | | | | | | | | | turns out we need to reuse this, so it's better in the config class.
| | * | Send users a server notice about consentRichard van der Hoff2018-05-229-8/+246
| | | | | | | | | | | | | | | | | | | | When a user first syncs, we will send them a server notice asking them to consent to the privacy policy if they have not already done so.
| | * | Rename 'version' param on user consent configRichard van der Hoff2018-05-222-5/+7
| | | | | | | | | | | | | | | | we're going to use it for the version we require too.
| * | | CommentErik Johnston2018-05-221-1/+1
| | | |
| * | | Fix logcontext resource usage trackingErik Johnston2018-05-221-11/+27
| | | |
| * | | Merge pull request #3252 from matrix-org/erikj/in_flight_requestsErik Johnston2018-05-222-2/+162
| |\ \ \ | | |/ / | |/| | Add in flight request metrics
| | * | Don't store contextErik Johnston2018-05-221-8/+5
| | | |
| | * | Move in_flight_requests_count to be a callback metricErik Johnston2018-05-221-10/+21
| | | |
| | * | Add in flight request metricsErik Johnston2018-05-212-2/+154
| | |/ | | | | | | | | | | | | This tracks CPU and DB usage while requests are in flight, rather than when we write the response.
| * | Merge pull request #3255 from matrix-org/rav/fix_transactionsRichard van der Hoff2018-05-211-21/+21
| |\ \ | | | | | | | | Stop the transaction cache caching failures
| | * | Fix logcontext leak in HttpTransactionCacheRichard van der Hoff2018-05-211-25/+21
| | | | | | | | | | | | | | | | ONE DAY I WILL PURGE THE WORLD OF THIS EVIL
| | * | Stop the transaction cache caching failuresRichard van der Hoff2018-05-211-9/+13
| | |/ | | | | | | | | | | | | | | | The transaction cache has some code which tries to stop it caching failures, but if the callback function failed straight away, then things would happen backwards and we'd end up with the failure stuck in the cache.
| * / Tighter filtering for user_daily_visitsNeil Johnson2018-05-181-1/+5
| |/
| * fix psql compatability bugNeil Johnson2018-05-181-1/+1
| |
| * Merge branch 'master' into developNeil Johnson2018-05-181-1/+1
| |\