Commit graph

16 commits

Author SHA1 Message Date
Sirius DevOps
a278e71627
ci: install the clippy component in the rust image
Some checks failed
ci / test (push) Has been cancelled
rust:1.91-bookworm ships without clippy, so the clippy step died with
'cargo-clippy is not installed for the toolchain' after all 39 tests
passed. Also pushes the watcher fix (1=success 2=failure in Forgejo job
statuses, not action_run's numbering).
2026-09-10 13:24:59 -04:00
Sirius DevOps
e36070cb72
scripts: watcher with correct Forgejo job status codes
1=success 2=failure 3=cancelled 4=skipped 5=waiting 6=running 7=blocked,
terminal is 1..4. The first cut treated 2 as success and reported a failed
job as green.
2026-09-10 13:15:12 -04:00
Sirius DevOps
19af4cc768
ci: build on rust 1.91 — the locked Arti 0.46 crates require rustc >= 1.91
Some checks failed
ci / test (push) Failing after 9m2s
The rust:1.87-bookworm job image failed every builder step with
'tor-*@0.46.0 requires rustc 1.91 ... either upgrade rustc or select
compatible dependency versions'. Cargo.toml declared rust-version 1.87,
which was simply wrong: cargo 1.87 could not even resolve the lockfile.

- rust-version 1.87 -> 1.91 (README requirement text too)
- RUST_IMAGE rust:1.87-bookworm -> rust:1.91-bookworm in ci and release
2026-09-10 13:14:55 -04:00
Sirius DevOps
e7c0b98a2b
ci(release): build the dispatched tag, not the dispatch ref
Some checks failed
ci / test (push) Failing after 21s
Without this a workflow_dispatch re-publish would have built main and
attached a binary whose --version did not match the release tag.
2026-09-10 13:12:39 -04:00
Sirius DevOps
91fd9601b8
ci: Forgejo-native ci + release workflows
Some checks failed
ci / test (push) Failing after 1m6s
The GitHub workflows could never run on this instance: jobs asked for
ubuntu-24.04 runners (the Pi runner only registers the 'docker' label, so
every job sat in waiting), and release.yml published to github.com, which
is not a remote of this repo.

- .forgejo/workflows/ci.yml  — cargo test + clippy on the 'docker' label,
  Rust work in a rust:1.87-bookworm sibling container (aarch64 native)
- .forgejo/workflows/release.yml — on v*.*.* tags, build aarch64, strip,
  sha256, publish to the Forgejo release; workflow_dispatch takes a tag
  to re-publish
- scripts/publish-release.sh — idempotent create-or-update release +
  asset upload via the Forgejo API (replaces same-named assets)
- scripts/build-release-local.sh — x86_64 path (no x86_64 runner exists)
- scripts/release-body.md — release notes template (@TAG@ substituted)
- README: install URLs -> Forgejo, accurate maintainer release procedure
- remove .github/workflows/*
2026-09-10 13:10:56 -04:00
Sirius DevOps
b9f2dc3806
chore: release v0.1.1
Some checks are pending
ci / test (push) Waiting to run
release / x86_64-unknown-linux-gnu (push) Waiting to run
release / aarch64-unknown-linux-gnu (push) Waiting to run
release / publish (push) Blocked by required conditions
Binary --version reports CARGO_PKG_VERSION, so the tag and the crate
version have to move together.
2026-09-10 13:05:02 -04:00
Sirius DevOps
82634db142
tui: ASCII onion chrome, themed panes, and real keyboard navigation
Some checks are pending
ci / test (push) Waiting to run
- Hand-written wordmark banner (<=80 cols, auto-collapses to a compact
  mark below banner width) plus onion glyph and themed screen headings
- Color-palette consts, stateful pane titles, highlighted selection row
  (accent + bg), context-sensitive footer that always keeps '? help'
- Pane focus model (roster/chat/composer) with Tab/Shift-Tab, 1/2/3,
  j/k + arrows, g/G, and a '?' help overlay; Esc closes any overlay
- New tests/tui_chrome.rs: banner widths, help overlay bindings, real
  footer helper at 80 and 120 cols, 80x24 draw smoke test
- README keybinding table updated to match

Locked helper strings (fingerprint_mismatch_banner, rotate_screen_text,
wipe_screen_text, parse_slash) unchanged; UI-only (src/tui.rs).
2026-09-10 13:01:40 -04:00
Sirius DevOps
5c5948c61c
docs: keep release asset filenames so sha256sum -c matches
Some checks are pending
ci / test (push) Waiting to run
2026-09-10 03:05:44 -04:00
Sirius DevOps
b3f8307168
docs: install guide and GitHub Actions release binaries
Some checks are pending
ci / test (push) Waiting to run
Add a README install path for CI-built Linux binaries (curl, checksum,
PATH) plus source builds. CI runs tests/clippy on main; tags v*.*.*
publish stripped x86_64 and aarch64 artifacts. --version/--help so a
download can be checked without booting Tor.
2026-09-10 03:04:56 -04:00
Sirius DevOps
5412e020bb
Add /wipe, /wipe-all, and threat model docs.
/wipe overwrites the message log and VACUUMs; identity and friends stay.
/wipe-all deletes the data dir after confirm so the next open is a new person.
Neither runs without a typed confirm screen.
2026-09-10 02:49:42 -04:00
Sirius DevOps
07aa97711c
[verified] Add F4 onion locator rotate with signed loc frames.
Identity key stays put. Typing ROTATE publishes a new Arti HS, hard-cuts
the old nickname, persists self.onion, and pushes loc to reachable friends.
2026-09-10 02:43:45 -04:00
Sirius DevOps
a2dfe3b2b8
Add Noise IK encrypted stream over Arti.
M3: framed Noise_IK_25519_ChaChaPoly_BLAKE2s on the onion pipe, QR-pinned
identity proofs, plaintext only in sqlite. Live two_node send of hello wire.
2026-09-10 02:07:40 -04:00
Sirius DevOps
4fb4648552
[verified] Add QR codec and ratatui roster.
M2: onionwire:v1 signed payload, Unicode QR, same-k locator update,
unknown-k approval in TUI. F4 is a no-op stub. No Tor in the bin.
2026-09-10 01:54:19 -04:00
Sirius DevOps
0a0dd3a8d8
[verified] Add sqlite store and first-run identity.
Friends are UNIQUE(pubkey); onion is a locator. Honor ONIONWIRE_HOME.
2026-09-10 01:43:02 -04:00
Sirius DevOps
84b9c940cc
Add M0 Arti two-node onion byte-pipe test.
Two in-process TorClients host v3 onions, echo ping over Tor, keep the
same locator across restart, and still accept after DormantMode::Soft.
2026-09-10 01:18:28 -04:00
Sirius DevOps
e6785233c5
Initial Cargo bin scaffold
Empty onionwire crate so cargo build succeeds. Identity is pubkey;
onion is locator. No XMPP. M0 Arti spike is not in this commit.
2026-09-10 01:02:33 -04:00