Repository navigation
Conversation
产品拆分后工作区包名从 main 改成 navop_app,beta-release.sh 还在按 main 找 lock 条目,rsync 阶段直接报 <missing>。改成精确改写 navop_app / navop / navop-shell / navop-data 四个成员版本(cargo metadata --no-deps 不会重算 成员版本,靠它刷 lock 本来就不成立),并同步更新提示文案。
v0.23.0-beta.1 的 Windows 构建在 `cargo build -p navop` 上直接失败: `the package 'navop' does not contain these features: wasm-components, windows-native-rdp`。产品拆分后这些特性留在 `navop_app` 上,`apps/navop` 既没有转发它们,发布流水线又对三个产品无差别地传同一组 feature。 - `apps/navop/Cargo.toml`:把 wasm-components / windows-native-rdp / shell-plugins 三个特性转发给 `navop_app`,改成显式特性集 (`default-features = false` + database/shell 常开),32 位 Windows 用 `--no-default-features` 表达「默认集减去 shell-plugins」的语义才成立。 - `.github/workflows/release.yml`:feature 分支只对全量产品生效;独立产品的 特性集写在自己的 Cargo.toml 里,给它们传同样的名字只会报特性不存在。 本地已验证三种组合都能编译:默认、`--features windows-native-rdp`、 `--no-default-features --features wasm-components,windows-native-rdp`。
发布流水线按产品分别编译(`cargo build -p navop-data`),而 `home_tab/lifecycle.rs` 无条件 use 了 `terminal_view`,导致 navop-data 在 macOS/Windows 上直接 E0432。工作区整体构建时 `apps/navop` 把 shell 特性打开, 特性合并掩盖了这个问题,所以 CI 一直没暴露。 - `TabContainerEvent` 与 `TerminalWorkspace` 的导入加 `#[cfg(feature = "shell")]`; - 复制标签后的终端事件订阅整段放进同条件的 block; - `subscribe_terminal_workspace_events` 本身也只在 shell 特性下编译。 本地已验证 `-p navop-data` / `-p navop-shell` / `-p navop` 三个包单独 check 通过。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
发 v0.23.0-beta.1 / beta.2 时暴露了两处只有「按产品单独构建」才会踩到的问题,修复后在 dev 上重发。
包含的提交
f8702d330fix(release): Windows 打包按产品传特性,全量产品补齐特性转发apps/navop/Cargo.toml把 wasm-components / windows-native-rdp / shell-plugins 转发给navop_app,改成显式特性集(default-features = false+ database/shell 常开),32 位 Windows 的「默认集减去 shell-plugins」语义才成立。.github/workflows/release.yml的 feature 分支只对全量产品生效;独立产品特性集写在自己的 Cargo.toml 里。8a3303002fix(app): 终端标签订阅按 shell 特性门控,独立数据产品可单独构建home_tab/lifecycle.rs里terminal_view的导入与订阅整段加#[cfg(feature = "shell")];工作区整体构建时特性合并掩盖了这个问题。验证
cargo check -p navop-data/-p navop-shell/-p navop三个包单独 check 通过(macOS arm64)。cargo check -p navop在默认、--features windows-native-rdp、--no-default-features --features wasm-components,windows-native-rdp三种组合下均通过。.github/workflows/release.yml用 ruby yaml 解析通过。不含 CHANGELOG 与版本 bump(本 PR 只是把发版修复带到 main,tag 仍打在 dev 上)。