Files
shell-rs/src/update/mod.rs
T
Xuz 03dfd8d8eb 设置「关于」简化为「应用更新」三行,更新渠道可在运行时切换
- 「关于」页只剩「应用更新」一组:当前版本(下面是状态,右边是版本号和一个按钮:
  检查更新,或重启并安装… / 下载更新 / 前往下载页)、更新渠道、自动升级;
  构建号和平台挪到版本号的悬停提示里,去掉官网、更新日志链接和更新内容
- 更新渠道(稳定版 / Beta)存在 settings.json,默认是安装包自己的渠道;切换后丢掉
  已找到和已下好的版本,开着自动升级时立刻查新渠道
- 状态文案改成整句,去掉「上次检查」时间;设置页和更新对话框共用 UpdateStep,
  对话框的按钮改叫「重启并安装」
- 主机对话框「无密码」和「SSH 跳板」的说明文字缩短
- 新增切换渠道的 UI 测试,假更新源按渠道签发清单
2026-10-01 14:43:17 +08:00

40 lines
1.4 KiB
Rust

//! 在线升级:检查、下载、校验并安装新版本。
//!
//! The manifest and packages come from `dl.shellrs.com` (`feed`), are
//! believed only after `verify`, and `install` puts the new version in
//! place the way each platform's package wants. Nothing here knows about
//! the window: the workspace wires the updater to the title bar, the
//! settings page and the restart.
pub mod build_info;
pub mod error;
pub mod feed;
pub mod install;
// Each platform's installer also builds in the tests elsewhere, as far as
// its system calls allow, so that a Mac runs them all.
#[cfg(any(target_os = "linux", all(test, unix)))]
pub mod install_linux;
#[cfg(any(target_os = "macos", test))]
pub mod install_macos;
#[cfg(any(windows, test))]
pub mod install_windows;
pub mod manifest;
pub mod platform;
pub mod status;
pub mod update_dialog;
pub mod updater;
pub mod verify;
pub use build_info::Channel;
pub use error::UpdateError;
pub use feed::{HttpFeed, UpdateFeed};
pub use install::{InstallKind, Installer, Launch, Relaunch, Staged, Unsupported};
pub use manifest::{Manifest, Offer, Release};
pub use status::{RestartImpact, Tone, UpdateBadge, UpdateStep, restart_note};
pub use update_dialog::{ImpactCounter, open_update_dialog};
pub use updater::{
ManualUpdate, Phase, Stage, UpdateServices, UpdateSnapshot, Updater, UpdaterEvent,
start_handed_over,
};
pub use verify::{Opened, TrustedKeys};