The README still described an ordinary fork that merges each upstream release, and CONTRIBUTING kept changes small so the next import would merge cleanly. Neither holds since upstream v2.0.0 put code under a proprietary license and we stopped taking upstream changes: nothing after v1.0.11 comes in, and features are written here.
1.6 KiB
Contributing
Patches, bug reports and questions are welcome. Open an issue first for anything substantial; small fixes need no ceremony.
Sending a change
New accounts on git.coffeylabs.org can file issues but can't push or fork. Until you have repository access, open an issue for the change, or say hello on community.coffeylabs.org, and attach the change to the issue as a patch:
git format-patch origin/main --stdout > my-change.patch
Repository access goes to volunteers we have worked with; a few good issues or patches is the usual way in. After that you push a branch here and open a pull request. The GitHub copy is a read-only mirror, so pull requests opened there are not merged.
What this is
A fork of Stalwart's web interface, taken under the AGPL-3.0-only half of its
dual license, talking to INBUXA over JMAP and OAuth. Upstream's copyright
headers stay where they are, and a file this fork has changed says so beneath
them. New files carry Coffey Labs' own header and AGPL-3.0-only.
Nothing from upstream after v1.0.11 is merged or copied in: later upstream releases include code under a proprietary license. A feature upstream adds later is written here from scratch, never copied.
Before you push
npm ci
npm run typecheck && npm run lint && npm test && npm run build
CI runs exactly that. Nothing here talks to a live server, so a failing test is a real failure rather than a missing container.
Commit messages
Say what changed and why, in prose. The why is the part that is hard to recover later. No tool trailers.