| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | |/ / / /
| | | |/| | | | |
|
| | | |/ / / / |
|
| | | |\ \ \ \
| | | | | | | |
| | | | | | | | |
Fix appservice room list pagination
|
| | | | | | | | |
|
| | | |\ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix not showing non-federatable rooms to remote room list queries
|
| | | | |/ / / / |
|
| | | |\ \ \ \ \
| | | | |/ / / /
| | | |/| | | | |
Bound find_next_generated_user_id DB query.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We can easily bound the set of user IDs we pull out of the DB, so lets
do that.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We incorrectly used `room_id` as to bound the result set, even though we
order by `joined_members, room_id`, leading to incorrect results after
pagination.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Use room_stats and room_state for room directory search
|
| | | |/ / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Copy push rules during a room upgrade from the old room to the new room, instead of deleting them from the old room.
For instance, we've defined upgrading of a room multiple times to be possible, and push rules won't be transferred on the second upgrade if they're deleted during the first.
Also fix some missing yields that probably broke things quite a bit.
|
| | | |\ \ \ \ |
|
| | | |\ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
github.com:matrix-org/synapse into develop
|
| | | | |_|_|/ /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
These tables are unused since #5893 (as amended by #6047), so we can now drop
them.
Fixes #6048.
|
| | | | | | | | |
|
| | | |_|_|/ /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
|
| | | |_|/ /
| | |/| | | |
|
| | |\ \ \ \
| | | | | | |
| | | | | | | |
Fix errors storing large retry intervals.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We have set the max retry interval to a value larger than a postgres or
sqlite int can hold, which caused exceptions when updating the
destinations table.
To fix postgres we need to change the column to a bigint, and for sqlite
we lower the max interval to 2**62 (which is still incredibly long).
|
| | |\ \ \ \ \
| | | |/ / / /
| | |/| | | | |
Fix fetching censored redactions from DB
|
| | | | |/ /
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fetching a censored redactions caused an exception due to the code
expecting redactions to have a `redact` key, which redacted redactions
don't have.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Joining against `events` and ordering by `stream_ordering` is
inefficient as it forced scanning the entirety of the redactions table.
This isn't the case if we use `redactions.received_ts` column as we can
then use an index.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This will allow us to efficiently search for uncensored redactions in
the DB before a given time.
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently we don't set `have_censored` column if we don't have the
target event of a redaction, which means we repeatedly attempt to censor
the same non-existant event.
When we persist non-redacted events we unset the `have_censored` column
for any redactions that target said event.
|
| | |/ /
| | | |
| | | |
| | | | |
Fixes #6134.
|
| | | |
| | | |
| | | | |
Fixes #5905
|
| | |\ \
| | | | |
| | | | |
| | | | | |
erikj/cleanup_user_ips_2
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
erikj/cleanup_user_ips
|
| | | | |\ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
matrix-org/babolivier/background_update_deactivated_return
Fix the return value in the users_set_deactivated_flag background job
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | |\ \ \ |
|
| | | | | |/ /
| | | | | | |
| | | | | | | |
Added in #5377, apparently in error
|
| | | | |\| | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Implements MSC2290. This PR adds two new endpoints, /unstable/account/3pid/add and /unstable/account/3pid/bind. Depending on the progress of that MSC the unstable prefix may go away.
This PR also removes the blacklist on some 3PID tests which occurs in #6042, as the corresponding Sytest PR changes them to use the new endpoints.
Finally, it also modifies the account deactivation code such that it doesn't just try to deactivate 3PIDs that were bound to the user's account, but any 3PIDs that were bound through the homeserver on that user's account.
|
| | | | |\ \ \
| | | | | | |/
| | | | | |/| |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We want to assign unique mxids to saml users based on an incrementing
suffix. For that to work, we need to record the allocated mxid in a separate
table.
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Defaults to pruning everything older than 28d.
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | | |
This allows checking if a specific background update has completed.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a) simpler than querying user_ips directly and b) means we can
purge older entries from user_ips without losing the required info.
The storage functions now no longer return the access_token, since it
was unused.
|
| | | | | | |
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | | |
This allows us to purge old user_ips entries without having to preserve
the latest last seen info for active devices.
|
| | | | | |
|
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a partial revert of #5893. The problem is that if we drop these tables
in the same release as removing the code that writes to them, it prevents users
users from being able to roll back to a previous release.
So let's leave the tables in place for now, and remember to drop them in a
subsequent release.
(Note that these tables haven't been *read* for *years*, so any missing rows
resulting from a temporary upgrade to vNext won't cause a problem.)
|
| | | |
| | | |
| | | |
| | | | |
Track the time that a server started failing at, for general analysis purposes.
|
| | | |
| | | |
| | | |
| | | | |
* remove some unused code
* make things which were constants into constants for efficiency and clarity
|
| | |\ \
| | | | |
| | | | | |
Only count real users when checking for auto-creation of auto-join room
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously if the first registered user was a "support" or "bot" user,
when the first real user registers, the auto-join rooms were not
created.
Fix to exclude non-real (ie users with a special user type) users
when counting how many users there are to determine whether we should
auto-create a room.
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | |\ \ \
| | | |/ /
| | |/| | |
Censor redactions in DB after a month
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
erikj/censor_redactions
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\| | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Correctly handle non-bool m.federate flag
|
| | | |_|/ /
| | |/| | | |
|
| | | | | | |
|
| |/ / / / |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
|/| | | |
|
|\| | | |
|
| | | |
| | | |
| | | | |
Previously the stats were not being correctly populated.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove all the "double return" statements which were a result of us removing all the instances of
```
defer.returnValue(...)
return
```
statements when we switched to python3 fully.
|
| | | |
| | | |
| | | | |
Trace device list changes.
|
| |/ /
| | |
| | |
| | |
| | | |
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 :)
|
|\ \ \ |
|
| |\| | |
|
| | |\ \
| | | | |
| | | | | |
Exempt support users from consent
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Some of the caches on worker processes were not being correctly invalidated
when a room's state was changed in a way that did not affect the membership
list of the room.
We need to make sure we send out cache invalidations even when no memberships
are changing.
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Allow schema deltas to be engine-specific
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Code style (Black)
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | | |/ /
| | | | |
| | | | |
| | | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | |/ /
| | | |
| | | | |
Admin API: Set adminship of a user
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Propagate opentracing contexts through EDUs
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | |
| | | |
| | | | |
Add opentracing tags and logs for e2e keys
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
These tables are never used, so we may as well drop them.
|
| | |\ \
| | | |/
| | |/| |
add the version field to the index for e2e_room_keys
|
| | | | |
|
| | | | |
|
| | |\ \
| | | | |
| | | | | |
Handle pusher being deleted during processing.
|
| | | | |
| | | | |
| | | | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead of throwing a StoreError lets break out of processing loop and
mark the pusher as stopped.
|
| | |\ \ \
| | | | | |
| | | | | | |
Don't unnecessarily block notifying of new events.
|
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When persisting events we calculate new stream orderings up front.
Before we notify about an event all events with lower stream orderings
must have finished being persisted.
This PR moves the assignment of stream ordering till *after* calculated
the new current state and split the batch of events into separate chunks
for persistence. This means that if it takes a long time to calculate
new current state then it will not block events in other rooms being
notified about.
This should help reduce some global pauses in the events stream which
can last for tens of seconds (if not longer), caused by some
particularly expensive state resolutions.
|
| | |\ \ \
| | | |/ /
| | |/| | |
Fix handling of redactions of redactions
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
* allow devices to be marked as "hidden"
This is a prerequisite for cross-signing, as it allows us to create other things
that live within the device namespace, so they can be used for signatures.
|
| | |/
| |/|
| | | |
Fixes #5803
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
(by going back to not using SQL directly)
|
| | | | |
|
| | | | |
|
| |\| | |
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | |
| | | |
Turns out not all rooms are in `rooms`, so lets fetch the room list from
`current_state_events`. We move the delta file to force it to be run
again.
|
| | |\
| | | |
| | | | |
Fix room summary when rejected events are in state
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Annoyingly, `current_state_events` table can include rejected events,
in which case the membership column will be null. To work around this
lets just always filter out null membership for now.
|
| | |\ \
| | | | |
| | | | | |
Remove some more joins on room_memberships
|
| | | | | |
|
| | | |/ |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will allow us to efficiently filter out rooms that have been
forgotten in other queries without having to join against the
`room_memberships` table.
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Make sure that synapse doesn't explode when a redaction redacts itself, or
there is a larger cycle.
|
| | |\| |
| | | | |
| | | | | |
log when a redaction attempts to redact an event in a different room
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`None` is not a valid event id, so queuing up a database fetch for it seems
like a silly thing to do.
I considered making `get_event` return `None` if `event_id is None`, but then
its interaction with `allow_none` seemed uninituitive, and strong typing ftw.
|
| | | |/
| | |/| |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Turns out that storing huge JSON arrays in the progress JSON isn't
something that postgres particularly likes.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Mostly user type will be empty (normal user) but there is also the
"support" user type.
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
|\| | | |
|
| | | | |
|
|/ / / |
|
|/ /
| |
| |
| |
| | |
This is a prerequisite for cross-signing, as it allows us to create other things
that live within the device namespace, so they can be used for signatures.
|
|\ \
| | |
| | | |
Use upsert when updating destination retry interval
|
| |/ |
|
|\ \
| | |
| | | |
Delegate to cached version when using get_filtered_current_state_ids
|
| |/
| |
| |
| | |
In the case where it gets called with `StateFilter.all()`
|
|\ \
| |/
|/| |
Add membership column to current_state_events table
|
| |
| |
| |
| |
| | |
Its a bit disingenuousto give LoggingTransaction lists to append
callbacks to if we're not going to run the callbacks.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
It turns out that doing a join is surprisingly expensive for the DB to
do when room_membership table is larger than the disk cache.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can now use `_get_events_from_cache_or_db` rather than going right back to
the database, which means that (a) we can benefit from caching, and (b) it
opens the way forward to more extensive checks on the original event.
We now always require the original event to exist before we will serve up a
redaction.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensures that redactions are correctly authenticated for recent room versions.
There are a few things going on here:
* `_fetch_event_rows` is updated to return a dict rather than a list of rows.
* Rather than returning multiple copies of an event which was redacted
multiple times, it returns the redactions as a list within the dict.
* It also returns the actual rejection reason, rather than merely the fact
that it was rejected, so that we don't have to query the table again in
`_get_event_from_row`.
* The redaction handling is factored out of `_get_event_from_row`, and now
checks if any of the redactions are valid.
|
|/
|
|
|
|
|
|
|
|
|
| |
A couple of changes here:
* get rid of a redundant `allow_rejected` condition - we should already have filtered out any rejected
events before we get to that point in the code, and the redundancy is confusing. Instead, let's stick in
an assertion just to make double-sure we aren't leaking rejected events by mistake.
* factor out a `_get_events_from_cache_or_db` method, which is going to be important for a
forthcoming fix to redactions.
|
|\
| |
| | |
Add basic function to get all data for a user out of synapse
|
| | |
|
| |\
| | |
| | |
| | | |
erikj/admin_exfiltrate_data
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Record how long an access token is valid for, and raise a soft-logout once it
expires.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The 'token' param is no longer used anywhere except the tests, so let's kill
that off too.
|
| | |
| | |
| | | |
When asking for the relations of an event, include the original event in the response. This will mostly be used for efficiently showing edit history, but could be useful in other circumstances.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
This has never been documented, and I'm not sure it's ever been used outside
sytest.
It's quite a lot of poorly-maintained code, so I'd like to get rid of it.
For now I haven't removed the database table; I suggest we leave that for a
future clearout.
|
| |
| |
| |
| | |
this hasn't done anything for years
|
| | |
|
|/
|
|
| |
Fixes #5602, #5603
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When a client asks for users whose devices have changed since a token we
used to pull *all* users from the database since the token, which could
easily be thousands of rows for old tokens.
This PR changes this to only check for changes for users the client is
actually interested in.
Fixes #5553
|
|\
| |
| | |
Cleanups and sanity-checking in cpu and db metrics
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
we already have the duration for the update, so may as well use it rather than
passing extra params around and recalculating it.
|
| | |
| | |
| | |
| | | |
This has been redundant since cdb3757942fefdcdc3d33b9c6d7c9e44decefd6f.
|
|\ \ \
| |_|/
|/| | |
Use monotonic clock where possible for metrics
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes intermittent errors observed on Apple hardware which were caused by
time.clock() appearing to go backwards when called from different threads.
Also fixes a bug where database activity times were logged as 1/1000 of their
correct ratio due to confusion between milliseconds and seconds.
|
| | |
| | |
| | |
| | |
| | | |
There is a README.txt which always sets off this warning, which is a bit
alarming when you first start synapse. I don't think we need to warn about
this.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
erikj/histogram_extremities
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Add experimental option to reduce extremities.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adds new config option `cleanup_extremities_with_dummy_events` which
periodically sends dummy events to rooms with more than 10 extremities.
THIS IS REALLY EXPERIMENTAL.
|
| | |_|/
| |/| | |
|
| |/ / |
|
| | | |
|
|/ /
| |
| |
| |
| | |
Of new events being persisted add metrics for total size of forward
extremities and number of unchanged, "stale" extremities.
|
|\ \
| | |
| | | |
Prometheus histograms are cumalative
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| | |
If we try and send a transaction with lots of EDUs and we run out of
space, we call get_new_device_msgs_for_remote with a limit of 0, which
then failed.
|
|/
|
|
| |
* add monthly active users to phonehome stats
|
|
|
|
|
|
|
|
|
|
| |
Some keys are stored in the synapse database with a null valid_until_ms
which caused an exception to be thrown when using that key. We fix this
by treating nulls as zeroes, i.e. they keys will match verification
requests with a minimum_valid_until_ms of zero (i.e. don't validate ts)
but will not match requests with a non-zero minimum_valid_until_ms.
Fixes #5391.
|
|
|
| |
fixes #5153
|
|\
| |
| | |
Make a full SQL schema
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
identity server (#5377)
Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option.
This PR is a culmination of 3 smaller PRs which have each been separately reviewed:
* #5308
* #5345
* #5368
|
|\ \
| | |
| | | |
Fix get_max_topological_token to never return None
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix background updates to handle redactions/rejections
In background updates based on current state delta stream we need to
handle that we may not have all the events (or at least that
`get_events` may raise an exception).
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | | |
Allow configuring a range for the account validity startup job
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
When enabling the account validity feature, Synapse will look at startup for registered account without an expiration date, and will set one equals to 'now + validity_period' for them. On large servers, it can mean that a large number of users will have the same expiration date, which means that they will all be sent a renewal email at the same time, which isn't ideal.
In order to mitigate this, this PR allows server admins to define a 'max_delta' so that the expiration date is a random value in the [now + validity_period ; now + validity_period + max_delta] range. This allows renewal emails to be progressively sent over a configured period instead of being sent all in one big batch.
|
|\ \ \
| | | |
| | | | |
Speed up room stats background update
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We have to do this by re-inserting a background update and recreating
tables, as the tables only get created during a background update and
will later be deleted.
We also make sure that we remove any entries that should have been
removed but weren't due to a race that has been fixed in a previous
commit.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add DB bg update to cleanup extremities.
|
| | | |
| | | |
| | | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Due to #5269 we may have extremities in our DB that we shouldn't have,
so lets add a cleanup task such to remove those.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we receive a soft failed event we, correctly, *do not* update the
forward extremity table with the event. However, if we later receive an
event that references the soft failed event we then need to remove the
soft failed events prev events from the forward extremities table,
otherwise we just build up forward extremities.
Fixes #5269
|
|\| |
| | |
| | | |
Fix schema update for account validity
|