Commit Graph
1815 Commits
Author SHA1 Message Date
github-actions[bot] f9b27023fe This build was committed by a bot. 2026-10-20 03:56:27 +00:00
multipleof4andClaude Opus 5.5 bd91949698 Make reply ids unguessable and keep them out of the socket URL
Reply ids, which double as the proxy's run id, are now the same base36 ms
timestamp followed by a dash and 128 random bits from crypto.getRandomValues,
so a run can't be found by guessing. Saved replies keep their fields and the
timestamp prefix. The id is sent inside begin, resume and stop instead of the
URL, and SECURITY.md now says ntfy pings carry only the timestamp half.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 03:56:12 +00:00
multipleof4andClaude Opus 5.5 ba32afa631 Update proxy retention note: prompts aren't kept, replies stay 90 minutes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 03:22:28 +00:00
github-actions[bot] 7fc2f80d19 This build was committed by a bot. 2026-10-20 03:04:15 +00:00
multipleof4andClaude Opus 5.5 5c75408188 Keep retrying a lost reply for up to 105 minutes to match the proxy's 90-minute window
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 03:04:01 +00:00
github-actions[bot] 32d7bd6bd2 This build was committed by a bot. 2026-10-20 03:00:08 +00:00
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
github-actions[bot] a89a25890a This build was committed by a bot. 2026-10-14 18:14:49 +00:00
multipleof4andClaude Opus 5.5 3ee881427c Accept AVIF and JXL image attachments
Both are converted to WebP in the browser like other non-WebP images, so
providers never see them. Browsers that can't decode JXL now get a readable
error instead of [object Event].

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:14:28 +00:00
github-actions[bot] da2b390bdd This build was committed by a bot. 2026-10-14 18:10:52 +00:00
multipleof4andClaude Opus 5.5 270fbe3615 Send WebP attachments untouched unless over 2048px
Oversized WebPs are now scaled to a 2048px longest edge at 0.94 quality
instead of being sent at full size.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:10:33 +00:00
github-actions[bot] 9cf42f8565 This build was committed by a bot. 2026-10-13 16:32:19 +00:00
multipleof4andClaude Opus 5.5 ca56487f91 Compress attached videos to 3 fps to match the proxy's Gemini sampling rate
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 09:32:00 -07:00
github-actions[bot] de59761b35 This build was committed by a bot. 2026-10-12 18:58:06 +00:00
multipleof4andClaude Opus 5.5 e027cf96f0 Add video attachments with in-browser compression and playback
Videos are compressed with Mediabunny to 360p at 4 fps (HEVC when the
device can encode it, H.264 otherwise) with mono 32 kbps AAC, then
stored as video_url data URLs. Frames are resized after the frame-rate
drop, and rotation is baked in during that same step, so phone videos
stay on the fast path.

