1
Fork 0
mirror of https://codefloe.com/pat-s/zendrite.git synced 2026-10-05 18:04:04 +01:00
[Pull Mirror] An opinionated fork of element-hq/dendrite https://zendrite.pat-s.me
  • Go 98.8%
  • Shell 0.5%
  • Astro 0.2%
  • JavaScript 0.2%
  • Go Template 0.1%
  • Other 0.1%
Find a file
pat-s 1c8a723433 docs(ha): name the nats-server 2.15 regression behind stuck replicas (#484)
Refs #473.

## Problem

The runbook for a broker replica that stops catching up (#481) did not say which nats-server versions are affected or why.

## Changes

- Name the cause in the HA runbook: a regression in nats-server 2.15 that only occurs with `sync_interval: always`, which HA requires, reported upstream as nats-io/nats-server#8709.
- List the affected versions: 2.15.0, 2.15.1-RC.1 and upstream `main` as of October 2, 2026; 2.14.7 is not affected.

## Evidence

A standalone reproducer (plain nats-server, no Zendrite) SIGKILLs a stream leader under load and restarts it on its storage 20 seconds later, four parallel runs on two shared cores:

| nats-server | `sync_interval` | Cycles with the write error |
| --- | --- | --- |
| v2.14.7 | always | 0 of 40 |
| parent of nats-io/nats-server#8447 | always | 0 of 20 |
| nats-io/nats-server#8447 merge | always | 16 of 20 |
| v2.15.0 | always | 41 of 43 |
| v2.15.0 | default | 0 of 20 |
| v2.15.1-RC.1 | always | 17 of 20 |
| main c4eb4fc36b | always | 40 of 44 |

Restarting the affected broker cleared the write error every time.

Reviewed-on: https://codefloe.com/pat-s/zendrite/pulls/484
2026-10-04 13:10:28 +00:00
.crow fix(federationapi): keep inbound federation delivery intact through broker-host loss (#474) 2026-10-02 12:08:46 +00:00
.forgejo chore(deps): update cr.codefloe.com/docker.io/aquasec/trivy docker tag to v0.75.0 (#469) 2026-10-02 03:16:43 +00:00
.gitsv ci(commitlint): require a package scope in commit and PR titles (#248) 2026-07-08 14:23:57 +00:00
appservice test(appservice): wait up to 30 s for the join in TestOutputAppserviceEvent (#415) 2026-09-26 07:59:48 +00:00
build fix(federationapi): keep inbound federation delivery intact through broker-host loss (#474) 2026-10-02 12:08:46 +00:00
clientapi feat(clientapi): support custom profile fields (MSC4133) (#477) 2026-10-04 09:55:43 +00:00
cmd test(ci): wait for the seeded message in the Dendrite migration test (#463) 2026-10-01 10:04:00 +00:00
federationapi feat(clientapi): support custom profile fields (MSC4133) (#477) 2026-10-04 09:55:43 +00:00
internal fix(federationapi): keep inbound federation delivery intact through broker-host loss (#474) 2026-10-02 12:08:46 +00:00
mediaapi feat(ha): enforce ownership at media, dispatch, and admission (#361) 2026-09-15 07:52:41 +00:00
relayapi fix: replace deprecated Sentry SetExtra with SetContext for error events 2026-04-01 12:04:05 +00:00
roomserver fix(roomserver): report synchronous input whose replies are overdue (#482) 2026-10-04 11:15:23 +00:00
scripts refactor!: rebrand from Dendrite to Zendrite (#68) 2026-02-18 19:21:22 +00:00
setup fix(jetstream): report and document broker replicas that stop catching up (#481) 2026-10-04 11:25:02 +00:00
syncapi fix(federationapi): keep inbound federation delivery intact through broker-host loss (#474) 2026-10-02 12:08:46 +00:00
test fix(jetstream): report and document broker replicas that stop catching up (#481) 2026-10-04 11:25:02 +00:00
userapi feat(clientapi): support custom profile fields (MSC4133) (#477) 2026-10-04 09:55:43 +00:00
website docs(ha): name the nats-server 2.15 regression behind stuck replicas (#484) 2026-10-04 13:10:28 +00:00
.commitlintrc.json ci(commitlint): require a package scope in commit and PR titles (#248) 2026-07-08 14:23:57 +00:00
.dockerignore refactor!: rebrand from Dendrite to Zendrite (#68) 2026-02-18 19:21:22 +00:00
.editorconfig chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
.editorconfig-checker.json docs: add Starlight documentation site and clean up stale references (#50) 2026-02-09 00:21:48 +00:00
.gitignore test(ha): qualify failover and split-brain protection under faults (#399) 2026-09-25 06:42:56 +00:00
.golangci.yaml fix(roomserver): avoid RoomID.Domain() panics for version 12 rooms in leave and 3PID invites (#429) 2026-09-29 09:02:06 +00:00
.hadolint.yaml chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
.markdownlint.yaml feat: add vectorized project logo with light/dark mode support (#80) 2026-03-02 15:52:23 +00:00
.pre-commit-config.yaml chore(ci): run file hooks only at the pre-commit stage (#440) 2026-09-29 13:47:57 +00:00
.prettierignore chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
.prettierrc.json chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
.trivyignore ci(security): ignore the unreachable x/crypto/openpgp advisory (#439) 2026-09-29 13:48:14 +00:00
.yamllint.yaml chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
are-we-synapse-yet.list chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
build-zendritejs.sh refactor!: rebrand from Dendrite to Zendrite (#68) 2026-02-18 19:21:22 +00:00
Dockerfile fix(docker): disable dynamic WebP loading in container builds (#336) 2026-09-09 15:10:29 +00:00
go.mod fix(deps): keep third_party_invite.signed when redacting v11+ member events (#480) 2026-10-04 10:04:58 +00:00
go.sum fix(deps): keep third_party_invite.signed when redacting v11+ member events (#480) 2026-10-04 10:04:58 +00:00
justfile fix(build): replace obsolete lint bootstrap with pinned hook (#341) 2026-09-09 16:09:21 +00:00
LICENSE Update license file 2024-10-17 17:21:06 +02:00
LICENSE-COMMERCIAL chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
README.md docs(website): add Liberapay badge to README and navbar (#260) 2026-07-23 16:47:44 +00:00
renovate.json fix(renovate): resolve Forgejo artifact action tags (#306) 2026-09-07 17:03:51 +00:00
sytest-blacklist chore: add various linters, format all files 2026-02-06 16:42:37 +01:00
test-zendritejs.sh refactor!: rebrand from Dendrite to Zendrite (#68) 2026-02-18 19:21:22 +00:00
zendrite-sample.yaml fix(config): RTCFocus JSON: flat livekit_service_url, not nested (MSC4143) (#372) 2026-09-22 05:59:21 +00:00

Zendrite

Zendrite logo

Zendrite is a second-generation Matrix homeserver written in Go, designed to be efficient, reliable, and scalable.

Liberapay receives

Forked from element-hq/dendrite in February 2026

The existing Dendrite Matrix rooms are used for chatting:

  • #dendrite:matrix.org for general project discussion and support
  • #dendrite-dev:matrix.org for chat about development specifically

Getting Started

See the documentation site for installation, administration, and development guides.

Downloads

The first public release of this fork is v0.15.3.

Migrating from Dendrite

If you are upgrading from an existing Dendrite installation, see the migration guide for details on config, API endpoint, and JetStream changes.

License

Copyright 2017 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2017-2025 New Vector Ltd

This software is dual-licensed by New Vector Ltd (Element):

  1. GNU AGPL v3 (or later); or
  2. A paid-for Element Commercial License (terms may vary).