Commit Graph
85 Commits
Author SHA1 Message Date
胡飞 b1f41f81c7 perf(release): 关掉展开/开 fat LTO,裁剪 wasmtime 未用 feature
macOS arm64 二进制 177,369,216B → 112,557,680B(-36.5%)。

1. [profile.release] lto=thin→fat、codegen-units=16→1、panic=abort。
   __eh_frame 16.0→0.07MiB、__gcc_except_tab 8.6→0.02MiB、
   __unwind_info 2.8→0.29MiB,展开元数据共省约 27MB。
   代价:release 下 catch_unwind 不再拦 panic(terminal 录制 observer、
   windows_rdp_host event 回调);dev/test profile 不变,测试照样跑。
2. extension-wasm 只用 async/cache/component-model/cranelift/gc/runtime/std/
   threads,wasmtime 与 wasmtime-wasi 都关 default-features;
   wat 解析器移入 dev-dependencies(只有 fixtures/*.wat 测试用)。
   掉包:wiggle、wiggle-generate、wiggle-macro、witx、wast、leb128。
3. bundle-macos-dmg.sh:按 staging 目录实际大小显式 -size(首次 +512MB,
   重试逐次放大),制完删 staging 拷贝。hdiutil 自动估算偏小时会报
   "No space left on device",与磁盘剩余空间无关(已本地复现)。
2026-09-17 11:24:04 +08:00
胡飞 e65fa85272 fix(release): macOS DMG 前清理 target 并去掉写死的 200m 镜像大小
runner 磁盘被 release target 目录占满导致
hdiutil create: No space left on device;DMG 又写在 target/ 下。
打包 app 后清理 deps/build/incremental/.fingerprint 再制 DMG;
同时去掉 -size 200m(app 二进制已约 208MB,写死尺寸不够)。
2026-09-17 09:04:00 +08:00
胡飞 832c259471 fix(release): 版本 bump 走发布 PR,发布脚本只校验并打 tag
main 受保护(PR + CI gate 且 enforce_admins),release-tag.sh 原先
直接提交并推送版本变更会被 GH006 拒绝。改为:版本 bump 随 dev -> main
发布 PR 合入,脚本只校验版本/changelog 后创建并推送 tag。

- release-tag.sh: 去掉直推分支与自动 bump,新增 main 分支与版本一致性校验
- 删除 bump-version.sh(会基于未推送的提交直接打 tag,与保护规则冲突)
- RELEASE.md / CONTRIBUTING.md / CLAUDE.md 同步为 PR + tag 流程
2026-09-16 20:18:59 +08:00
user.email d548f07ab1 build: shell-plugins 进 main 的 default,四个发布产物统一带 Shell 页
`shell-plugins` 此前只在自建构建里开,于是 `crates/universal-plugins/src/
shell_plugin_host/**` 在默认构建、CI(`cargo test --all`)与发版里整段不参与
编译——改共享契约漏改构造点会静默通过(2026-09-15 给 `BindingContext` 加
`connection` 字段时就是这样漏的)。改为:

- `main` 的 `default` 追加 `shell-plugins`,于是 macOS/Linux(走 default)与
  Windows(`--features windows-native-rdp`,default 仍在)的发布产物都带上;
- portable Linux 用 `--no-default-features`,不继承 default,故显式写成
  `--features wasm-components,shell-plugins`;
- `crates/universal-plugins` 的 `default` 保持为空:该开关只关掉当前被选中包
  的 default,若给 crate 也设 default,`main --no-default-features` 会把 Shell
  页漏回来,feature 门失效。

`script/test-release-packaging.mjs` 里两处按字面量断言 default 行与 portable
命令,一并同步;`AGENTS.md` 那条 lesson 的验证方式改为「默认态与关闭态都必须
各跑一次」——漏编永远发生在没编到的那一侧。

验证:`cargo check -p main --locked` EXIT=0;关闭态 `--no-default-features
--features wasm-components,embedded-webview,windows-native-rdp` EXIT=0;
`node --test script/test-release-packaging.mjs` 26/26。
portable 目标本机无 zig/cargo-zigbuild,未预验证(该 job 现在要编 quickjs 的
C 源码,`quickjs-jit/sys/build.rs` 经 `cc` crate)。
2026-09-15 15:21:48 +08:00
user.email 9ec827f263 docs(publish-gpui-pre-fork): use https fork-url in examples (repo is public) 2026-09-10 20:28:26 +08:00
user.email 6a1e7f6dd0 feat(remote_desktop_view): restore dynamic texture via a self-maintained gpui-pre fork
The dynamic-texture API only exists on our zed dynamic-texture branch, so
the published gpui-pre-* snapshot predates it. Instead of a path patch
that ties the build to one host, point the [patch.crates-io] block at a
git fork we own:

    feigeCode/gpui-pre, tag fork-0.3.99

The fork is cut from zed@cae01216cb with gpui-component's
script/bump-gpui.ts pipeline. Re-publish with
script/publish-gpui-pre-fork.py and move the patch with
script/migrate-to-git-fork.py; both live in script/.

With the API available again, revert the eda5371ae RenderImage fallback
in remote_desktop_view:

- surface.rs uses DynamicTexture directly; the backing framebuffer
  becomes the upload source for paint_dynamic_texture.
- render.rs paints dirty rects via update_dynamic_texture /
  paint_dynamic_texture instead of a whole-frame paint_image, and
  releases retired handles with drop_dynamic_texture.
- view.rs drops the placeholder handles; the contract tests assert the
  dynamic-texture path.

cargo check --workspace --locked: clean. cargo test -p
remote_desktop_view --lib: 241 passed.
2026-09-10 20:17:50 +08:00
user.email 0fda3ead6f merge: 同步上游 feigeCode/dev(已合并 PR #175)进本地 dev
以本地 dev 的未完成重构(资源工作台/表单引擎)为准解决冲突:
- 保留 dev 的 universal-plugins/connection_form 表单引擎与 resource-workbench 代码
- 保留 dev 内置 MQTT/TDengine 栈(mqtt_view/mqtt-runtime/taos/rumqttc)
- 恢复 dev 版本的核心存储、主程序与受影响的 crates
- 保留上游仅新增的迁移文件 20260828000001_middleware_extension_connections.sql
- 更新 workspace 依赖(mqtt-runtime/mqtt_view/taos/rumqttc)与 Cargo.lock
- cargo check --workspace 通过
2026-09-10 08:15:50 +08:00
user.email ee1f052cbc merge: 解决 PR #175 与 feigeCode/dev 的冲突并移除 .agent-teams
- 将 feigeCode/navop:dev(b8d90a629)合并入 PR 头,逐文件解决 21 处冲突
- 按 PR 意图移除内置中间件/TDengine 实现:删除 mqtt_view、middleware_form、
  navigation_quick_open、main 内 extension_connection_form(迁至 crates/universal-plugins)
- 保留 base 侧结构(universal-plugins crate、home 重构),融合 PR 的 SSH 隧道/
  统一凭据解析增强;crates/universal-plugins 与 main 全量 cargo check 通过
- 移除误提交的 .agent-teams 目录(共 8 个 JSONL/JSON 文件)
2026-09-09 23:24:51 +08:00
胡飞 d43f7e22b0 fix(ci): align release-packaging contract with universal-plugins feature and drop dead test helper
- test-release-packaging: shell-plugins optional deps moved into crates/universal-plugins; assert the new main feature forwarding there
- extension-runtime: remove unused append_executable_bytes (dead under -D warnings)
2026-09-09 18:19:01 +08:00
胡飞 cb723be834 perf(release): use parallel thin LTO builds 2026-09-05 08:04:37 +08:00
胡飞 6ce900ba55 fix(main): keep gpui shell out of default release builds 2026-09-05 05:10:32 +08:00
胡飞 a6786444e9 fix(ci): 合并 windows-rdp-probe 到 test job 并修复 CI 全红
- ci.yml: 删除独立 windows-rdp-probe job,probe 步骤并入 test job 的 Windows
  分支(保留 i686,先 rustup target add i686-pc-windows-msvc)
- contract.rs: 去掉已删除 build-windows-msi.yml 的断言,更新 ci.yml 结构断言
- test-release-packaging.mjs: main default features 断言补 builtin-mqtt
- 修复 -D warnings 下 unused imports/unused_mut 编译错误
2026-09-04 15:05:25 +08:00
胡飞 6bd63dc3a7 chore(workflow): 精简 GitHub workflows,发布链路改从 main 触发并加 PR 合并保护
- 删除废弃 workflow:build-windows-msi / build-windows-rdp-smoke /
  repair-release-assets / validate-linux-arm64-packages / validate-linux-x64-packages
- test-release-packaging.mjs 移除对 build-windows-msi 的引用,
  Windows MSI 校验改为以 release.yml 为准
- release-trigger.yml 与 release.yml 的 dispatch --ref 由 dev 改为 main(main=release)
- ci.yml 增加 CI gate 汇总 job,供 main 分支保护强制检查
- RELEASE.md 更新分支模型:dev=beta、main=release(PR 合并)
2026-09-04 11:01:13 +08:00
胡飞 a5f7884991 chore: v0.16.0 发布前整理与测试补充
- refactor(notes): 移除 Markdown Split 分栏模式,旧配置自动迁移到 Source
- test(credential_vault): 补充列表渲染边界测试并添加 debug selector
- docs(extension-resource-plugins): 新增开发指南与 README 关联
- style: 统一 rustfmt 格式(notes/db/sftp/one_ui 等)
- chore: 同步 Cargo.lock 与脚本
2026-09-03 22:34:31 +08:00
胡飞 3d18ae010e feat(plugins): add universal resource shell views 2026-09-02 12:21:55 +08:00
胡飞 2eee74d39e chore(release): 强化 skill 与脚本对 CNB 镜像下载行的强制校验
- navop-release-notes skill: Prepare 阶段改为硬性 checklist,CNB 下载行列为必选项并附 grep 校验;Common Mistakes 新增遗漏 CNB 行条目
- script/changelog.py: 新增 CNB_MIRROR_LINE_RE,upsert 生成新条目与 validate 命令(release-tag/bump 闸门)强制包含 CNB 镜像下载行,extract 保持宽松以兼容无 CNB 行的旧条目
- 同步三层嵌套 skill 副本为同一最新版本
- 补充 upsert/validate 缺 CNB 行报错、extract 对旧条目宽松的测试
2026-08-30 17:10:00 +08:00
胡飞 84bdfdb6ae chore(release-notes): drop language headings and add CNB download line 2026-08-29 15:05:26 +08:00
胡飞 dcfcddc8d1 feat(release): versioned public package names with win32 label, keep updater asset names 2026-08-24 17:37:57 +08:00
胡飞 51b57d9995 fix(release): 完善 R2 与 CNB 发布资产同步 2026-08-24 11:56:23 +08:00
胡飞 d42859b6dc test(db): add real database integration coverage 2026-08-22 08:52:57 +08:00
胡飞 a40c8dc161 ci(windows): allow Visual Studio 18 RDP probe 2026-08-19 16:42:49 +08:00
胡飞 1e50b59313 fix(windows): configure MSVC for native RDP builds 2026-08-19 00:19:19 +08:00
胡飞 25a75d8984 fix(windows): include native RDP in app builds 2026-08-19 00:18:16 +08:00
胡飞 d0f1f1abdb fix(remote-desktop): restore Windows native CI contracts 2026-08-18 22:27:01 +08:00
胡飞 81fc4760c3 feat(remote-desktop): enforce Windows RDP callback quiescence 2026-08-18 22:27:00 +08:00
胡飞 6259417a09 feat(remote-desktop): add versioned Windows RDP host ABI 2026-08-18 22:27:00 +08:00
胡飞 c9c13b8cc2 fix(remote-desktop): import the system RDP type library 2026-08-18 22:27:00 +08:00
胡飞 ed2a9c3639 feat(remote-desktop): add Windows RDP toolchain probe 2026-08-18 22:27:00 +08:00
胡飞 73cf3bea38 fix(release): bundle Wayland runtime libraries 2026-08-15 11:33:52 +08:00
胡飞 f4576839e8 fix(release): resolve usrmerge package ownership 2026-08-15 08:45:52 +08:00
胡飞 082721ac0e fix(ci): check cargo-zigbuild version correctly 2026-08-15 00:37:39 +08:00
胡飞 02beac37a0 feat(release): add portable x64 Linux package 2026-08-14 23:35:14 +08:00
胡飞 704932df72 feat(release): add portable ARM64 Linux package 2026-08-14 23:11:49 +08:00
胡飞 37db429ea8 fix(release): support older ARM64 Linux runtimes 2026-08-14 16:04:30 +08:00
胡飞 63ac372408 ci: add Windows x86 release packages 2026-08-04 20:25:24 +08:00
胡飞 27b1a39f24 fix(windows): mark MSI as bundle primary package 2026-08-03 17:34:34 +08:00
胡飞 6496088518 fix(release): verify R2 overwrites and disable stale caching 2026-08-03 15:37:57 +08:00
胡飞 bf95dc74fe feat(release): add Windows EXE installer 2026-08-03 10:26:00 +08:00
胡飞 2dde8cc36e Merge branch 'feat/terminal-optimization-rework' into dev
# Conflicts:
#	main/src/update/dialog.rs
2026-08-01 11:41:55 +08:00
胡飞 75ce08a7e8 feat(release): centralize bilingual changelog and release notes 2026-08-01 11:38:40 +08:00
胡飞 ce6991181d feat(update): add local update simulation and richer update dialog 2026-08-01 11:38:28 +08:00
胡飞 d3904a045d feat(app): register terminal recording file associations 2026-07-28 09:50:08 +08:00
胡飞 1f82fa4e47 fix(icon): 调整 macOS 应用图标尺寸 2026-07-24 10:22:12 +08:00
胡飞 66b204b3b3 feat(core): 支持便携运行模式 2026-07-23 21:01:52 +08:00
胡飞 2cd3a834b1 ci: avoid duplicate release cache writers 2026-07-20 20:10:02 +08:00
胡飞 6430f1e506 ci: build ARM Linux in release matrix 2026-07-20 09:39:24 +08:00
胡飞 45c19e7250 ci: unify Rust build caches 2026-07-20 09:12:43 +08:00
胡飞 2824d6b7ab revert(ci): defer R2 compiler cache rollout 2026-07-19 17:11:06 +08:00
胡飞 781289f32b fix(ci): enable persistent R2 sccache 2026-07-19 17:06:24 +08:00
胡飞 7314303fc3 fix(release): handle empty GitHub releases 2026-07-19 16:40:22 +08:00