Peter Steinberger
a2e5d93cfe
chore: bump versions for 2026.1.25
2026-01-25 22:13:04 +00:00
Peter Steinberger
452b574399
test: cover CLI chat delta event ( #1921 ) (thanks @rmorse)
2026-01-25 21:09:04 +00:00
Peter Steinberger
75a62401a8
chore: start 2026.1.25 changelog
2026-01-25 20:59:03 +00:00
Peter Steinberger
11a18841f1
fix: tighten security audit for loopback auth
2026-01-25 15:16:40 +00:00
Jamieson O'Reilly
e74d8eb8fe
fix(gateway): prevent auth bypass when behind unconfigured reverse proxy ( #1795 )
...
* fix(gateway): prevent auth bypass when behind unconfigured reverse proxy
When proxy headers (X-Forwarded-For, X-Real-IP) are present but
gateway.trustedProxies is not configured, the gateway now treats
connections as non-local. This prevents a scenario where all proxied
requests appear to come from localhost and receive automatic trust.
Previously, running behind nginx/Caddy without configuring trustedProxies
would cause isLocalClient=true for all external connections, potentially
bypassing authentication and auto-approving device pairing.
The gateway now logs a warning when this condition is detected, guiding
operators to configure trustedProxies for proper client IP detection.
Also adds documentation for reverse proxy security configuration.
* fix: harden reverse proxy auth (#1795 ) (thanks @orlyjamie)
---------
Co-authored-by: orlyjamie <orlyjamie@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 15:08:03 +00:00
Peter Steinberger
7bae477bd7
chore: start 2026.1.25 changelog
2026-01-25 14:34:16 +00:00
Peter Steinberger
fd2417ce33
chore: release 2026.1.24-2
2026-01-25 14:16:15 +00:00
Peter Steinberger
eafd7430ba
chore: release 2026.1.24-1
2026-01-25 14:08:20 +00:00
Peter Steinberger
ba9cfd23a0
fix(imessage): normalize messaging targets ( #1708 )
...
Co-authored-by: Aaron Ng <1653630+aaronn@users.noreply.github.com>
2026-01-25 13:43:32 +00:00
Peter Steinberger
cc430065a4
fix: paragraph-aware newline chunking ( #1726 )
...
Thanks @tyler6204
Co-authored-by: Tyler Yust <64381258+tyler6204@users.noreply.github.com>
2026-01-25 13:24:19 +00:00
Peter Steinberger
49d24d5b5a
fix: config/debug UI overflow ( #1715 )
...
Thanks @saipreetham589.
Co-authored-by: SaiPreetham <saipreetham.pesu@gmail.com>
2026-01-25 13:20:59 +00:00
Andre Foeken
9f89d1c59f
fix(telegram): fall back to text when voice messages forbidden ( #1725 )
...
* fix(telegram): fall back to text when voice messages forbidden
When TTS auto mode is enabled, slash commands like /status would fail
silently because sendVoice was rejected with VOICE_MESSAGES_FORBIDDEN.
The entire reply would fail without any text being sent.
This adds error handling to catch VOICE_MESSAGES_FORBIDDEN specifically
and fall back to sending the text content as a regular message instead
of failing completely.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: handle telegram voice fallback errors (#1725 ) (thanks @foeken)
---------
Co-authored-by: Echo <andre.foeken@Donut.local>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 13:18:41 +00:00
Peter Steinberger
4e4bce32ef
docs: expand 2026.1.24 highlights
2026-01-25 13:00:52 +00:00
Peter Steinberger
13c77cff41
docs: reorder 2026.1.24 changelog
2026-01-25 12:58:31 +00:00
Peter Steinberger
29a871a246
fix: treat Windows platform labels as Windows for node shell ( #1760 )
...
Thanks @ymat19.
Co-authored-by: ymat19 <45934497+ymat19@users.noreply.github.com>
2026-01-25 12:57:06 +00:00
Peter Steinberger
a111e52c7b
fix(matrix): decrypt E2EE media + size guard ( #1744 )
...
Thanks @araa47.
Co-authored-by: Akshay <araa47@users.noreply.github.com>
2026-01-25 12:53:57 +00:00
Peter Steinberger
74102fd90d
fix: allow control ui token auth without pairing
2026-01-25 12:47:17 +00:00
David Gelberg
b96b4fef67
UI: refresh dashboard design system ( #1786 )
...
* UI: refresh dashboard design system
- Typography: swap Inter for Space Grotesk (geometric, techy)
- Colors: punchier accent red, add teal secondary, warmer darks
- Cards: better shadows, hover lift effect, increased padding
- Stats: uppercase labels, larger bold values
- Buttons: hover lift micro-interaction, glow on primary
- Status dots: glow effects and subtle pulse animation
- Callouts: gradient backgrounds for depth
- Navigation: active state accent bar indicator
- Layout: more breathing room, bolder page titles
* UI: remove nav active bar indicator
* UI: hide nav scrollbar, remove nav border
* fix: add changelog entry for dashboard refresh (#1786 ) (thanks @mousberg)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 12:29:25 +00:00
plum-dawg
ac79478a65
feat: Add Line plugin ( #1630 )
...
* feat: add LINE plugin (#1630 ) (thanks @plum-dawg)
* feat: complete LINE plugin (#1630 ) (thanks @plum-dawg)
* chore: drop line plugin node_modules (#1630 ) (thanks @plum-dawg)
* test: mock /context report in commands test (#1630 ) (thanks @plum-dawg)
* test: limit macOS CI workers to avoid OOM (#1630 ) (thanks @plum-dawg)
* test: reduce macOS CI vitest workers (#1630 ) (thanks @plum-dawg)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 12:22:36 +00:00
Dan Guido
1efe1db887
fix(voice-call): prevent audio overlap with TTS queue ( #1713 )
...
* fix(voice-call): prevent audio overlap with TTS queue
Add a TTS queue to serialize audio playback and prevent overlapping
speech during voice calls. Previously, concurrent speak() calls could
send audio chunks simultaneously, causing garbled/choppy output.
Changes:
- Add queueTts() to MediaStreamHandler for sequential TTS playback
- Wrap playTtsViaStream() audio sending in the queue
- Clear queue on barge-in (when user starts speaking)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(voice-call): use iterative queue processing to prevent heap exhaustion
The recursive processQueue() pattern accumulated stack frames, causing
JavaScript heap out of memory errors on macOS CI. Convert to while loop
for constant stack usage regardless of queue depth.
* fix: prevent voice-call TTS overlap (#1713 ) (thanks @dguido)
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 12:02:17 +00:00
Peter Steinberger
6ec7ba8bcf
fix(telegram): honor outbound proxy config ( #1774 , thanks @radek-paclt)
...
Co-authored-by: Radek Paclt <developer@muj-partak.cz>
2026-01-25 11:41:54 +00:00
Peter Steinberger
d38e0521d0
chore: stabilize prek hooks runner selection ( #1720 ) (thanks @dguido)
2026-01-25 10:55:28 +00:00
Peter Steinberger
8c37b8aab4
feat: add diagnostics flags
2026-01-25 10:40:27 +00:00
Peter Steinberger
fc5c3a5b95
fix: propagate config env vars to gateway services ( #1735 ) (thanks @Seredeep)
2026-01-25 10:37:35 +00:00
Peter Steinberger
bcb0405a56
fix: harden message aborts + bluebubbles dm create ( #1751 ) (thanks @tyler6204)
2026-01-25 10:20:14 +00:00
Peter Steinberger
e4aee23e1f
fix: skip image understanding for vision models ( #1747 )
...
Thanks @tyler6204.
Co-authored-by: Tyler Yust <64381258+tyler6204@users.noreply.github.com>
2026-01-25 09:57:19 +00:00
Peter Steinberger
33d63881ac
fix: move gateway lock to temp dir
2026-01-25 09:21:46 +00:00
Peter Steinberger
8fa0b625a4
fix(telegram): honor linkPreview on fallback ( #1730 )
...
* feat: add notice directive parsing
* fix: honor telegram linkPreview config (#1700 ) (thanks @zerone0x)
2026-01-25 07:55:39 +00:00
Peter Steinberger
e4e5f7a84c
fix(ui): refine config save guardrails ( #1707 )
...
* fix: refine config save guardrails
* docs: add changelog for config save guardrails (#1707 ) (thanks @Glucksberg)
2026-01-25 05:52:32 +00:00
Peter Steinberger
58c2b3e1ed
fix: listen on ipv6 loopback for gateway
2026-01-25 05:49:48 +00:00
Peter Steinberger
e15e04ed31
docs: expand macOS VM guide ( #1693 ) (thanks @f-trycua)
2026-01-25 05:16:41 +00:00
Peter Steinberger
af69923919
fix: configurable signal startup timeout
2026-01-25 04:51:35 +00:00
Rohan Nagpal
56a06df73b
Telegram: threaded conversation support ( #1597 )
...
* Telegram: isolate dm topic sessions
* Tests: cap vitest workers
* Tests: cap Vitest workers on CI macOS
* Tests: avoid timer-based pi-ai stream mock
* Tests: increase embedded runner timeout
* fix: harden telegram dm thread handling (#1597 ) (thanks @rohannagpal)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 04:48:51 +00:00
Peter Steinberger
2c32ccd85a
fix: clarify control ui auth hints ( fixes #1690 )
2026-01-25 04:46:42 +00:00
Seb Slight
4072b8c77d
TTS: gate auto audio on inbound voice notes ( #1667 )
...
Co-authored-by: Sebastian <sebslight@gmail.com>
2026-01-25 04:35:20 +00:00
Peter Steinberger
e9d632adcb
fix: validate web_search freshness ( #1688 ) (thanks @JonUleis)
2026-01-25 04:23:25 +00:00
Peter Steinberger
777caa4762
fix: newline chunking across channels
2026-01-25 04:11:36 +00:00
Peter Steinberger
6f3292c33f
fix: add duplex for fetch uploads
2026-01-25 04:05:30 +00:00
Peter Steinberger
08b7c9e84b
fix: signal reactions
2026-01-25 03:24:44 +00:00
Peter Steinberger
2442da1118
fix: skip tailscale dns probe when off
2026-01-25 02:51:20 +00:00
Peter Steinberger
ece07bfb3a
fix: keep raw config edits scoped to config view ( #1673 ) (thanks @Glucksberg)
2026-01-25 02:48:07 +00:00
Peter Steinberger
1aff951422
fix: honor trusted proxy client IPs (PR #1654 )
...
Thanks @ndbroadbent.
Co-authored-by: Nathan Broadbent <git@ndbroadbent.com>
2026-01-25 01:52:19 +00:00
Peter Steinberger
5226b723d2
docs: refine venice highlight
2026-01-25 01:49:53 +00:00
Peter Steinberger
c32cd9bd58
feat: add edge tts fallback provider
2026-01-25 01:05:43 +00:00
Peter Steinberger
a00f92b5d0
fix: add chat stop button
...
Co-authored-by: Nathan Broadbent <ndbroadbent@users.noreply.github.com>
2026-01-25 01:00:23 +00:00
Peter Steinberger
115459646b
fix: reload TUI history after reconnect
2026-01-25 00:36:36 +00:00
Peter Steinberger
8e48c661e1
fix: normalize googlechat targets
2026-01-25 00:04:47 +00:00
Peter Steinberger
5dd02adc07
fix: default custom provider model fields
2026-01-25 00:02:53 +00:00
Peter Steinberger
4dd9966d6d
fix: follow up config.patch restarts/docs/tests ( #1653 )
...
* fix: land config.patch restarts/docs/tests (#1624 ) (thanks @Glucksberg)
* docs: update changelog entry for config.patch follow-up (#1653 ) (thanks @Glucksberg)
2026-01-24 23:33:13 +00:00
Peter Steinberger
cec4e2912a
fix: polish Google Chat plugin ( #1635 ) (thanks @iHildy)
...
Co-authored-by: Ian Hildebrand <ian@jedi.net>
2026-01-24 23:30:45 +00:00