This repository is meant to be maintainable over time, not just runnable once.
- Keep patches minimal and explain why each patch exists.
- Keep Chinese and English docs in sync.
- Do not commit local planning notes under
docs/plans/. - Do not commit generated runtime artifacts from
deploy/generated/. - Do not silently update upstream refs without updating the version manifest and docs.
- Create a new branch named after the target
Signal-Servertag, for examplesignal-server/v20260401.1.0. - Update
versions/current.env. - Add
versions/<tag>.env. - Refresh upstream repos with
./scripts/bootstrap-upstream.sh. - Re-apply or refresh patches in
patches/. - Start the stack with
./scripts/dev-up.sh --smoke-test. - If Desktop support is part of the target release, also run
./scripts/desktop-up.sh. - Update both Chinese and English docs before merging or publishing.
- Patch upstream code in
upstream/first. - Export the smallest possible diff into
patches/. - Prefer additive local-dev hooks over invasive behavior changes.
- If a patch is no longer required by upstream, remove it instead of carrying dead code.
signal-serverreaches a healthy admin endpoint.- verification session creation still works
- captcha answer still works
- verification code request still works
- verification code submission still works
- Desktop standalone boot still works if Desktop is in scope
- Explain which upstream refs were tested.
- Call out any new local-only assumptions.
- Mention whether docs and patches were updated together.