The attach badge shows compression progress, sending waits for pending
compressions, and "Clear all attachments" cancels them. Messages show
video thumbnails that open a fullscreen player.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:57:48 +00:00
multipleof4andClaude Opus 5.5 3c26bda123 Document sune settings now included in proxy ntfy pings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:45:19 +00:00
github-actions[bot] 6975877b20 This build was committed by a bot. 2026-10-12 16:16:03 +00:00
multipleof4andClaude Opus 5.5 906333eae9 Keep existing attachments when adding more; clear via hold or right-click
Clicking the attach button or pasting files now appends instead of
resetting. Long-press (touch) or right-click opens a popover with
"Clear all attachments".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:15:48 +00:00
multipleof4 c31d01520e Change Android package name to chat.sune.app v1.0.0 2026-10-01 21:37:07 +00:00
github-actions[bot] d3a206a70f This build was committed by a bot. 2026-10-01 19:44:25 +00:00
multipleof4andClaude Sonnet 5.5 3d308bdbaf Make web manifest URLs relative so sune.chat and sune.planetrenox.com both work
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 12:44:11 -07:00
multipleof4andClaude Sonnet 5.5 50219444f4 Use bare host for additionalTrustedOrigins
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 12:32:43 -07:00
multipleof4andClaude Sonnet 5.5 12cd60829f Point Gradle at the SDK Bubblewrap uses
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 12:27:57 -07:00
multipleof4andClaude Sonnet 5.5 ae05a6fd37 Add Android APK release workflow
Bubblewrap TWA config for chat.sune, plus a manually dispatched workflow
that builds, signs, verifies against assetlinks.json, attests provenance
and publishes the release for the tag given as input.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 12:25:57 -07:00
github-actions[bot] c321396ac4 This build was committed by a bot. 2026-10-01 18:11:39 +00:00
multipleof4andClaude Opus 5.5 be148beed9 Add chat.sune signing key to assetlinks
Keep the legacy com.planetrenox.sune entry so the old app stays
fullscreen, and add the new chat.sune package with its new key.
Ignore keystore files so signing keys can never be committed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:11:19 -07:00
multipleof4andClaude Opus 5.5 3bca5eb74e Add third-party notices for bundled dist code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:52:57 +00:00
github-actions[bot] 72d36a63fe This build was committed by a bot. 2026-09-28 17:43:32 +00:00
multipleof4andClaude Opus 5.5 2cb952a7e3 Remove Cloudflare inference provider branches, keep key for custom sunes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:43:15 +00:00
github-actions[bot] 609f84017f This build was committed by a bot. 2026-09-28 17:41:08 +00:00
multipleof4andClaude Opus 5.5 b697398096 Drop unsupported cf: model prefix, fit account settings on small screens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:40:14 +00:00
github-actions[bot] 15ee08a3f7 This build was committed by a bot. 2026-09-28 17:35:56 +00:00
multipleof4andClaude Opus 5.5 61d7fca337 Fit sune settings modal on small screens, trim Claude help note
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:35:38 +00:00
github-actions[bot] ed4999598b This build was committed by a bot. 2026-09-28 17:30:51 +00:00
multipleof4andClaude Opus 5.5 360e20bbad Add model name help popup to sune settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:30:30 +00:00
github-actions[bot] 8d8dd84240 This build was committed by a bot. 2026-09-20 17:07:21 +00:00
multipleof4 35c2537f42 Increase max_tokens from 6 to 7 2026-09-20 10:07:08 -07:00
github-actions[bot] d3e56d2b88 This build was committed by a bot. 2026-09-18 18:52:27 +00:00
multipleof4 081074a2df Invalidate stale GitHub thread caches on pull 2026-09-18 11:52:04 -07:00
github-actions[bot] 25b4b982ac This build was committed by a bot. 2026-09-17 03:56:13 +00:00
multipleof4 916f41606c Submit composer with Enter on desktop 2026-09-16 20:55:57 -07:00
multipleof4 a1fd2d5a05 Add license agreement for software usage and reuse
Added a comprehensive license agreement outlining usage, ownership, and reuse conditions for the software.
2026-09-14 21:15:24 -07:00
multipleof4 9ce77bd05e chore: update GitHub Sponsors funding 2026-09-14 18:20:24 -07:00
github-actions[bot] 4cf6926453 This build was committed by a bot. 2026-09-11 00:00:17 +00:00
multipleof4 a73ee38f01 Support clipboard file paste in composer and attaching during stream 2026-09-10 16:57:26 -07:00
github-actions[bot] 18aa73e9c8 This build was committed by a bot. 2026-09-10 05:04:58 +00:00
multipleof4 599989fbed Shorten model name placeholder hint 2026-09-09 22:03:58 -07:00
multipleof4 27cbdea778 Support model name placeholder in system prompts 2026-09-09 21:59:49 -07:00
github-actions[bot] 4dd5916862 This build was committed by a bot. 2026-09-08 04:03:35 +00:00
multipleof4andgemini-3.8-flash 5d27b9904a Style: Adjust topbar padding to py-2
Co-authored-by: gemini-3.8-flash <noreply@google.com>
2026-09-07 21:03:19 -07:00