Skip to content

v0.9.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@HANCORE-linux HANCORE-linux released this 08 Sep 19:59
6873086

v0.9.0-beta.2

OmaQ v0.9.0-beta.2 is a reliability prerelease covering all changes since v0.9.0-beta.1. It fixes live nickname updates, group invitations, receipts, and image sending, and adds non-deleting source-update archival and pinned Arch continuous integration (CI).

Changes since beta.1

  • Fixed DirectChat name updates that previously needed another message or panel refresh.
  • Added native nickname updates for existing groups. Partial updates keep the saved profile and show a warning; retrying the same name sends again.
  • Restored pending group invitations after a same-helper status refresh and wrapped long invitation errors instead of truncating them.
  • Fixed live group receipts without downgrading Read. A | now separates inline receipts from their timestamp.
  • Added a visible Send image action beside selected or dropped image previews, preserving drag-and-drop. Sending is disabled when attachment support is unavailable.
  • Added non-deleting source archival: eight active trees and up to 56 archived trees, with bounded validation before archival. The preserving uninstaller offers archive removal as a separate, default-No choice.
  • Added digest-pinned Arch CI, a commit-pinned checkout action, read-only permissions, and an unprivileged test account.
  • Expanded helper, QML, and updater regressions for live names, partial saves/sends, invitations, receipts, image sending, and archival.
  • Illustrated invite conflicts in the user guide and shortened the README without changing project policy.

Install or update

For a new installation, acquire the plugin before building and enabling its helper:

omarchy plugin add https://github.com/HANCORE-linux/OmaQ.git --yes &&
~/.config/omarchy/plugins/hancore.omaq/install.sh --yes

For an existing installation, use only the supported updater:

~/.config/omarchy/plugins/hancore.omaq/scripts/update-omaq.sh --yes

These commands follow current canonical main, not a fixed beta.2 snapshot. Do not use omarchy plugin update, including its all-plugins form. The updater performs its own shell-off transaction; do not force helper replacement when activation reports update-pending or active_groups. Keep memberships intact until you separately decide how to resolve them before retrying activation.

See the installation and update guide for lifecycle details.

Validation evidence

The required Arch headless suite passed in PR #53 CI for d0ee97f668758f0beddc5bf063c314a771219e5b and in main CI for the release commit 687308636b1fb6fa37b583ed7a2a803f6f5ec493. Independent cumulative review found no remaining actionable findings in the metadata/documentation change.

The earlier live-name implementation passed full make test, local make test-ci, phase 3, helper hardening, architecture, plugin, no-Signal, and focused QML checks. It also passed independent cumulative review. The final release-preparation PR changed only metadata and documentation, leaving that runtime code unchanged.

On 3dbbffc4a898491b57429ef9708394ea14ba9e34, the maintainer confirmed these native two-machine checks without status requests, extra messages, or reopening as name-refresh triggers:

  • Immediate DirectChat name refresh in both directions without a panel or chat refresh
  • Existing GroupChat sender labels in one direction, an open member list in the other, and typing after renames in both directions
  • Member → Admin → Member projection, leave/reinvite, a fully readable long invite error, and no duplicate group after acceptance

Earlier accepted implementation snapshots confirmed pending-invite status replay, group read receipts, Read by 1 | timestamp, image preview, drag-and-drop, and the visible image-send action. Attachment-decline feedback also passed on an earlier snapshot, at the UI level only. Earlier checks confirmed direct/two-peer group messaging, post-acceptance Tox safety-code comparison, a byte-identical received file, real microphone/speaker operation, and separate-network use, not the complete network matrix.

Earlier automated runs failed a phase-3 post-kick cleanup assertion and an emoji-test process lookup with ProcessLookupError. Full reruns passed; the causes remain unresolved. make test-ci excludes native Quickshell/Omarchy fixtures and does not replace make test or native acceptance.

The final metadata/documentation change passed static manifest, JSON/YAML, Markdown, command-syntax, and whitespace checks. Its fresh CI runs are listed above; the full local runtime suite and native checks were not repeated for that change.

Compatibility and remaining limits

  • Protocol 16 and Protocol 14/15 compatibility remain unchanged. The helper remains authoritative; accepted group-name sends are not acknowledgements from every peer.
  • Signal Double Ratchet protection applies to direct text messages, not files, calls, or group traffic. Direct messages never fall back to plaintext.
  • Calls remain DirectChat-only. Local call teardown cannot guarantee peer receipt after network loss.
  • Native different-claimant invite conflicts, three-peer groups, and mixed-recipient attachments require an isolated third identity and remain untested. Attachment fault-injection and remaining separate-network/display checks also remain open.
  • Multi-monitor acceptance remains unavailable without suitable hardware. Native search-label refresh and renames during an already-active typing indication were not separately tested.
  • qmllint Panel.qml can exit 255 without diagnostics; the supported QML lint targets and runtime fixtures passed on the implementation snapshot.
  • Packaging and AUR publication remain paused. Licensing and project policy are unchanged; see third-party notices.

All source changes since beta.1