Skip to content

feat: v0.3.2 release (roster glyphs, sorting, max rows) - #20

Merged
FAZuH merged 7 commits into
mainfrom
v0.3.2
Sep 16, 2026
Merged

FAZuH merged 7 commits into
mainfrom
v0.3.2

Conversation

@FAZuH

@FAZuH FAZuH commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Summary

Ships the v0.3.2 release line: Discord-style mute/deafen glyphs in the roster, configurable roster ordering, and a max-rows cap with an overflow pill. Merging into main triggers the release pipeline (autopromote → tag v0.3.2 → GitHub Release).

Changes

Validation

  • Local CI mirror green at b501dd0: cargo +nightly fmt --all -- --check, cargo clippy --all-features --all-targets --no-deps -- -D warnings, cargo test --workspace --all-features --no-fail-fast (331 tests, 0 failures)
  • Docs-only follow-up commit re-checked with fmt; the PR's _pr-checks re-runs the full mirror
  • Empirical RPC findings recorded under .scratch/2026-09-04_v032-roster-presence-icons/ (self camera/share state reachable over RPC; others' state is not exposed)

Checklist

  • Changes are limited to a single logical unit (the v0.3.2 release rollup; each constituent PR was reviewed and merged separately)
  • Code follows the repo's style and lint rules
  • Tests updated/added where relevant
  • Docs updated where relevant
  • I ran the repo's checks (lint/test/typecheck) before submitting

FAZuH and others added 7 commits September 12, 2026 01:12
Replace the M/D text badges with MDI microphone-off / headphones-off
vector glyphs (Apache-2.0 path data, tinted through iced's svg loader),
drawn inline after the username at 16px. One mark per row — deafening
overrides muting — red (red-600) when server-set, grey (neutral-400)
when self-set. The mark decision lives in overlay/glyph.rs so the
presence/override/color rules stay unit-pinned.

Adds iced's svg feature (resvg tree, +1.9MB on the release daemon).

Records the glyph change in the changelog Unreleased Overlay section.
The v0.3.2 line was cut from the pre-release tip, so its CHANGELOG still
listed the 0.3.1 entries under [Unreleased] and lacked the materialized
0.3.1 section. Release previews counted the shipped entries twice.
feat(daemon): Discord-style mute/deafen glyphs in roster
New roster-order config key (Layout group, wire grammar + GUI chip row)
with a join-order | name | recent-speakers picker. The overlay stamps a
runtime-only last-spoke tick per speaker (cleared on stop and on channel
switch, never serialized) and sorts the filtered roster before
rendering; every strategy is a stable sort, so ties keep join order.
New max-rows config key (0 = unlimited, clamped 0..=200, GUI number
row). Truncation happens after sort and filters and before the
desired-size math, so the surface shrinks to the capped rows plus one
pill row; the pill counts exactly the rows the cap hides, in the glyphs'
muted grey. Presentation-only: cache and wire format are untouched.
feat: roster sorting strategies + max-rows cap with +N pill
Co-Authored-By: OpenCode <noreply@opencode.ai>
@github-actions

Copy link
Copy Markdown

Release Preview

Next version: v0.3.2

Note: CHANGELOG.md has no ## [Unreleased] section. An empty one was created for this preview — add your entries under it to preview the release body.

0.3.2 (2026-09-16)

@FAZuH
FAZuH merged commit 3b57b96 into main Sep 16, 2026
7 checks passed
@FAZuH
FAZuH deleted the v0.3.2 branch September 16, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant