Files
胡飞 15b1e2505f chore(deps): 合入 gpui-kit 上游改动,gpui-shell 跟进到 0.6.4
- gpui-kit(feigeCode/gpui-kit port-ce-generic-to-main)升到 23c8e5b78:合入上游
  45 个提交(0.6.1 → 0.6.4)。其中 QuickJS JIT 升到 0.12.9,与本分支的 32 位改动
  重叠,冲突已在 gpui-kit 侧解决(保留按位宽拆分 + i686 补丁;上游把软换行的行换成
  `InputLine`、对话框 button props 改为合并语义,内联 widget 布局与 alert/confirm
  已相应适配)。Cargo.toml 的 8 处 pin 一起回填到新 rev,Cargo.lock 重新解析
  (gpui-wry 0.6.4、rquickjs 0.12.9,旧 rev 无残留)。
- 宿主 gpui-shell 版本 0.6.1 → 0.6.4:extension-runtime 的 GPUI_SHELL_VERSION 与
  各处测试清单、文档示例同步提升。该校验对 0.x 按 minor 精确匹配,旧值会被直接拒绝。

验证:cargo check -p remote_desktop_view(新 gpui-kit + quickjs-jit i686 分支)
→ Finished dev profile,0 error。
2026-09-20 19:20:21 +08:00

