Skip to content

Releases: Codeenk/AirChat

AirChat v1.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 07:58

Full Changelog: v1.8.1...v1.9.0

AirChat v1.8.1

Choose a tag to compare

@github-actions github-actions released this 30 Sep 06:44

Full Changelog: v1.8.0...v1.8.1

AirChat v1.8.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 05:27

Full Changelog: v1.7.0...v1.8.0

AirChat v1.7.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 04:29

Full Changelog: v1.6.5...v1.7.0

AirChat v1.6.5

Choose a tag to compare

@github-actions github-actions released this 27 Sep 08:27

Full Changelog: v1.6.0...v1.6.5

AirChat v1.6.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 07:53

Full Changelog: v1.5.8...v1.6.0

AirChat v1.5.8

Choose a tag to compare

@github-actions github-actions released this 27 Sep 07:06

Full Changelog: v1.5.7...v1.5.8

AirChat v1.5.7 — Reconnecting Fixed

Choose a tag to compare

@github-actions github-actions released this 22 Sep 14:19

AirChat v1.5.7 — Permanent Reconnecting Fixed

The bug

App stuck on Reconnecting forever. Relay logs showed the cause directly: auth: no signing key — the device's directory row predates signing keys, so every socket was closed on sight and the reconnect loop never healed.

The one-time startup migration could fail silently (no network at that moment) and never retried.

The fix

Auth rejection now triggers a directory re-register (upserts the current signing key, 5-minute cooldown) and the normal reconnect cycle heals on its own. No user action needed — update and the wire reconnects within seconds.

AirChat v1.5.6 — Scroll Teleport Fixed

Choose a tag to compare

@github-actions github-actions released this 22 Sep 13:55

AirChat v1.5.6 — Chat Scroll Remade

The bug

Each swipe scrolled 2–3 pages. Root cause: every scroll event near the top fired a loadMore, and each one ran its own jumpTo correction — overlapping corrections fought the fling's momentum mid-flight.

The fix (Apple fluid-interfaces rules)

  • Single-flight loads: one loadMore at a time; offset corrected only when content actually grew — momentum is never interrupted
  • Keyboard re-pin skipped while the finger is down
  • cacheExtent 300→800 so flings don't outrun layout
  • FAB springs in/out (easeOutBack) instead of popping

Both 1:1 and group chats.

AirChat v1.5.5 — Scroll Jank Fixed

Choose a tag to compare

@github-actions github-actions released this 21 Sep 15:36

AirChat v1.5.5 — Keyboard-Open Scroll Fixed

The lag

Scrolling with the keyboard open stuttered. Two per-frame costs found:

  1. O(n²) reply check — every bubble ran messages.any() per build (40,000 comparisons for 200 messages on each keyboard animation frame). Replaced with a precomputed ID set per build.
  2. MediaQuery rebuilds — every bubble subscribed to full MediaQuery, rebuilding on each keyboard animation frame. Switched to size-only subscription so bubbles skip keyboard frames entirely.

Both 1:1 and group chats.