Iris Chat

to.iris.chat
by Sirius

End-to-end encrypted chat app using Nostr Double Ratchet.

Iris Chat is an end-to-end encrypted mobile chat app built on Nostr and the Double Ratchet protocol. Current app capabilities include: - encrypted one-to-one messaging - group conversations - multi-device identity and device linking - QR and link-based invites - offline message queueing and relay sync

First release: Mar 23, 2026, 40 total releases.

Most recent release: May 28, 2026.

Website Repo

Appears in 2 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • May 28, 2026 2026.5.28
    # Iris Chat Unreleased - Link this device now uses a standard NIP-46 link code to add the device key to AppKeys. - Welcome screens now use a sign-in icon for Sign in. # Iris Chat 2026.5.28 - iOS notifications now stay off by default until turned on in Settings. - iOS catches up messages from delivered notifications when the app opens. - Opening a chat now clears only that chat's delivered notifications.
    More…
    # Iris Chat 2026.5.27 - Onboarding now asks people to agree to Terms before creating, restoring, or linking a profile. - Welcome screens, app icons, splash art, and notification icons are cleaner and more consistent. - Pending outgoing messages now use a send icon, keeping the clock/timer icon for disappearing messages. - Linux chats now include link actions. - Split oversized iOS Swift UI files and added a repo-wide source file size ratchet. # Iris Chat 2026.5.23.1 - Messages reveal less delivery metadata to message servers. - Group message recovery still works with older app versions. - Message repair requests avoid sharing hidden delivery counters. # Iris Chat 2026.5.20.2 - Chats now fetch missing profile details when needed, so names and photos appear more reliably. - Desktop notifications now work more consistently after switching away from Iris. - Settings no longer show secret device-key copy/export actions. - Chat-list profile avatars feel cleaner when tapped. # Iris Chat 2026.5.20.1 - Group messages recover more reliably after app restarts and missed key updates. - New chats with known linked devices get unstuck more often. - Recovery retries are quieter and survive restart. # Iris Chat 2026.5.18.6 - Foreground stays responsive during catch-up bursts and large group metadata updates. # Iris Chat 2026.5.18.5 - Linked devices now learn remote-created groups after restart. - Group messages recover more reliably after app restore. - Android release checks now rebuild Rust path dependencies when shared protocol code changes. - Android storage avoids a native SQLite crash seen during relay publishing. # Iris Chat 2026.5.18.4 - Nearby profiles now open as profiles instead of being mistaken for chats. - Profile nickname editing no longer shows a placeholder nickname as saved data. - Desktop message actions sit beside bubbles more neatly. - Idle sync retries use less CPU. - macOS release builds find the shared Cargo build directory more reliably. # Iris Chat 2026.5.18.2 - Adding people to groups now asks for confirmation before sending invites. - Linked device names can be renamed from Devices. - Nearby now shows cleaner chat-list shortcuts, opens chats from nearby avatars, and appears in mobile sharing. - Removed linked devices now stay removed more reliably. # Iris Chat 2026.5.18.1 - Group photos now persist and appear in chats, chat lists, and group details. # Iris Chat 2026.5.17.1 - Linked devices now show clearer app, OS, and device labels where available. - Messages to a newly restored linked device now wait for its device keys and retry automatically. # Iris Chat 2026.5.16.3 - Restoring with a secret key after Delete all local data no longer gets stuck on a storage error. - Logout and Delete all local data now make sure secret keys are cleared before app data is removed. - Old messages are no longer skipped just because they are old or far back in history. - Linked devices are less likely to receive messages for a stale phone session after logout or reset. # Iris Chat 2026.5.16.2 - Iris can now check for updates automatically on desktop, and self-installed Android APKs can download and install updates from Settings. - New Chat now uses the same clean code sheet for showing and scanning codes. - Group creation is simpler: paste or type a user ID and it is added to the member list automatically. - Nearby rows now show fresher mailbag status and open the right peer flow when tapped. - iOS image albums now keep the fourth tile and + count aligned when a message has more than four images. # Iris Chat 2026.5.16.1 - Messages with multiple images now use Signal-style album layouts: a side-by-side pair, a 1+2 mosaic for three, a 2×2 grid for four, and a +N overlay for albums larger than four. - Tapping any image opens a swipe-through carousel with the sender name, date, share, and forward actions; swipe down or up to dismiss, and adjacent images preload so navigation stays smooth. - The composer's staged attachment row now shows a small thumbnail for image attachments instead of a generic filename chip. - The "Uploading attachment" bar now fills in real time as chunks land on the network instead of running as an indeterminate stripe. # Iris Chat 2026.5.15.3 - Settings now have a single "Nearby" toggle that hides the chat-list shortcut and turns Bluetooth and Wi-Fi off in one move; turn it back on to keep using nearby messaging. - Settings now have an "Accept chat requests" toggle on Android, Linux, and Windows; turning it off drops messages and invite responses from people you have not chatted with before. - Group member rows are now tappable on every platform and open a 1:1 chat with that member. - macOS message bubbles hug their side of the chat instead of drifting into the middle, and the in-bubble timestamp + delivery glyph trail-align consistently for incoming and outgoing messages on iOS, macOS, and Windows. - macOS message hover dock is less crowded — Forward moved into the three-dot menu next to Copy, Info, and Delete. - Nearby modal now shows a small "Mailbag · N yours · M from others" line under each Bluetooth and Wi-Fi row so you can see what is queued for nearby relay. - Message info "Transport" rows now name the nearby peer that relayed the event (for example "bluetooth · Alice"). - Windows message info now matches the other platforms: per-recipient delivery, transport channels, queued device targets, network event ids. - Local development builds finally show the real app version on the About screen instead of "0.1.0". # Iris Chat 2026.5.15.2 - Invite and profile QR links now open through chat.iris.to so they work in the web app when the native app is not installed. - iOS and Android now handle chat.iris.to links directly when installed. - The web privacy, terms, and child safety pages now open as plain pages instead of redirecting into the app. # Iris Chat 2026.5.15.1 - iOS Settings now includes Privacy, Terms, Child Safety, and Contact links for App Store review. - Direct chat profiles now include a report action alongside block. - Account data now separates Delete profile from Delete all local data. Delete profile clears the public profile first. # Iris Chat 2026.5.15 - Settings now has Devices as its own page, and profile QR codes only open when you tap for them. - Chat screens are closer to Signal, with better headers, message spacing, day labels, reactions, drafts, and composer behavior. - The iOS new chat button is easier to tap reliably. - The iOS chat search field now keeps the right dark color without custom rounded styling. - Profile photos, QR sharing, image previews, and share sheets now feel cleaner across mobile. - Blocking users, linked devices, and group chats are steadier, with more crash and error recovery fixes. # Iris Chat 2026.5.14.1 - New chats now appear when a new sender messages you for the first time, without needing to search for that user first. - This device can now block new chats from unknown users. # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message. - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 19, 2026 2026.5.18.5
    # Iris Chat 2026.5.18.5 - Linked devices now learn remote-created groups after restart. - Group messages recover more reliably after app restore. - Android release checks now rebuild Rust path dependencies when shared protocol code changes. - Android storage avoids a native SQLite crash seen during relay publishing. # Iris Chat 2026.5.18.4 - Nearby profiles now open as profiles instead of being mistaken for chats.
    More…
    - Profile nickname editing no longer shows a placeholder nickname as saved data. - Desktop message actions sit beside bubbles more neatly. - Idle sync retries use less CPU. - macOS release builds find the shared Cargo build directory more reliably. # Iris Chat 2026.5.18.2 - Adding people to groups now asks for confirmation before sending invites. - Linked device names can be renamed from Devices. - Nearby now shows cleaner chat-list shortcuts, opens chats from nearby avatars, and appears in mobile sharing. - Removed linked devices now stay removed more reliably. # Iris Chat 2026.5.18.1 - Group photos now persist and appear in chats, chat lists, and group details. # Iris Chat 2026.5.17.1 - Linked devices now show clearer app, OS, and device labels where available. - Messages to a newly restored linked device now wait for its device keys and retry automatically. # Iris Chat 2026.5.16.3 - Restoring with a secret key after Delete all local data no longer gets stuck on a storage error. - Logout and Delete all local data now make sure secret keys are cleared before app data is removed. - Old messages are no longer skipped just because they are old or far back in history. - Linked devices are less likely to receive messages for a stale phone session after logout or reset. # Iris Chat 2026.5.16.2 - Iris can now check for updates automatically on desktop, and self-installed Android APKs can download and install updates from Settings. - New Chat now uses the same clean code sheet for showing and scanning codes. - Group creation is simpler: paste or type a user ID and it is added to the member list automatically. - Nearby rows now show fresher mailbag status and open the right peer flow when tapped. - iOS image albums now keep the fourth tile and + count aligned when a message has more than four images. # Iris Chat 2026.5.16.1 - Messages with multiple images now use Signal-style album layouts: a side-by-side pair, a 1+2 mosaic for three, a 2×2 grid for four, and a +N overlay for albums larger than four. - Tapping any image opens a swipe-through carousel with the sender name, date, share, and forward actions; swipe down or up to dismiss, and adjacent images preload so navigation stays smooth. - The composer's staged attachment row now shows a small thumbnail for image attachments instead of a generic filename chip. - The "Uploading attachment" bar now fills in real time as chunks land on the network instead of running as an indeterminate stripe. # Iris Chat 2026.5.15.3 - Settings now have a single "Nearby" toggle that hides the chat-list shortcut and turns Bluetooth and Wi-Fi off in one move; turn it back on to keep using nearby messaging. - Settings now have an "Accept chat requests" toggle on Android, Linux, and Windows; turning it off drops messages and invite responses from people you have not chatted with before. - Group member rows are now tappable on every platform and open a 1:1 chat with that member. - macOS message bubbles hug their side of the chat instead of drifting into the middle, and the in-bubble timestamp + delivery glyph trail-align consistently for incoming and outgoing messages on iOS, macOS, and Windows. - macOS message hover dock is less crowded — Forward moved into the three-dot menu next to Copy, Info, and Delete. - Nearby modal now shows a small "Mailbag · N yours · M from others" line under each Bluetooth and Wi-Fi row so you can see what is queued for nearby relay. - Message info "Transport" rows now name the nearby peer that relayed the event (for example "bluetooth · Alice"). - Windows message info now matches the other platforms: per-recipient delivery, transport channels, queued device targets, network event ids. - Local development builds finally show the real app version on the About screen instead of "0.1.0". # Iris Chat 2026.5.15.2 - Invite and profile QR links now open through chat.iris.to so they work in the web app when the native app is not installed. - iOS and Android now handle chat.iris.to links directly when installed. - The web privacy, terms, and child safety pages now open as plain pages instead of redirecting into the app. # Iris Chat 2026.5.15.1 - iOS Settings now includes Privacy, Terms, Child Safety, and Contact links for App Store review. - Direct chat profiles now include a report action alongside block. - Account data now separates Delete profile from Delete all local data. Delete profile clears the public profile first. # Iris Chat 2026.5.15 - Settings now has Devices as its own page, and profile QR codes only open when you tap for them. - Chat screens are closer to Signal, with better headers, message spacing, day labels, reactions, drafts, and composer behavior. - The iOS new chat button is easier to tap reliably. - The iOS chat search field now keeps the right dark color without custom rounded styling. - Profile photos, QR sharing, image previews, and share sheets now feel cleaner across mobile. - Blocking users, linked devices, and group chats are steadier, with more crash and error recovery fixes. # Iris Chat 2026.5.14.1 - New chats now appear when a new sender messages you for the first time, without needing to search for that user first. - This device can now block new chats from unknown users. # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message. - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 16, 2026 2026.5.16.3
    # Iris Chat 2026.5.16.3 - Restoring with a secret key after Delete all local data no longer gets stuck on a storage error. - Logout and Delete all local data now make sure secret keys are cleared before app data is removed. - Old messages are no longer skipped just because they are old or far back in history. - Linked devices are less likely to receive messages for a stale phone session after logout or reset. # Iris Chat 2026.5.16.2 - Iris can now check for updates automatically on desktop, and self-installed Android APKs can download and install updates from Settings.
    More…
    - New Chat now uses the same clean code sheet for showing and scanning codes. - Group creation is simpler: paste or type a user ID and it is added to the member list automatically. - Nearby rows now show fresher mailbag status and open the right peer flow when tapped. - iOS image albums now keep the fourth tile and + count aligned when a message has more than four images. # Iris Chat 2026.5.16.1 - Messages with multiple images now use Signal-style album layouts: a side-by-side pair, a 1+2 mosaic for three, a 2×2 grid for four, and a +N overlay for albums larger than four. - Tapping any image opens a swipe-through carousel with the sender name, date, share, and forward actions; swipe down or up to dismiss, and adjacent images preload so navigation stays smooth. - The composer's staged attachment row now shows a small thumbnail for image attachments instead of a generic filename chip. - The "Uploading attachment" bar now fills in real time as chunks land on the network instead of running as an indeterminate stripe. # Iris Chat 2026.5.15.3 - Settings now have a single "Nearby" toggle that hides the chat-list shortcut and turns Bluetooth and Wi-Fi off in one move; turn it back on to keep using nearby messaging. - Settings now have an "Accept chat requests" toggle on Android, Linux, and Windows; turning it off drops messages and invite responses from people you have not chatted with before. - Group member rows are now tappable on every platform and open a 1:1 chat with that member. - macOS message bubbles hug their side of the chat instead of drifting into the middle, and the in-bubble timestamp + delivery glyph trail-align consistently for incoming and outgoing messages on iOS, macOS, and Windows. - macOS message hover dock is less crowded — Forward moved into the three-dot menu next to Copy, Info, and Delete. - Nearby modal now shows a small "Mailbag · N yours · M from others" line under each Bluetooth and Wi-Fi row so you can see what is queued for nearby relay. - Message info "Transport" rows now name the nearby peer that relayed the event (for example "bluetooth · Alice"). - Windows message info now matches the other platforms: per-recipient delivery, transport channels, queued device targets, network event ids. - Local development builds finally show the real app version on the About screen instead of "0.1.0". # Iris Chat 2026.5.15.2 - Invite and profile QR links now open through chat.iris.to so they work in the web app when the native app is not installed. - iOS and Android now handle chat.iris.to links directly when installed. - The web privacy, terms, and child safety pages now open as plain pages instead of redirecting into the app. # Iris Chat 2026.5.15.1 - iOS Settings now includes Privacy, Terms, Child Safety, and Contact links for App Store review. - Direct chat profiles now include a report action alongside block. - Account data now separates Delete profile from Delete all local data. Delete profile clears the public profile first. # Iris Chat 2026.5.15 - Settings now has Devices as its own page, and profile QR codes only open when you tap for them. - Chat screens are closer to Signal, with better headers, message spacing, day labels, reactions, drafts, and composer behavior. - The iOS new chat button is easier to tap reliably. - The iOS chat search field now keeps the right dark color without custom rounded styling. - Profile photos, QR sharing, image previews, and share sheets now feel cleaner across mobile. - Blocking users, linked devices, and group chats are steadier, with more crash and error recovery fixes. # Iris Chat 2026.5.14.1 - New chats now appear when a new sender messages you for the first time, without needing to search for that user first. - This device can now block new chats from unknown users. # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message. - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 16, 2026 2026.5.16.1
    # Iris Chat 2026.5.16.1 - Iris can now check for updates automatically on desktop, and self-installed Android APKs can download and install updates from Settings. - New Chat now uses the same clean code sheet for showing and scanning codes. - Group creation is simpler: paste or type a user ID and it is added to the member list automatically. - Nearby rows now show fresher mailbag status and open the right peer flow when tapped. - iOS image albums now keep the fourth tile and + count aligned when a message has more than four images. # Iris Chat 2026.5.16.1
    More…
    - Messages with multiple images now use Signal-style album layouts: a side-by-side pair, a 1+2 mosaic for three, a 2×2 grid for four, and a +N overlay for albums larger than four. - Tapping any image opens a swipe-through carousel with the sender name, date, share, and forward actions; swipe down or up to dismiss, and adjacent images preload so navigation stays smooth. - The composer's staged attachment row now shows a small thumbnail for image attachments instead of a generic filename chip. - The "Uploading attachment" bar now fills in real time as chunks land on the network instead of running as an indeterminate stripe. # Iris Chat 2026.5.15.3 - Settings now have a single "Nearby" toggle that hides the chat-list shortcut and turns Bluetooth and Wi-Fi off in one move; turn it back on to keep using nearby messaging. - Settings now have an "Accept chat requests" toggle on Android, Linux, and Windows; turning it off drops messages and invite responses from people you have not chatted with before. - Group member rows are now tappable on every platform and open a 1:1 chat with that member. - macOS message bubbles hug their side of the chat instead of drifting into the middle, and the in-bubble timestamp + delivery glyph trail-align consistently for incoming and outgoing messages on iOS, macOS, and Windows. - macOS message hover dock is less crowded — Forward moved into the three-dot menu next to Copy, Info, and Delete. - Nearby modal now shows a small "Mailbag · N yours · M from others" line under each Bluetooth and Wi-Fi row so you can see what is queued for nearby relay. - Message info "Transport" rows now name the nearby peer that relayed the event (for example "bluetooth · Alice"). - Windows message info now matches the other platforms: per-recipient delivery, transport channels, queued device targets, network event ids. - Local development builds finally show the real app version on the About screen instead of "0.1.0". # Iris Chat 2026.5.15.2 - Invite and profile QR links now open through chat.iris.to so they work in the web app when the native app is not installed. - iOS and Android now handle chat.iris.to links directly when installed. - The web privacy, terms, and child safety pages now open as plain pages instead of redirecting into the app. # Iris Chat 2026.5.15.1 - iOS Settings now includes Privacy, Terms, Child Safety, and Contact links for App Store review. - Direct chat profiles now include a report action alongside block. - Account data now separates Delete profile from Delete all local data. Delete profile clears the public profile first. # Iris Chat 2026.5.15 - Settings now has Devices as its own page, and profile QR codes only open when you tap for them. - Chat screens are closer to Signal, with better headers, message spacing, day labels, reactions, drafts, and composer behavior. - The iOS new chat button is easier to tap reliably. - The iOS chat search field now keeps the right dark color without custom rounded styling. - Profile photos, QR sharing, image previews, and share sheets now feel cleaner across mobile. - Blocking users, linked devices, and group chats are steadier, with more crash and error recovery fixes. # Iris Chat 2026.5.14.1 - New chats now appear when a new sender messages you for the first time, without needing to search for that user first. - This device can now block new chats from unknown users. # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message. - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 15, 2026 2026.5.15.2
    # Iris Chat 2026.5.15.2 - Invite and profile QR links now open through chat.iris.to so they work in the web app when the native app is not installed. - iOS and Android now handle chat.iris.to links directly when installed. - The web privacy, terms, and child safety pages now open as plain pages instead of redirecting into the app. # Iris Chat 2026.5.15.1 - iOS Settings now includes Privacy, Terms, Child Safety, and Contact links for App Store review. - Direct chat profiles now include a report action alongside block.
    More…
    - Account data now separates Delete profile from Delete all local data. Delete profile clears the public profile first. # Iris Chat 2026.5.15 - Settings now has Devices as its own page, and profile QR codes only open when you tap for them. - Chat screens are closer to Signal, with better headers, message spacing, day labels, reactions, drafts, and composer behavior. - The iOS new chat button is easier to tap reliably. - The iOS chat search field now keeps the right dark color without custom rounded styling. - Profile photos, QR sharing, image previews, and share sheets now feel cleaner across mobile. - Blocking users, linked devices, and group chats are steadier, with more crash and error recovery fixes. # Iris Chat 2026.5.14.1 - New chats now appear when a new sender messages you for the first time, without needing to search for that user first. - This device can now block new chats from unknown users. # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message. - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 13, 2026 2026.5.13.6
    # Iris Chat 2026.5.13.6 - iOS message bubbles no longer steal fast vertical flicks from the chat timeline. - iOS message swipe gestures still open reply and message info, and chat-list row swipes still show row actions. - Jump to latest now stops in-flight timeline momentum before scrolling, avoiding temporary scroll lock near the bottom. - The jump-to-latest caret now responds on first touch even while the timeline is still coasting. # Iris Chat 2026.5.13.5 - Long chats no longer flicker on open or briefly lock scrolling after you scroll away from the latest message.
    More…
    - Opening or paging long chats no longer waits on slow message-server work before the UI can respond. - Live message subscriptions now finish reliably after reconnects, fixing missed group and linked-device updates. - Bluetooth nearby presence now stays visible even when the same device is also reachable over Wi-Fi. - Wi-Fi and Bluetooth nearby handshakes now keep liveness traffic small while avoiding duplicate bulk sync work. - Release checks now include a local core LAN discovery smoke test. - Navigation now updates immediately across shells while Rust remains the source of truth, so protocol backlog cannot make chat taps look dead. - Rust now services user actions ahead of relay/nearby backlog and chunks catch-up processing to keep the app responsive. - Nearby frame work moved off the iOS main thread and repeated peer updates are deduplicated more aggressively. - iOS protocol catch-up now coalesces repeated fetches, reducing relay CPU churn and phone heating. - Duplicate invite events no longer rebuild expensive debug snapshots while replaying queued sends. - Queued protocol fetches now run single-flight with bounded retry timing instead of overlapping relay requests. - Group and linked-device recovery still subscribes to your own keys while avoiding useless repeated backfill. # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input. - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 13, 2026 2026.5.13.4
    # Iris Chat 2026.5.13.4 - iOS share sends now queue from the share sheet instead of depending on Iris opening right away. - iOS shared files are copied into Iris before sending, fixing missing attachments after sharing. - iOS back navigation now stays on the chat list without briefly reopening the previous chat. - Android chat navigation now ignores stale chat snapshots while the app catches up. - Linked devices now restore correctly after restart instead of getting stuck waiting for approval. - iOS composer taps now focus reliably on the first tap. - iOS composer send button now aligns with the message input.
    More…
    - macOS composer no longer shows a send button; Return sends and Shift-Return keeps multiline drafting. - Nearby permission checks no longer poll from render paths, reducing CPU waste. - Nearby sync now avoids repeated request/response broadcasts, reducing iOS idle CPU while Bluetooth and Wi-Fi discovery are active. - Debug logging is off by default in release builds and can be enabled from Settings when exporting a debug dump.
  • May 12, 2026 2026.5.12.0
    # Iris Chat 2026.5.12.0 - Big speed-up for anyone with many active chats: the app would slowly chew CPU after extended use and the UI got sluggish when navigating between chats. Traced it to an internal debug snapshot rebuilding on every relay event — now throttled and disabled entirely in release builds. - Links inside messages render in the regular text colour with a Signal-style underline. The previous orange tint was loud and clashed with both bubble colours; the quieter underline reads cleanly on outgoing and incoming bubbles alike. - macOS chat bubbles no longer stretch the full pane on wide windows — capped at a comfortable column, like every other desktop messenger. - Hover-revealed message actions no longer reflow the bubble width when they appear. The action dock floats next to the message instead of pushing it around. - On macOS, clicking a link in a message works again and you get the pointing-hand cursor over URLs. - "Show more" / "Show less" toggle no longer renders in brand purple on Android, Windows, or Linux — caught the same no-purple-text rule iOS already followed. - Expanded validation coverage for sender-key encrypted groups, picking up an upstream contribution from lauri000.
  • May 11, 2026 2026.5.11.3
    # Iris Chat 2026.5.11.3 - Dark theme is now pure black across iOS, Android, Linux, and Windows — `#000000` background, `#161616` panel, `#262626` panel-alt. Light theme stays pure white. - Header chrome fades from the bg color at the top to fully transparent at the bottom (no toolbar tone lift, no hairline divider). Identical fade shape in both themes. - Chat list cleanup: no more hairline dividers between rows; the header avatar + new-chat button share the 16pt gutter with the row avatars; new-chat button is a translucent glass disc instead of a solid accent circle. - Composer (iOS) gets 6pt vertical breathing room so it no longer sits flush against the keyboard, and the top bar has 6pt bottom inset so the title isn't adjacent to the offline banner. - Bigger tap targets on the scroll-to-bottom chevron and the send button — off-center thumb taps no longer slip through the composer's transparent gaps to a bubble underneath. - Opening a long chat lands cleanly at the latest message (Eager VStack timeline, hoisted bottom anchor, double scroll-to-bottom call on initial paint). - "Message info" is now "Message details" everywhere. - Android styling tightened to match signal-android: incoming bubble surface variant (#303133 dark / #E7EBF3 light), 20dp avatar→title gap in the chat list row, SemiBold top-bar title.
    More…
    - Reaction pills (Android + Linux) now use a chat-background-coloured ring so the chip reads as a floating element tucked under the bubble. - iOS offline banner is now a small glass capsule with an accent-coloured wifi.slash glyph instead of a full-width orange bar — the warning's still there without dominating the screen.
  • May 10, 2026 2026.5.10.5
    # Iris Chat 2026.5.10.5 - Tap a reaction pill to see who reacted with what — avatar, username, emoji per person. - Tap a quoted reply to scroll to the original message. - Swipe a message to reply (right) or open message info (left). Vertical scrolling stays smooth. - Quoted-reply preview now stretches to the bubble's full width and tucks reactions under the message instead of as a separate row below. - Mute the quoted-reply accent rule on incoming bubbles so it reads as a margin marker, not the app accent color. - Fix iOS bubble width: short messages hug their content, long ones wrap at the row cap instead of stretching. - Restore left/right alignment for own messages — body text is now left-aligned in own bubbles. - Nearby chat-list row uses a wireless glyph and a small avatar stack of nearby peers instead of an "N" letter.
    More…
    - Fix the desktop update banner triggering an "update available" alert on the same version that's already running. - Faster chat rendering on long conversations: rows skip body re-evaluation when nothing visible changed, the desktop update controller and toast queue are split off so unrelated state updates no longer wake them. - Batch outgoing delivered receipts during catch-up: a backlog of N messages from one chat sends 1 receipt event with N tags instead of N separate events.
  • May 10, 2026 2026.5.10.1
    # Iris Chat 2026.5.10.1 - Stops every chat list row from re-evaluating on every state push (typing pings, relay events, update checks). On lists of any size this should noticeably reduce CPU/battery while the app is open.
  • May 9, 2026 2026.5.8.3
    # Iris Chat 2026.5.8.3 - Desktop chat lists have right-click actions for read/unread, pin, mute, and delete. - Message alerts show the sender and message text instead of "New message". - Keeps placeholder message alerts silent when the app cannot decrypt a preview. - Lets iOS decrypt message alerts while the app is backgrounded or the phone is locked. - Fixes nearby Wi-Fi presence between Apple devices. - Enables sound and vibration for mobile message alerts. - Adds Homebrew install support for the `iris` command line app. - Restores desktop update controls and automatic installs.
    More…
    - Uses the regular text color for desktop chat list right-click menu icons. - Stops chat list rows from reflowing when the unread badge appears or disappears.
  • May 8, 2026 2026.5.8
    # Iris Chat 2026.5.8 - Message alerts show the sender and message text instead of "New message". - Keeps placeholder message alerts silent when the app cannot decrypt a preview. - Fixes nearby Wi-Fi presence between Apple devices. - Enables sound and vibration for mobile message alerts.
  • May 8, 2026 3.1.1
    # Iris Chat 3.1.1 - Fixes encrypted message delivery between the mobile app and chat.iris.to. - Keeps linked-device messages tied to the account user ID. - Uses verified encrypted message ids when saving messages.
  • May 8, 2026 3.1.0
    # Iris Chat 3.1.0 - Reworks encrypted chat delivery around the AppCore protocol engine. - Improves linked-device and group chat recovery. - Verifies encrypted message ids and authors before saving messages.
  • May 5, 2026 3.0.20
    # Iris Chat 3.0.20 - Aligns Android dark and light colors with the iOS palette. - Keeps Linux and Windows palettes in sync with iOS. - Fixes Android onboarding screens that could show the wrong background color.
  • May 5, 2026 3.0.19
    # Iris Chat 3.0.19 - Reports the marketing version everywhere instead of the unrelated cargo crate version, so `iris --version` and the in-app About panel match the release tag. - Adds a Linux Settings → Updates panel with current version and a manual "Check for updates" button. - Updates to nostr-double-ratchet 0.0.138.
  • May 4, 2026 3.0.15
    # Iris Chat 3.0.15 - Adds an `iris update {check, download, install}` subcommand for self-updating the CLI from hashtree releases. - Routes legacy group sender-key events through the new wire format so older peers and snapshot consumers stay in sync. - Caps Android chat bubble width at 300dp for cleaner long-message layout. - Updates to nostr-double-ratchet 0.0.138 with snapshot-only group metadata.
  • May 3, 2026 3.0.12
    # Iris Chat 3.0.12 - Adds a Message info view to all platforms with delivery status, recipients, transport, and IDs.
  • May 2, 2026 3.0.10
    # Iris Chat 3.0.10 - Updates encrypted chat internals to nostr-double-ratchet 0.0.135. - Improves direct-message subscription behavior and skipped-key recovery coverage. - Keeps the recent Nearby Wi-Fi reliability fixes.
  • May 1, 2026 3.0.9
    # Iris Chat 3.0.9 - Nearby is now available in the Windows and Linux desktop apps over Wi-Fi. - Opening Nearby enables Wi-Fi discovery on first use so the OS can request network access when needed. - Nearby and settings copy now uses simpler Wi-Fi labels. - Uses nostr-double-ratchet 0.0.127.
  • May 1, 2026 3.0.8
    # Iris Chat 3.0.8 - More reliable linked-device and group messaging. - Faster, safer restore after app restart. - Better local test coverage for Android, iOS, and multidevice chats. - Uses nostr-double-ratchet 0.0.127.
  • Apr 30, 2026 3.0.7
    # Iris Chat 3.0.7 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 29, 2026 3.0.5
    # Iris Chat 3.0.5 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 29, 2026 3.0.3
    # Iris Chat 3.0.3 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 29, 2026 3.0.2
    # Iris Chat 3.0.2 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 28, 2026 3.0.1
    # Iris Chat 3.0.1 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 27, 2026 3.0.0
    # Iris Chat 3.0.0 - Storage rewrite: durable state now lives in SQLite. Faster cold starts, smaller backups, and a proper foundation for upcoming features. - Add members to a group by searching your known users — group creation and group management both let you find existing direct-chat partners by name or user ID instead of pasting a raw npub. - Full categorized emoji picker on Android message reactions, matching the iOS / macOS picker. - Chat list "typing" no longer sticks after a newer message arrives,
    More…
    including the same-second tie that caused "always typing" rows on freshly-active chats. - "Show" label on the invite-QR button so it no longer reads as a second scanner next to the actual scan button. - macOS invite-QR modal closes on click outside (was Escape-only). - iOS push: typing-indicator previews decode correctly again. - Faster runtime publish path; typing indicators are now opt-in. - Composer attachment previews on Linux and Windows. Carries forward 2.6.33's relay catchup + Android push preview fixes, 2.6.32's icon polish, and the 2.6.31 reliability work.
  • Apr 27, 2026 2.6.33
    # Iris Chat 2.6.33 App icon polish across platforms. - Android: launcher icon now has visible padding between the artwork and the icon edge on legacy and adaptive launchers, and the Android-12+ system splash no longer clips the circle on the sides. - Windows + Linux: ship the Iris logo as the app/window/installer icon instead of the default placeholder.
    More…
    Carries forward 2.6.31's reliability fixes (live protocol subscription repair, Android closed-app push notification decryption) and the 2.6.30 harness/test-infrastructure repairs.
  • Apr 27, 2026 2.6.31
    # Iris Chat 2.6.31 Reliability fixes for live messaging and push. - Repair live protocol subscriptions so new direct and group messages arrive without a manual refresh. - Fix Android closed-app push notification decryption so notifications show the sender / group name even when the app has been killed. Carries forward 2.6.30's harness/test-infrastructure repairs, and the 2.6.29
    More…
    work: notification decryption with sender + group name on Android and iOS, App Group / shared-keychain layout for the iOS Notification Service Extension, bundle id `to.iris.chat`.
  • Apr 27, 2026 2.6.28
    # Iris Chat 2.6.28 Push notifications fix. - Mobile push subscription now reflects the live double-ratchet author set on every state rebuild instead of staying frozen between login and a few `mark_dirty` callsites. Starting a new chat, accepting an invite, or rotating a session immediately tells the notification server which authors to push from. Previously Android often missed notifications until the app was reopened. - Settings now has a Notifications section with an enable toggle, a custom server URL field (default `notifications.iris.to`), and a link to `github.com/mmalmi/nostr-notification-server`. Same UI on Android and iOS. - Android FCM e2e test now `force-stop`s the app before pushing the message, so it actually verifies that a closed-app push wakes Iris and surfaces the notification.
  • Apr 26, 2026 2.6.26
    # Iris Chat 2.6.26 Mobile chat polish release for the native Rust chat app. - Tap message bubbles on mobile to reveal the same reply, react, and more actions shown on desktop hover. - Match Android tap feedback to the message bubble shape. - Clear stale typing indicators when a newer message arrives. - Improve chat-list and settings visual clarity, including readable unread counts and hidden raw key hex. - Simplify invite QR screens by showing the QR and actions without redundant labels or visible invite URL text.
  • Apr 26, 2026 2.6.25
    # Iris Chat 2.6.25 Mobile chat polish release for the native Rust chat app. - Tap message bubbles on mobile to reveal the same reply, react, and more actions shown on desktop hover. - Match Android tap feedback to the message bubble shape. - Clear stale typing indicators when a newer message arrives. - Improve chat-list and settings visual clarity, including readable unread counts and hidden raw key hex. - Simplify invite QR screens by showing the QR and actions without redundant labels or visible invite URL text.
  • Apr 26, 2026 2.6.24
    # Iris Chat 2.6.24 Interop reliability release for the native Rust chat app. - Dedupe browser-origin NDR messages by inner rumor ID instead of relay fanout IDs. - Keeps typing, receipt, seen, and reaction controls out of stored chat history. - Keeps disappearing-message and group metadata changes visible as system history. - Adds exact-count Android/browser interop coverage for duplicate regressions.
  • Apr 26, 2026 2.6.23
    # Iris Chat 2.6.23 Interop reliability release for the native Rust chat app. - Dedupe browser-origin NDR messages by inner rumor ID instead of relay fanout IDs. - Keeps typing, receipt, seen, and reaction controls out of stored chat history. - Keeps disappearing-message and group metadata changes visible as system history. - Adds exact-count Android/browser interop coverage for duplicate regressions.
  • Apr 26, 2026 2.6.22
    # Iris Chat 2.6.22 Interop reliability release for the native Rust chat app. - Fixed bidirectional NDR interop with chat.iris.to. - Fetches recent protocol state immediately after opening or accepting chats. - Keeps queued setup messages moving to sent after runtime relay ACKs. - Uses live-updating relative timestamps and shows fresh messages as "now". - Adds live Android/browser interop coverage against public relays.
  • Apr 25, 2026 2.6.21
    # Iris Chat 2.6.21 Native Rust chat release with chat UI and message-control fixes. - Typed user IDs now open a chat immediately. - Added disappearing-message controls in the chat header. - Added visible disappearing-message timer notices. - Added unread count on the back button. - Improved hover message actions and delivery indicators. - Fixed Android keyboard resizing for the message composer.
    More…
    - Capped desktop QR code size. - Added compact relay status dots. - Notification taps now surface the chat list.
  • Apr 25, 2026 2.6.17
    # Iris Chat 2.6.17 Native Rust chat release with chat UI and message-control fixes. - Added disappearing-message controls in the chat header. - Added unread count on the back button. - Improved hover message actions and delivery indicators. - Notification taps now surface the chat list.
  • Apr 25, 2026 2.6.16
    # Iris Chat 2.6.16 Native Rust chat release with chat UI and message-control fixes. - Added disappearing-message controls in the chat header. - Added unread count on the back button. - Improved hover message actions and delivery indicators. - Notification taps now surface the chat list.
  • Mar 23, 2026 2.6.13