371 lines
16 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[workspace]
default-members = ["main"]
members = [
"crates/ai_chat_view",
"crates/llm-connector",
"crates/html-preview",
"crates/db",
"crates/db-value",
"crates/connection-import-protocol",
"crates/db_view",
"crates/extension-runtime",
"crates/extension_view",
"crates/agent_runtime",
"crates/extension-protocol",
"crates/extension-host",
"crates/extension-plugin-adapter",
"crates/extension-driver",
"crates/extension-api",
"crates/extension-component",
"crates/extension-wasm",
"crates/tool_runtime",
"crates/universal-plugins",
"crates/navop_runtime",
"crates/er_flow",
"crates/public_mcp",
"crates/modem-transfer",
"crates/terminal",
"crates/terminal_view",
"crates/markdown-source",
"crates/markdown-editor",
"crates/workspace_explorer",
"crates/port_forwarding",
"crates/connection_tunnel",
"crates/connection_form",
"crates/port_forwarding_view",
"crates/process-util",
"crates/remote_desktop",
"crates/remote_desktop_view",
"crates/windows_rdp_host",
"crates/notes",
"crates/known_hosts_view",
"crates/json_view",
"crates/one-assets",
"tools/gpui-rdp-smoke",
"tools/windows-rdp-probe",
"main", "crates/ssh", "crates/x11_forwarding", "crates/sftp", "crates/ftp", "crates/sftp_transfer", "crates/sftp_view", "crates/one_ui", "crates/redis-runtime", "crates/mongodb-runtime", "crates/redis_view", "crates/license_tool", "crates/mongodb_view", "crates/remote_file_editor", "crates/remote_image_preview", "crates/resource_view", "crates/embedded_terminal"]
resolver = "2"
[workspace.package]
publish = false
edition = "2024"
[workspace.dependencies]
# gpui-component (repo renamed to `gpui-kit` on GitHub), pinned to a git revision
# so the workspace resolves it from GitHub instead of a sibling ../gpui-component
# checkout. The dependency keys keep the crate names navop already imports
# (`gpui_component`, `gpui_base`, `gpui_shell`, ...).
gpui-component = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-component-assets = { package = "gpui-kit-assets", git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-base = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-shell = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-component-shell = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-wry = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui-kit = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }
gpui = { package = "gpui-pre", version = "0.3.99" }
gpui_platform = { package = "gpui-pre-platform", version = "0.3.99", features = ["font-kit", "x11", "wayland", "runtime_shaders"] }
gpui_macros = { package = "gpui-pre-macros", version = "0.3.99" }
util = { package = "gpui-pre-util", version = "0.3.99" }
palette = { version = "0.7.7", features = ["serializing"] }
sum-tree = { version = "0.3.99", package = "gpui-pre-sum-tree" }
# reqwest = { version = "0.12.15-zed", package = "zed-reqwest" }
reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662463bda39148ba154100dd44d3fba5873a4", default-features = false, features = [
"charset",
"http2",
"macos-system-configuration",
"multipart",
"rustls-tls-native-roots",
"socks",
"stream",
], package = "zed-reqwest", version = "0.12.15-zed" }
anyhow = "1.0.102"
argon2 = "0.5.3"
log = "0.4"
markdown = { version = "1.0.0", features = ["serde"] }
lsp-types = { version = "0.97.0", features = ["proposed"] }
notify = "7.0.0"
plist = "1"
raw-window-handle = "0.6.2"
ropey = { version = "=2.0.0-beta.1", features = [
"metric_lines_lf",
"metric_utf16",
] }
rust-i18n = "4"
schemars = "1"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = { version = "1", features = ["arbitrary_precision"] }
serde_yaml = "0.9"
toml = "0.8.23"
serde_repr = "0.1"
shell-words = "1.1.1"
smallvec = "1"
smol = "2"
sys-locale = "0.3.2"
sysinfo = { version = "0.31.4", default-features = false, features = ["user"] }
tracing = "0.1.41"
# Uses the gpui-pre fork's own `reqwest_client` crate (previously a local copy in
# `crates/reqwest_client`, which had drifted 315 lines behind upstream and duplicated
# the inlined `http_client_tls` module). The local crate's only fork-specific change —
# `user_agent()` building a proxy-free client — now lives in the fork itself.
reqwest_client = { package = "gpui-pre-reqwest-client", version = "0.3.99" }
agent_runtime = { path = "crates/agent_runtime" }
ai_chat_view = { path = "crates/ai_chat_view", default-features = false }
html-preview = { path = "crates/html-preview" }
agent-client-protocol = "0.14.0"
public_mcp = { path = "crates/public_mcp" }
tool_runtime = { path = "crates/tool_runtime" }
universal-plugins = { path = "crates/universal-plugins" }
db = { path = "crates/db" }
db-value = { path = "crates/db-value" }
connection-import-protocol = { path = "crates/connection-import-protocol" }
db_view = { path = "crates/db_view" }
redis_view = { path = "crates/redis_view" }
redis-runtime = { path = "crates/redis-runtime" }
mongodb-runtime = { path = "crates/mongodb-runtime" }
one-ui = { path = "crates/one_ui" }
one-assets = { path = "crates/one-assets" }
ssh = { path = "crates/ssh" }
x11_forwarding = { path = "crates/x11_forwarding" }
sftp = { path = "crates/sftp" }
ftp = { path = "crates/ftp" }
sftp_transfer = { path = "crates/sftp_transfer" }
terminal = { path = "crates/terminal" }
terminal_view = { path = "crates/terminal_view" }
workspace_explorer = { path = "crates/workspace_explorer" }
port_forwarding = { path = "crates/port_forwarding" }
connection_tunnel = { path = "crates/connection_tunnel" }
connection-form = { path = "crates/connection_form" }
port_forwarding_view = { path = "crates/port_forwarding_view" }
process-util = { path = "crates/process-util" }
remote_desktop = { path = "crates/remote_desktop" }
remote_desktop_view = { path = "crates/remote_desktop_view" }
windows_rdp_host = { path = "crates/windows_rdp_host" }
sftp_view = { path = "crates/sftp_view" }
one-core = { path = "crates/core" }
mongodb_view = {path = "crates/mongodb_view"}
navop_runtime = { path = "crates/navop_runtime" }
remote_file_editor = { path = "crates/remote_file_editor" }
remote_image_preview = { path = "crates/remote_image_preview" }
notes = { path = "crates/notes" }
json_view = { path = "crates/json_view" }
known_hosts_view = { path = "crates/known_hosts_view" }
markdown-source = { path = "crates/markdown-source" }
markdown-editor = { path = "crates/markdown-editor" }
er_flow = { path = "crates/er_flow" }
extension-protocol = { path = "crates/extension-protocol" }
extension-host = { path = "crates/extension-host" }
extension-plugin-adapter = { path = "crates/extension-plugin-adapter" }
resource_view = { path = "crates/resource_view" }
embedded_terminal = { path = "crates/embedded_terminal" }
extension-driver = { path = "crates/extension-driver" }
extension-runtime = { path = "crates/extension-runtime", default-features = false }
extension_view = { path = "crates/extension_view" }
extension-api = { path = "crates/extension-api" }
extension-component = { path = "crates/extension-component" }
extension-wasm = { path = "crates/extension-wasm" }
json5 = "1.3.0"
semver = "1.0.22"
regex = "1.10.0"
resvg = "0.46.0"
roxmltree = "0.20"
futures = "0.3.32"
image = "0.25.10"
rustls = "0.23.35"
tracing-subscriber = "0.3"
async-trait = "0.1"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] }
tokio-tungstenite = { version = "0.30", features = ["rustls-tls-native-roots"] }
tokio-util = "0.7.17"
dirs = "6.0"
encoding_rs = "0.8.35"
aes = "0.8"
cbc = "0.1"
chrono = {version = "0.4.23", features = ["serde"]}
rust_decimal = { version = "1.19.0" }
hex = "0.4"
hmac = "0.12"
tiberius = { version = "0.12.3", default-features = false, features = ["chrono", "rustls", "tds73", "winauth"] }
oracle = {version = "0.6.3", features = ["chrono"]}
once_cell = "1.21"
proptest = "1.4"
mysql_async = { version = "0.36.1", features = ["rustls-tls"] }
mysql_common = "0.35.5"
tokio-postgres = { version = "0.7.15",features = ["with-serde_json-1", "with-chrono-0_4", "with-uuid-1"] }
tokio-postgres-rustls = "0.13.0"
rustls-native-certs = "0.8.1"
rustls-pemfile = "2.2.0"
rusqlite = { version = "0.38", features = ["bundled", "column_decltype"] }
duckdb = { version = "1.10501.0", features = ["bundled"] }
clickhouse = { version = "=0.15.1", features = ["rustls-tls-native-roots"] }
sqlformat = "0.5.0"
sqlparser = "0.62.0"
uuid = { version = "1.23.0", features = ["v4", "serde"] }
rust_xlsxwriter = "0.94.0"
dashmap = "5.5.3"
moka = { version = "0.12", features = ["sync"] }
thiserror="2.0.14"
llm-connector = { path = "crates/llm-connector", features = ["streaming"] }
redis_client = { package = "redis", version = "0.27", features = ["tokio-comp", "cluster-async", "connection-manager"] }
# SSH and SFTP
# dsa feature enables verifying/offering the legacy ssh-dss host-key algorithm.
russh = { version = "0.63.3", features = ["dsa"] }
russh-sftp = "3.0.0"
tokio-socks = "0.5"
async_ftp = "6.0.0"
# Encryption
aes-gcm = "0.10"
rand = "0.8"
base64 = "0.22"
sha2 = "0.10"
security-framework = "3.7.0"
subtle = "2.6"
zeroize = "1"
# Terminal emulation
alacritty_terminal = "0.26"
zmodem2 = { package = "modem-transfer", path = "crates/modem-transfer" }
# Serial port
serialport = "4"
parking_lot = "0.12"
bytes = "1.5"
mongodb = "3.5.1"
futures-util="0.3.31"
interprocess = { version = "2.4.0", features = ["tokio"] }
url = "2.5.4"
percent-encoding = "2.3.1"
global-hotkey = "0.7.0"
ferrum-flow = { path = "vendor/ferrum-flow" }
errno = { version = "0.3.14", default-features = false }
async-process = { git = "https://github.com/zed-industries/async-process.git", rev = "0b6d6713570af61806e1e5cb40e0f757cb93fd9d" }
async-task = { git = "https://github.com/smol-rs/async-task.git", rev = "b4486cd71e4e94fbda54ce6302444de14f4d190e" }
# Use stacker's psm version which may have better WASM support
psm = { git = "https://github.com/rust-lang/stacker", branch = "master" }
[workspace.dependencies.windows]
features = ["Wdk", "Wdk_System", "Wdk_System_SystemServices"]
version = "0.61.0"
[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(feature, values("cargo-clippy"))'] }
[workspace.lints.clippy]
almost_complete_range = "allow"
arc_with_non_send_sync = "allow"
borrowed_box = "allow"
dbg_macro = "deny"
let_underscore_future = "allow"
manual_is_multiple_of = "allow"
map_entry = "allow"
module_inception = "allow"
non_canonical_partial_ord_impl = "allow"
reversed_empty_ranges = "allow"
single_range_in_vec_init = "allow"
style = { level = "allow", priority = -1 }
todo = "deny"
type_complexity = "allow"
[profile.dev]
#codegen-units = 16
#debug = "limited"
#split-debuginfo = "unpacked"
# 优化级别:0=无优化(默认,调试最佳),1=轻度优化,2=中度,3=高度
opt-level = 0
# 是否启用调试符号:true=启用(默认),false=禁用,"full"=完整符号(推荐)
debug = true
# 是否启用 debuginfo 行表(保证调试器能对应源码行)
debug-assertions = true
# 是否启用溢出检查(Debug 模式默认开启,Release 关闭)
overflow-checks = true
# 是否增量编译(加速二次构建,默认开启)
incremental = true
# panic 处理方式:"unwind"=展开栈(默认),"abort"=直接终止程序
panic = "unwind"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = true
# 关闭展开:省掉 __eh_frame / __gcc_except_tab(约 27MB 元数据)。
# 代价:release 下 panic 直接 abortcatch_unwind 不再拦截(terminal 录制
# 观察者、windows_rdp_host 事件回调不再隔离 panic)。
panic = "abort"
[profile.dev.package]
resvg = { opt-level = 3 }
rustybuzz = { opt-level = 3 }
taffy = { opt-level = 3 }
ttf-parser = { opt-level = 3 }
smol = { opt-level = 3 }
gpui-pre = { opt-level = 3 }
gpui-pre-macros = { opt-level = 3 }
tree-sitter = { opt-level = 3 }
gpui-pre-sum-tree = { opt-level = 3 }
ropey = { opt-level = 3 }
lsp-types = { opt-level = 3 }
gpui-pre-reqwest-client = { opt-level = 3 }
markdown = { opt-level = 3 }
xml5ever = { opt-level = 3 }
# >>> local gpui-pre patch (generated by script/patch-local-gpui-pre.py) >>>
#
# SELF-MAINTAINED: gpui-pre-* is a git fork of the snapshot produced
# by script/patch-local-gpui-pre.py. The fork is owned by us, the tag
# below is bumped by script/publish-gpui-pre-fork.py. To return to a
# path patch (dev workstation only), re-run
# `script/migrate-to-git-fork.py --path`.
[patch.crates-io]
gpui-pre = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-apple = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-collections = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-derive-refineable = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-http-client = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-http-client-tls = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-linux = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-macos = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-macros = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-perf = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-platform = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-refineable = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-reqwest-client = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-scheduler = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-shared-string = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-sum-tree = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-util = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-util-macros = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-web = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-wgpu = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-windows = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-zlog = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-ztracing = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
gpui-pre-ztracing-macro = { git = "https://github.com/feigeCode/gpui-pre.git", tag = "fork-0.3.110" }
# <<< local gpui-pre patch <<<
# gpui-shell binds quickjs via the `quickjs-jit` fork directly, while
# `quickjs-jit-stdlib` and the LLRT crates depend on the crates.io `rquickjs`
# bindings. Without this patch both versions coexist in the graph and their
# types (ModuleDef / Ctx / Error) never unify (E0277/E0308). The patch MUST
# live in this root manifest: [patch] sections inside the gpui-component
# workspace are ignored by cargo. Mirrors the same entry in gpui-component's
# workspace root, pinned to the same revision as the gpui dependencies above.
rquickjs = { git = "https://github.com/feigeCode/gpui-kit", rev = "23c8e5b787baa06b08a84e1d3f80c241eb07fc0b" }