multipleof4andClaude Opus 5.5 b4bae470c1 Rewrite reply streaming: background replies, reliable stop and resume
Each reply owns its socket and keeps streaming and saving into its own
thread when you switch threads or sunes, so other threads aren't blocked.
Drops reconnect with backoff and resume from the last chunk; a socket that
stays open but goes silent is caught by a ping when the app returns to the
foreground (and every 20s while visible). Streaming messages carry
stream:{seq}, and replies in flight are listed in localStorage so a reload
picks them up even before their thread is opened. This replaces the 1.5s
HTTP polling, the threads_cache store and the DOM-based last-message lookup.

Stop now always reaches the proxy: after a reload, after switching apps and
while the socket is still connecting. Deleting a streaming message or its
thread stops the run. Also fixes:
- the send lock is taken before any await, so a double tap can't send twice
- a tap on the button right after it flips from Stop to Send is ignored
- Stop no longer swallows the next manual empty-composer send
- a thread opened while another was still loading can't take its messages
- deleting a local thread now removes it from the list

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 02:59:52 +00:00
2026-10-14 18:14:49 +00:00
2026-09-05 14:34:40 -07:00

Download For Android (.apk)

Main

Each sune is like a module. You can have many. And share them.

Sunes Setting

💠 New!

You can have scripts which run on the page of each sune — either to function call or extend functionality of the app or sune.

Scripting Miku

There is a marketplace and LaTeX support out of the box.

Marketplace LaTeX


🔄 Sync Your Chats with GitHub

Never lose a conversation again. Sune can sync all your threads to a GitHub repo.

Sync

Setup for Syncing Chats

  1. Create a GitHub repo — can be private or public, whatever you prefer. Something like .chats.

  2. Generate a Personal Access Token (PAT)

    • Go to github.com/settings/tokens → Classic Token → Generate new token
    • Give it Read and write access to Contents on your repo
    • Copy the token
  3. Add your token in Sune

    • Open the left sidebar → User → Settings
    • Go to the API tab
    • Paste your token into the Github Token field
    • Hit Save
  4. Point Sune to your repo

    • Open the right sidebar (Threads panel)
    • In the repo input at the top, enter: gh://your-username/.chats
    • Press Enter
  5. Sync

    • Hit the Sync button after starting a new chat in there.
    • OK = Push your local threads up to GitHub
    • Cancel = Pull threads down from GitHub

That's it. Your threads are now backed up as JSON files in your repo. You can sync across devices, never lose a chat, and even browse your conversations directly on GitHub.

S
Description
An OpenRouter Frontend & Android App — Also supports API keys for Gemini, OpenAI, & Claude
Readme
20 MiB
Sune v1.0.0
Latest
2026-10-01 21:37:07 +00:00
Languages
JavaScript 51.2%
HTML 46.7%
CSS 2.1%