| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This is in preparation for moving GET /context/ to a worker
|
|
|
|
|
| |
This will let us call the read only parts from workers, and so be able
to move some APIs off of master, e.g. the `/state` API.
|
|\
| |
| | |
Remove event re-signing hacks
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Comment dummy TURN parameters in default config
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This default config is parsed and used a base before the actual
config is overlaid, so with these values not commented out, the
code to detect when no turn params were set and refuse to generate
credentials was never firing because the dummy default was always set.
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Refactor and optimze filter_events_for_server
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
for easier unit testing.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The get_entities_changed function was changed to return all changed
entities since the given stream position, rather than only those changed
from a given list of entities. This resulted in the function incorrectly
returning large numbers of entities that, for example, caused large
increases in database usage.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Don't return unknown entities in get_entities_changed
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The stream cache keeps track of all entities that have changed since
a particular stream position, so get_entities_changed does not need to
return unknown entites when given a larger stream position.
This makes it consistent with the behaviour of has_entity_changed.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Use parse and asserts from http.servlet
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
the method "assert_params_in_request" does handle dicts and not
requests. A request body has to be parsed to json before this method
can be used
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
parse_integer and parse_string can take a request and raise errors
in case we have wrong or missing params.
This PR tries to use them more to deduplicate some code and make it
better readable
|
|/ / / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Make FederationRateLimiter queue requests properly
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
popitem removes the *most recent* item by default [1]. We want the oldest.
Fixes #3524
[1]: https://docs.python.org/2/library/collections.html#collections.OrderedDict.popitem
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Reduce set building in get_entities_changed
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This line shows up as about 5% of cpu time on a synchrotron:
not_known_entities = set(entities) - set(self._entity_to_key)
Presumably the problem here is that _entity_to_key can be largeish, and
building a set for its keys every time this function is called is slow.
Here we rewrite the logic to avoid building so many sets.
|
|\| | | | |
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Use stream cache in get_linearized_receipts_for_room
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This avoids us from uncessarily hitting the database when there has been
no change for the room
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Let's try to include time spent in the DB threads in the per-request/block cpu
usage metrics.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Factor out the resource usage tracking out to a separate object, which can be
passed around and copied independently of the logcontext itself.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
add a Measure block on _fetch_event_list, in the hope that we can better
measure CPU usage here.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
the dependencies file, causing failures on upgrade (and presumably for new
installs).
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
... as described at
https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to do a bit more validation when we get a server name, but don't want
to be re-doing it all over the shop, so factor out a separate
parse_and_validate_server_name, and do the extra validation.
Also, use it to verify the server name in the config file.
|
| |\ \ \
| | | | |
| | | | | |
Invalidate cache on correct thread
|
| | | | | |
|
| |\ \ \ \
| | |_|_|/
| |/| | | |
Fix up auth check
|
| | | | |
| | | | |
| | | | |
| | | | | |
Python 3 doesn't support comparing None to ints
|
| | |/ / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \
| | | |
| | | | |
Check the state of prev_events a bit more thoroughly when coming over federation
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | | |
|
| |\ \
| | | |
| | | | |
Try to not use as much CPU in the cache
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Use simple_delete instead of simple_delete_one as commented
|
| |\ \ \
| | |/ /
| |/| | |
add GDPR erase param to deactivate API
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Stop including access tokens in warnings in the log
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tokens shouldn't be appearing the logs, valid or invalid.
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
| |\ \ \ \
| | | | | |
| | | | | | |
allow non-consented users to still part rooms (to let us autopart them)
|
| | | |/ /
| | |/| | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Fix user erasure and re-enable
|
| | | | | |
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
matrix-org/rav/erasure_visibility""
This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing
changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
|
| |\ \
| | | |
| | | | |
Fix event_push_actions tablescan when reinserting events
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |\ \
| | | |
| | | | |
Make _get_joined_hosts_cache cache non-iterable
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| | |
Make push actions rotation configurable
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Support hiding events from deleted users
|
| | | | |
| | | | |
| | | | |
| | | | | |
Redact any messges sent by erased users.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
to store which users have been erased
|
| |\| | |
| | | | |
| | | | | |
Simplify get_persisted_pdu
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
it doesn't make much sense to use get_persisted_pdu on the receive path: just
get the event straight from the store.
|
| |\| | |
| | |/ /
| |/| | |
remove dead filter_events_for_clients
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \
| | | | |
| | | | | |
Optimise state_group_cache update
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(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.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Log number of events fetched from DB
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
so that we can stub it for the sentinel and not have a billion failing UTs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.]
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Fix description of "python_gc_time" metric
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | |/ / / /
| |/| | | | |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
Write a clear restart indicator in logs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I'm fed up with never being able to find the point a server restarted in the
logs.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Add error code to room creation error
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
|
| | |/ / / /
| |/| | | | |
|
| | | | | | |
|
| |\ \ \ \ \ |
|
| | |\ \ \ \ \
| | | |/ / / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
|
| | | |\ \ \ \
| | | | | | | |
| | | | | | | | |
Adjust event auth rules when there is no PL event
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
stop pretending that it returns a boolean, which just almost gave me a heart
attack.
|
| | | | |/ / /
| | | | | | |
| | | | | | |
| | | | | | | |
it makes it easier for me to reason about
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Use the correct flag (enable_metrics) when warning about an incorrect metrics setup
|
| | | |_|_|/ /
| | |/| | | |
| | | | | | | |
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
| |/ / / / /
| | | | | |
| | | | | | |
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Remove email addresses / phone numbers from ID servers when they're removed from synapse
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | | |_|/ / / /
| | |/| | | | | |
|
| | |\ \ \ \ \ \
| | | | |_|/ / /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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)
|
| | | | |_|/ /
| | | |/| | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Try to log more helpful info when a sig verification fails
|
| | | |_|_|_|/
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| |/ / / / / |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Add metrics to track appservice transactions
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix event-purge-by-ts admin API
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This got completely broken in 0.30.
Fixes #3300.
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix federation backfill from sqlite servers
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Make sure that attr is installed
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| |\ \ \ \ \ \ \
| | | |_|/ / / /
| | |/| | | | | |
|
| | |\ \ \ \ \ \
| | | | |_|/ / /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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!
|
| | | | | | | | |
|
| | | |\ \ \ \ \ |
|
| | | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | |_|_|_|/ / / /
| |/| | | | | | | |
Redact AS tokens in log (fixes to #3327)
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| |\| | | | | | |
| | | | | | | | |
| | | | | | | | | |
Strip `access_token` from outgoing requests
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | | |/ / / / / /
| | |/| | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | |_|_|_|/ / /
| |/| | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Remove was_forgotten_at
|
| | | |/ / / / /
| | |/| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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̹̹̺!̙͈͎̞̬ *
|
| |\ \ \ \ \ \ \
| | |_|_|_|/ / /
| |/| | | | | | |
Cache factor override system for specific caches
|
| | | |_|/ / /
| | |/| | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
fix bug introduced in #3256
|
| |/ / / / / |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes a startup crash due to commit df9f72d9e5fe264b86005208e0f096156eb03e4b
"replacing portions".
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
thegcat/feature/3312-add_ipv6_to_blacklist_example_config
Add private IPv6 addresses to example config for url preview blacklist
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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>
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
daily user type phone home stats
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Order read receipts by stream ordering instead of depth
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
they're not meant to be lazy (#3307)
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
use memoryview in py3
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
remaining isintance fixes
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
as per
https://matrix.org/docs/spec/client_server/unstable.html#post-matrix-client-r0-rooms-roomid-report-eventid
|
| | | | | | | |
|
| |/ / / / /
|/| | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fixes build on macOS again
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
bool("False") == True...
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
we think it makes sense not to send the notices to guest users.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Let users leave the server notice room after joining
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
They still can't reject invites, but we let them leave it.
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
py3-ize state.py
|
| | | |/ / / / /
| | |/| | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
more six iteritems
|
| | |/ / / / / / |
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Py3 storage/_base.py
|
| | | |_|_|_|/
| | |/| | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
replace some iteritems with six
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
use repr, not str
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Misc Python3 fixes
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| | |/ / / / / / |
|
| |\ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | | |
Add batch_iter to utils
|
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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>
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Remove users from user directory on deactivate
|