chengyongru
f8bf6aea51
fix(webui): encode automation update values
2026-06-15 15:14:24 +08:00
chengyongru
5892c6913b
fix(webui): allow content-only automation edits
...
Avoid resubmitting unchanged schedules from the automation edit dialog so completed one-time automations can still have their content updated. Treat unchanged schedules as already-valid on the backend while preserving validation for actual schedule changes.
2026-06-15 00:59:23 +08:00
chengyongru
8b42d0760e
fix(webui): harden automation management API
...
Maintainer edit: redact external channel chat identifiers from the WebUI automation payload and reject malformed or unschedulable automation updates before they mutate cron jobs.
2026-06-14 22:19:28 +08:00
chengyongru
747f0a08c7
fix(webui): improve automation management
2026-06-14 18:24:59 +08:00
chengyongru
17e3183598
fix(webui): simplify automation source display
2026-06-14 00:32:53 +08:00
chengyongru
5b10102629
fix(webui): avoid fake automation origins
2026-06-14 00:04:15 +08:00
chengyongru
43830b7162
fix(webui): localize automation runtime labels
2026-06-13 23:06:28 +08:00
chengyongru
e08462ca30
feat(webui): add automation management view
2026-06-13 23:06:28 +08:00
chengyongru and Xubin Ren
af0e3441d7
Fix WebUI startup blocking on slow gateway routes
2026-06-13 21:59:36 +08:00
Xubin Ren and GitHub
dac4e39bcf
Merge PR #4299 : feat(cron): bind scheduled automations to sessions
...
feat(cron): bind scheduled automations to sessions
2026-06-13 00:07:55 +08:00
chengyongru
e1ff0f37d9
fix: preserve WhatsApp forwarded metadata
...
maintainer edit: carry the bridge isForwarded flag into channel metadata so forwarded voice messages remain distinguishable after transcription.
2026-06-12 18:21:47 +08:00
chengyongru
32d8a1dd7b
fix: hide internal cron prompts from webui
2026-06-12 18:17:28 +08:00
chengyongru
a50b3ac0f2
fix: harden cron session automation flows
2026-06-12 18:13:25 +08:00
chengyongru
8335554894
refactor: migrate legacy cron payloads to bound sessions
2026-06-12 16:51:20 +08:00
chengyongru
c4b64a4caf
refactor: preserve origin session routing for cron
2026-06-12 14:21:09 +08:00
chengyongru
80524e9e88
refactor: bind cron jobs to origin sessions
2026-06-12 14:00:53 +08:00
chengyongru
271b3651d7
refactor: use cron turn naming internally
2026-06-12 11:57:35 +08:00
chengyongru
d9d481bc15
refactor: centralize cron session metadata keys
2026-06-12 11:43:23 +08:00
chengyongru
0ff8cd0cb3
fix: honor unified session for webui automations
2026-06-12 10:19:12 +08:00
2d9260cb9f
feat(slack): add groupRequireMention for allowlist channels
...
Slack's groupPolicy could either restrict to specific channels
("allowlist") or require an @mention ("mention"), but not both: in
allowlist mode the bot replied to every message in approved channels.
Add a groupRequireMention flag so that, when groupPolicy is "allowlist",
the bot only responds in channels listed in groupAllowFrom AND only when
@mentioned. Mirrors Signal's group.requireMention. No effect for the
"mention"/"open" policies, so existing configs are unchanged.
Extract the mention check into _is_mention and reuse it from both the
mention and allowlist branches.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 00:23:27 +08:00
chengyongru
29f1473940
fix: keep session automations bound-only
2026-06-12 00:15:57 +08:00
chengyongru
8dac6b2889
fix: show websocket cron jobs in automations
2026-06-11 23:53:45 +08:00
chengyongru
3725b42e0e
fix: use shared bound cron predicate
...
maintainer edit: make gateway execution, WebUI automation listing, and delete protection agree on the new bound cron shape. Legacy delivery payloads that carry sessionKey are excluded from the WebUI-bound automation surface.
2026-06-11 23:09:21 +08:00
chengyongru
a326ba40f4
feat(cron): bind scheduled automations to sessions
2026-06-11 19:48:07 +08:00
chengyongru and Xubin Ren
ffae1dca6d
fix: keep Telegram streamed code blocks balanced
...
Maintainer edit: split final streamed Telegram markdown before rendering to HTML so long fenced code blocks do not produce unbalanced <pre><code> chunks while still respecting Telegram's rendered HTML limit.
2026-06-11 13:52:19 +08:00
axelray-dev and Xubin Ren
a5a816abaf
fix(telegram): move fenced-code-block splitting into Telegram-specific helper
...
Move the fenced-code-block-aware splitting logic out of the shared
split_message helper (used by Signal, Slack, Discord, Weixin, etc.)
and into a Telegram-specific _split_telegram_markdown function.
The shared split_message remains a plain-text chunker. The Telegram
channel now uses _split_telegram_markdown for its raw Markdown paths
that feed _markdown_to_telegram_html, preventing broken HTML rendering
when splits fall inside fenced code blocks.
Also fixes a regression where content beginning with whitespace before
a fence could emit a whitespace-only chunk.
Addresses review feedback on #4257 .
2026-06-11 13:52:19 +08:00
Xubin Ren
e1e643de2a
refactor(webui): keep sidebar index out of session manager
2026-06-10 20:45:29 +08:00
Xubin Ren
603feef3aa
Merge remote-tracking branch 'origin/main' into codex/webui-segmented-transcript-store
2026-06-10 19:11:37 +08:00
Xubin Ren
e168bb2754
feat(webui): segment transcript storage
2026-06-10 18:28:55 +08:00
chengyongru and Xubin Ren
5d7f2e60c2
fix(feishu): lazy-load lark sdk during gateway startup
2026-06-10 18:09:27 +08:00
Xubin Ren
7186039be1
fix(websocket): limit final stream text to inline endings
2026-06-10 15:52:39 +08:00
Moran and Xubin Ren
9c492143b4
search: add Bocha web search provider
2026-06-10 15:51:15 +08:00
erikmackinnon and Xubin Ren
31bfec58d0
Add Exa web search provider
2026-06-10 15:02:07 +08:00
Xubin Ren
916525f94a
refactor(webui): shrink fork implementation
2026-06-10 04:26:06 +08:00
Xubin Ren
73d4b1cb2f
feat(webui): persist fork boundary metadata
2026-06-10 04:26:06 +08:00
Bayern4ever-dot and Xubin Ren
03bca4c0a9
feat(webui): add assistant reply fork-from-here
2026-06-10 04:26:06 +08:00
Flávio Veloso Soares and Xubin Ren
0580c186c1
test(email): update tests for postActionExpunge option
2026-06-09 14:50:59 +08:00
Flávio Veloso Soares and Xubin Ren
4369eb20fc
feat(email): support IMAP MOVE and UID expunge fallbacks
2026-06-09 14:50:59 +08:00
Flávio Veloso Soares and Xubin Ren
ec5460d23e
feat(email): add configurable post-action handling
2026-06-09 14:50:59 +08:00
Xubin Ren and GitHub
9c81280300
feat(transcription): add shared voice input support ( #4232 )
...
* feat(webui): add voice transcription input
* feat(webui): render ANSI output in code blocks
* refactor(webui): isolate voice recorder logic
* refactor(transcription): keep websocket ingress thin
* refactor(transcription): resolve channel audio settings on demand
* style(webui): neutralize voice waveform color
* feat(webui): add voice input tooltip
* feat(webui): add voice input keyboard shortcut
* fix(webui): distinguish voice shortcut platforms
* fix(webui): place voice button after model selector
* refactor(webui): share voice hold recording helpers
* fix(desktop): allow microphone voice input
* fix(webui): stabilize token usage month labels
* feat(webui): show voice input on settings overview
* fix(webui): label voice capability as recognition
* fix(webui): align capability overview status
* refactor(webui): isolate transcription socket handling
* fix(webui): soften silent voice waveform
* refactor(audio): clarify transcription service location
* docs(transcription): clarify audio and provider boundaries
* fix(exec): reduce session output polling flake
2026-06-09 01:08:49 +08:00
4f5f965f09
fix(whatsapp): handle LID group mentions ( #2663 )
...
Co-authored-by: Xubin Ren <52506698+Re-bin@users.noreply.github.com >
2026-06-07 18:02:39 +08:00
ab9f49970d
feat(desktop): polish desktop shell and shared WebUI surfaces ( #4195 )
...
* feat(desktop): add native host scaffold
* feat(webui): track turns and usage in gateway
* feat(webui): polish desktop chat experience
* feat(apps): add ArcGIS and Joplin logos
* feat(desktop): polish shell and shared surfaces
* fix(webui): avoid preview chips for glob references
* test: align CI expectations for token fallback
* feat(webui): preview prompt rail entries
* feat(webui): add prompt navigator drawer
* style(webui): refine prompt navigator placement
* style(webui): align prompt navigator with header actions
* style(webui): simplify prompt navigator header
* refactor(webui): clean thread resource refresh
* feat(desktop): add native reply notifications
* fix(webui): preserve desktop restart and replay state
* fix(desktop): harden gateway proxy startup
* fix(web): fall back when readability is unavailable
* fix(desktop): hide window instead of closing on macos
* fix(webui): unify desktop header actions
* fix(webui): simplify prompt history rows
* fix(desktop): log notification delivery failures
* chore(desktop): clean source package artifacts
* fix(cron): support one-time relative reminders
* fix(webui): reveal scroll button in place
* Revert "fix(cron): support one-time relative reminders"
This reverts commit 4c4661da120a3c7283e0768412bae48604e7390b.
* refactor(webui): extract token usage heatmap
* docs(desktop): clarify contributor guides
---------
Co-authored-by: chengyongru <2755839590@qq.com >
2026-06-06 19:49:33 +08:00
Xubin Ren
6a0368b32f
fix(telegram): route /skill command
2026-06-05 18:48:51 +08:00
chengyongru and Xubin Ren
710d00a179
fix(webui): persist user messages for refresh
2026-06-05 16:13:51 +08:00
chengyongru and Xubin Ren
3da68ac7fe
Fix pairing for Weixin and Telegram DMs
2026-06-05 16:13:31 +08:00
chengyongru and Xubin Ren
c574b028c1
fix(feishu): allow punctuation after mention placeholders
...
maintainer edit: Keep the shared-prefix guard for Feishu numbered mention keys while still resolving placeholders followed by punctuation, matching the previous user-visible mention behavior.
2026-06-05 15:55:53 +08:00
Xubin Ren
894811db8b
fix(feishu): strip leading bot mention before commands
2026-06-05 15:55:53 +08:00
Kunal Karmakar and Xubin Ren
9fdc6f892a
Fix test
2026-06-05 01:17:34 +08:00
chengyongru and Xubin Ren
24e56fcf07
test: improve deterministic unit test coverage
2026-06-04 19:41:32 +08:00
yorkhellen and Xubin Ren
7c3808327f
fix(qq): send pairing codes for unauthorized C2C users
2026-06-04 10:42:51 +08:00