Make Vandelay into inbuxa-migrate #1

Merged
jcoffey-dev merged 6 commits from rename/inbuxa-migrate into main 2026-09-30 17:30:47 +00:00
Owner

The first change on top of Vandelay's history, which main holds as imported (to 486a384, without upstream's tags). The license stays Apache-2.0 OR MIT.

  • Rename. Binary, crate and everything the tool writes or reads become inbuxa-migrate. The credential variables are INBUXA_MIGRATE_PASSWORD, _TOKEN, _EWS_CLIENT_SECRET and _GRAPH_TOKEN, with no fallback to the old names. The version moves to the date scheme: 2026.9.30.
  • Registry capability from the server. x: calls use urn:inbuxa:jmap:registry when the session advertises it, else urn:stalwart:jmap, so Stalwart servers still work as a source. A server with neither gets a clear error.
  • CI in the suite's pattern. Upstream's cargo-dist pipeline (npm, Homebrew, MSI) is removed. Gitea runs cargo test --locked, or waits for GitHub when BUILD_ON=github. GitHub builds v* tags on native amd64 and arm64 runners (Ubuntu 22.04, for glibc range), attaches the archives and SHA256SUMS to the Gitea release, and copies the release to GitHub. Releases are built only on GitHub.
  • README rewritten in the suite's voice; the command reference moves to docs/usage.md; the CHANGELOG gains this release above upstream's history.

Modified files keep upstream's copyright notices and gain a line for this work. cargo test --locked: 1323 passed, 61 ignored (live and container tests). cargo clippy --all-targets -D warnings and cargo fmt --check are clean.

Actions are switched off on this repository until this lands, so this PR has no CI run; nothing here has run on a runner yet.

The first change on top of Vandelay's history, which `main` holds as imported (to `486a384`, without upstream's tags). The license stays Apache-2.0 OR MIT. - **Rename.** Binary, crate and everything the tool writes or reads become inbuxa-migrate. The credential variables are `INBUXA_MIGRATE_PASSWORD`, `_TOKEN`, `_EWS_CLIENT_SECRET` and `_GRAPH_TOKEN`, with no fallback to the old names. The version moves to the date scheme: `2026.9.30`. - **Registry capability from the server.** `x:` calls use `urn:inbuxa:jmap:registry` when the session advertises it, else `urn:stalwart:jmap`, so Stalwart servers still work as a source. A server with neither gets a clear error. - **CI in the suite's pattern.** Upstream's cargo-dist pipeline (npm, Homebrew, MSI) is removed. Gitea runs `cargo test --locked`, or waits for GitHub when `BUILD_ON=github`. GitHub builds v* tags on native amd64 and arm64 runners (Ubuntu 22.04, for glibc range), attaches the archives and `SHA256SUMS` to the Gitea release, and copies the release to GitHub. Releases are built only on GitHub. - **README** rewritten in the suite's voice; the command reference moves to `docs/usage.md`; the CHANGELOG gains this release above upstream's history. Modified files keep upstream's copyright notices and gain a line for this work. `cargo test --locked`: 1323 passed, 61 ignored (live and container tests). `cargo clippy --all-targets -D warnings` and `cargo fmt --check` are clean. Actions are switched off on this repository until this lands, so this PR has no CI run; nothing here has run on a runner yet.
jcoffey-dev added 4 commits 2026-09-30 17:16:35 +00:00
The crate, binary, library path and every name the tool writes or reads
become inbuxa-migrate: the CLI name and about text, the HTTP user agent,
the credential variables (INBUXA_MIGRATE_PASSWORD, _TOKEN,
_EWS_CLIENT_SECRET and _GRAPH_TOKEN, with no fallback to the old names),
thread names, synthesized UIDs and calendar addresses
(urn:x-inbuxa-migrate:attendee:), and the Maildir file suffix used by the
export script. This is a new tool, so archives written by Vandelay are not
read back.

The version moves to the date scheme the release tags use (2026.9.30), and
the package metadata points at the inbuxa-migrate repository. The cargo-dist
and MSI metadata goes with the release tooling it served.

Modified files carry an added copyright line; the original notices stay.
Registry calls (x:Account, x:Domain and the rest of the x: types) were
always sent under urn:stalwart:jmap. inbuxa advertises the same registry
as urn:inbuxa:jmap:registry, so the capability now comes from the connected
server: Session::registry_urn() picks urn:inbuxa:jmap:registry when the
session advertises it, else urn:stalwart:jmap, so Stalwart servers still
work as a source. A request carrying an x: call against a server that
advertises neither fails with a MissingCapability error naming both,
treated like any other connection-level failure, instead of sending a
capability the server never offered.
Upstream's cargo-dist pipeline published to npm and Homebrew under its own
names, built an MSI, and ran on every pull request. It goes, with its
dist-workspace.toml, the wix/ installer files and the README image.

CI now follows the rest of the suite. .gitea/workflows runs `cargo test
--locked` on Gitea's runners, or, when the org variable BUILD_ON is
'github', waits for the result GitHub reports on the commit. On GitHub,
.github/workflows/ci.yml runs the same tests, and for a v* tag on main
whose version matches Cargo.toml builds scripts/build-release.sh on native
amd64 and arm64 runners (Ubuntu 22.04, for the widest glibc range),
attaches inbuxa-migrate-linux-{amd64,arm64}.tar.gz and SHA256SUMS to the
Gitea Release, copies the Release to GitHub, and reports back. Releases are
built only on GitHub; with BUILD_ON unset a tag is tested but not released.
Published releases are announced on the forum.
The README now says what the tool is in the suite's plain voice: the
archive in the middle, convergent reruns, --dry-run, the archive as a
backup, the sources it reads (Stalwart among the JMAP ones), the
INBUXA_MIGRATE_* credential variables, installing from the Gitea release
with SHA256SUMS, building and testing, and the license with the lineage
line. Upstream's logo, badges and install channels are gone.

The full command and flag reference moves to docs/usage.md, with the
renamed binary and variables. The CHANGELOG gains a section for this first
release, above upstream's history.
jcoffey-dev added 1 commit 2026-09-30 17:22:40 +00:00
"October 1, 2026" and "April 1, 2027", matching the rest of the suite.
jcoffey-dev added 1 commit 2026-09-30 17:23:34 +00:00
The .gitignore inherited from upstream ignores every dotfile except .github,
and every Markdown file except README and CHANGELOG. The Gitea workflows and
docs/usage.md, which the README links to, were therefore never committed.
Both are now excepted and added.
jcoffey-dev merged commit 2d94915702 into main 2026-09-30 17:30:47 +00:00
jcoffey-dev deleted branch rename/inbuxa-migrate 2026-09-30 17:30:47 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inbuxa/inbuxa-migrate#1