Repository navigation
v1.1.0-alpha.1
Pre-release
Pre-release
·
32 commits
to main
since this release
First pre-release of the 1.1 line — a near-complete rewrite. The bot gains a
full web UI, moves all configuration into SQLite, and is now distributed under
the OwlShack name. This is an alpha: expect rough edges and please
report issues.
Highlights
- New web UI (React SPA at
:8080). Operator-console aesthetic over a
single embedded static binary — no separate frontend to host. - Configuration lives in SQLite, not files. A first-run setup wizard
bootstraps a node; config files become one-time imports. Per-resource config
screens (Radio, MQTT, Companions, Bots/triggers) edit one thing at a time and
reload in place — most changes apply with no restart and no dropped sessions. - Rebrand to OwlShack.
Web UI
- Overview / Peers / Map — live peer count and type spectrum, searchable
peer table, Leaflet map of geolocated peers with type filters and GPS
track visualization (altitude-colored). - Packets — live stream grouped by hash with a detail panel (route, hops,
signal, observation timeline, raw hex). - Trace — interactive path builder + result timeline.
- Companions → chat — channels and DMs per companion, with delivery status,
retry, and reply/quote affordances. - Contacts / Channels / Repeaters — per-companion management.
- Repeater Detail — login, status telemetry, CLI terminal with
autocomplete, neighbours, and a full settings panel (radio, position map
picker, advert intervals, routing, owner info, security/ACL).
Node monitoring
- Type-agnostic background poller writing time-series metrics + latest-snapshot
state, with per-node intervals, on-demand polls, and UI staleness indicators. - Telemetry decoding (battery, MCU temp, external sensors) gated by the remote
node's sharing prefs.
Contacts & peers (this release)
- Contacts are now self-contained address-book records — each caches its own
name, type, location, routing path, feature flags and last-seen, refreshed
from adverts and path learning. Deleting a discovered peer no longer touches a
saved contact. - Per-companion routing — DMs route from the contact's own learned path;
companions never share a route to a peer. - Discovered-peer deletion — individual and bulk, from the Peers and Map
pages. - Cross-linking + self-add prevention — every entity is reachable to its
detail view from anywhere it's shown; you can't add your own node as a contact.
MQTT observer
- Configurable broker presets (LetsMesh, Waev, MeshMapper, …), templated
packet/status topics, and per-broker auth (Ed25519 JWT or basic). - Fixes: UTC zone-aware timestamps in payloads; shutdown is panic-safe against
in-flight deliveries.
Other
- Room-server chat (login, post, ACK-gated push), repeater ACL surface, and
unified first-heard reception with a total-heard count. - CI guards
:latestand the GitHub release flag for pre-release tags.
Upgrade notes
- Config moves into the database. On first run, point the binary at your
existing config file once (-config path) to import it; after that the DB is
the source of truth and the file is no longer read. The legacy
nodeType/[[bot]]/[[observer]]format imports cleanly. - The schema is created/migrated automatically on startup.
Full changelog: v1.0.6...v1.1.0-alpha.1