Jinpy
884ef6ba17
fix(plugin): preserve reconnected sidecar sessions
...
Preserve plugin sidecar registrations across reconnects by serializing connection lifecycle calls and isolating unconfirmed disconnects.
2026-10-19 21:56:22 +08:00
Jinpy
8c45af6bdd
fix(plugins): release dock terminal plugin connections on close
2026-10-17 17:44:25 +08:00
Jinpy
53cd0c516e
fix(plugins): self-heal restored plugin pages silently
2026-10-04 09:49:34 +08:00
Jinpy
397bff26c8
fix(app): retry connection list loading at startup
2026-10-04 09:47:39 +08:00
Jinpy
a685056855
feat(plugins): extend AI text generation for plugins
2026-10-02 18:01:29 +08:00
Jinpy
2fa5b9298a
fix(web): confine docs notes paths to allowlisted roots
2026-10-01 01:01:37 +08:00
Jinpy
0212231421
feat(plugins): open workbench in tabs from dock surfaces
2026-09-30 21:22:25 +08:00
Jinpy
be82fdc989
fix(plugins): stream dropped files and folders into plugin workbenches
2026-09-30 15:08:17 +08:00
Jinpy
6f05afc0e6
fix(export): neutralize formula injection in CSV/TSV exports
2026-09-30 15:05:27 +08:00
Jinpy
21102f4810
feat(plugins): run declared commands from plugin workbench UI
2026-09-30 01:21:11 +08:00
Jinpy
de70545c70
docs(plugins): document the options_action launch-options contract
2026-09-30 00:57:40 +08:00
Jinpy
3db93307d0
fix(security): anchor plugin file access on rust-side consent
2026-09-29 17:39:31 +08:00
Jinpy
d55b4c966a
fix(web): bind change-password to live sessions and cap auth bodies
2026-09-29 16:24:43 +08:00
Jinpy
1b760f9bdf
fix(web): require explicit opt-in for unsigned plugin installs
2026-09-29 16:21:20 +08:00
Jinpy
1b6b00398b
fix(mcp): enforce read-only policy and session scope on plugin tools
2026-09-29 16:09:48 +08:00
Jinpy
9540f51dce
fix(web): make the listener bind address configurable via DBX_BIND_ADDR
2026-09-29 14:08:54 +08:00
Jinpy
6f5511a732
fix(mcp): let the tool allowlist express plugin tools with wildcards
2026-09-29 14:00:58 +08:00
Jinpy
9b364bbbc7
fix(docs): move blocking html export and annotation save off async runtime
2026-09-29 13:21:50 +08:00
Jinpy
ba5c04c750
chore(deps): move shadcn-vue to devDependencies and pin patched floors
2026-09-29 12:33:02 +08:00
Jinpy
64c76bd45d
fix(web): require same-origin on redis pubsub websocket upgrade
2026-09-29 10:58:59 +08:00
Jinpy
f61f64f727
feat(mcp): opt-in plugin tools on external server and built-in AI
2026-09-28 21:34:17 +08:00
Jinpy
d2c471306c
feat(plugins): localize options_action and rework dock plus picker
2026-09-28 00:37:36 +08:00
Jinpy
c5e1cc35d2
fix(plugins): transfer standalone ArrayBuffer in fileTransfer.write
2026-09-26 21:46:36 +08:00
Jinpy
dcd16e0d0a
fix(mcp-bridge): bind call-plugin-tool to the connection's own plugin
2026-09-26 14:22:29 +08:00
Jinpy
7a7edfb2b8
fix(mcp-bridge): read full request bodies and refuse browser calls
2026-09-26 13:51:15 +08:00
Jinpy
d1d02547fd
fix(plugins): list command and menu contributions in manifest schema
2026-09-26 13:49:16 +08:00
Jinpy
2851da891e
fix(plugin-installer): keep atomic writes and rollbacks lossless
2026-09-26 13:47:17 +08:00
Jinpy
ec697a438c
fix(plugins): keep dock plus picker inside window and open downward
2026-09-25 09:42:22 +08:00
Jinpy
ccfb108aa1
perf(plugins): dock open latency and tab strip UX fixes
2026-09-24 22:43:24 +08:00
Jinpy
92f92f6cdb
feat(plugins): bridge clipboard reads with consent gate
2026-09-24 16:16:49 +08:00
Jinpy
aefecd3841
feat(plugins): add command and menu contributions with bottom dock
2026-09-23 19:52:11 +08:00
Jinpy
4f0f69131b
fix(plugins): carry plugin file handle ids as uuid strings
2026-09-22 14:15:13 +08:00
Jinpy
bc490772eb
feat(desktop): fileTransfer bridge for plugin workbench webviews
2026-09-21 02:03:12 +08:00
Jinpy
b1b99eccfb
feat(desktop): deliver font settings to plugin sandboxes
2026-09-19 19:13:30 +08:00
Jinpy and jinpy.he
1f3beb11dc
fix(macos): let held keys repeat instead of opening the accent picker ( #9572 )
...
WKWebView shows the macOS accented-character popover when a key is held
down, which suppresses key repeat entirely: holding a key in plugin
terminal workbenches (e.g. the SSH plugin) registers nothing, and keys
typed while the popover is up are swallowed, so fast typists lose
characters. Terminals want key repeat, not diacritics entry.
Setting ApplePressAndHoldEnabled to false in the bundle Info.plist
restores normal key repeat inside the webview (same approach as iTerm2
and other terminal apps). macOS-only key; other platforms unaffected.
Co-authored-by: jinpy.he <jinpy.he@kuehne-nagel.com >
2026-09-19 13:31:50 +08:00
Jinpy and jinpy.he
58fd050a28
fix(desktop): keep timeout inherit flags when saving plugin connections ( #9579 )
...
* fix(desktop): keep timeout inherit flags when saving plugin connections
* fix(desktop): hide dead query timeout scope from plugin connections
query_timeout_secs only feeds the database query pipeline (dataGrid,
queryStore); plugin connections such as SSH never consume it, so the
generic Advanced-tab radio only suggested a budget the provider cannot
honor. Hide the row for plugin connections while keeping hydration and
submit untouched, and pin the round-trip contract (explicit inherit
flag, preserved scalar) plus the deliberate keep of the connect timeout
radio in the regression spec.
---------
Co-authored-by: jinpy.he <jinpy.he@kuehne-nagel.com >
2026-09-19 13:31:36 +08:00
Jinpy
2b15327de3
feat(plugins): hand SOCKS5 transport proxy routes to connections
2026-09-19 09:47:15 +08:00
Jinpy
e4bda693fb
feat(plugins): add interactive prompts and richer connection forms
2026-09-17 19:29:28 +08:00
Jinpy
3d1b84831f
fix(plugins): stabilize plugin integration
2026-09-14 21:03:47 +08:00