chore: v0.13.1 release prep — fix fake update, cleanup hot update, version bump

1. main.js: import package.json → __APP_VERSION__ (统一版本来源)
2. dev-api.js: check_panel_update 实现 GitHub/Gitee API 查询
   (与 Rust 端逻辑一致,Web 模式可正常检测新版本)
3. dev-api.js: 移除 check_hermes 中未使用的 enhanced 变量
4. i18n: 清理 14 个废弃的热更新相关翻译键
5. 版本号升级: 0.13.0 → 0.13.1
   (package.json, Cargo.toml, tauri.conf.json)
This commit is contained in:
晴天
2026-04-13 10:20:36 +08:00
parent 2b6f80091a
commit c88a652bc5
7 changed files with 26 additions and 21 deletions

View File

@@ -68,20 +68,6 @@ export default {
updateToVersion: _('更新到 v{version}', 'Update to v{version}', '更新到 v{version}', 'v{version} に更新', 'v{version}(으)로 업데이트', 'Cập nhật lên v{version}'),
runOnServer: _('在服务器上执行以下命令:', 'Run the following commands on the server:', '在伺服器上執行以下命令:', 'サーバーで次のコマンドを実行してください:', '서버에서 다음 명령을 실행하세요:', 'Hãy chạy các lệnh sau trên máy chủ:'),
updateCommandHint: _('如果 git pull 失败,可先执行 <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> 丢弃本地修改。<br>路径请替换为实际的 ClawPanel 安装目录。', 'If <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git pull</code> fails, run <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> first to discard local changes.<br>Replace the path with your actual ClawPanel install directory.', '如果 git pull 失敗,可先執行 <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> 捨棄本地修改。<br>路徑請替換為實際的 ClawPanel 安裝目錄。', 'git pull に失敗した場合は、先に <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> を実行してローカル変更を破棄してください。<br>パスは実際の ClawPanel インストールディレクトリに置き換えてください。', 'git pull 이 실패하면 먼저 <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> 를 실행해 로컬 변경을 버리세요.<br>경로는 실제 ClawPanel 설치 디렉터리로 바꿔 주세요.', 'Nếu git pull thất bại, hãy chạy <code style="background:var(--bg-tertiary);padding:2px 6px;border-radius:4px">git checkout -- .</code> trước để bỏ các thay đổi cục bộ.<br>Hãy thay đường dẫn bằng thư mục cài đặt ClawPanel thực tế của bạn.'),
updateReady: _('已就绪', 'ready', '已就緒', '準備完了'),
reloadApp: _('重载应用', 'Reload App', '重載應用', 'アプリを再読み込み', '앱 새로고침'),
rollback: _('回退', 'Rollback', '', 'ロールバック'),
rollbackSuccess: _('已回退到内嵌版本,重载中...', 'Rolled back to embedded version, reloading...', '已回退到內嵌版本,重載中...'),
rollbackFailed: _('回退失败: ', 'Rollback failed: ', '回退失敗: '),
newVersion: _('新版本', 'New version', '', '新バージョン', '새 버전'),
hotUpdate: _('热更新', 'Hot Update', '熱更新', 'ホットアップデート', '핫 업데이트'),
fullInstaller: _('完整安装包', 'Full Installer', '完整安裝包', 'フルインストーラー', '풀 인스톨러'),
downloading: _('下载中...', 'Downloading...', '下載中...', 'ダウンロード中...', '다운로드 중...'),
downloadDone: _('更新下载完成,点击「重载应用」生效', 'Update downloaded, click "Reload App" to apply', '更新下載完成,点擊「重載應用」生效', '更新ダウンロード完了、「アプリを再読み込み」をクリックして適用'),
downloadFailedShort: _('下载失败', 'Download failed', '下載失敗', 'ダウンロード失敗', '다운로드 실패', 'Tải xuống thất bại'),
downloadFailed: _('下载失败: ', 'Download failed: ', '下載失敗: ', 'ダウンロード失敗: ', '다운로드 실패: '),
retry: _('重试', 'Retry', '重試', '再試行', '재시도'),
needFullUpdate: _('需要更新完整安装包', 'Full install package update required', '需要更新完整安裝包'),
goToWebsite: _('前往官网下载', 'Go to Website', '前往官網下載'),
downloadFromWebsite: _('官网下载', 'Website Download', '官網下載'),
downloadFromGitHub: _('GitHub 下载', 'GitHub Download', 'GitHub 下載'),

View File

@@ -11,7 +11,7 @@ import { initTheme } from './lib/theme.js'
import { detectOpenclawStatus, isOpenclawReady, isUpgrading, isGatewayRunning, isGatewayForeign, onGatewayChange, startGatewayPoll, onGuardianGiveUp, resetAutoRestart, loadActiveInstance, getActiveInstance, onInstanceChange } from './lib/app-state.js'
import { wsClient } from './lib/ws-client.js'
import { api, checkBackendHealth, isBackendOnline, isTauriRuntime, onBackendStatusChange } from './lib/tauri-api.js'
import { version as APP_VERSION } from '../package.json'
const APP_VERSION = typeof __APP_VERSION__ !== 'undefined' ? __APP_VERSION__ : '0.0.0'
import { statusIcon } from './lib/icons.js'
import { isForeignGatewayError, showGatewayConflictGuidance } from './lib/gateway-ownership.js'
import { tryShowEngagement } from './components/engagement.js'