Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot]
cf04d6bc18 chore(deps-dev): bump vite-plugin-electron from 0.28.8 to 0.29.1
Bumps [vite-plugin-electron](https://github.com/electron-vite/vite-plugin-electron) from 0.28.8 to 0.29.1.
- [Release notes](https://github.com/electron-vite/vite-plugin-electron/releases)
- [Changelog](https://github.com/electron-vite/vite-plugin-electron/blob/main/CHANGELOG.md)
- [Commits](https://github.com/electron-vite/vite-plugin-electron/compare/v0.28.8...v0.29.1)

---
updated-dependencies:
- dependency-name: vite-plugin-electron
  dependency-version: 0.29.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-03 23:15:49 +00:00
6 changed files with 32 additions and 58 deletions

1
.gitignore vendored
View File

@@ -72,4 +72,3 @@ pnpm-lock.yaml
/pnpm-workspace.yaml /pnpm-workspace.yaml
wechat-research-site wechat-research-site
.codex .codex
weflow-web-offical

View File

@@ -136,7 +136,6 @@ const shouldOfferUpdateForTrack = (latestVersion: string, currentVersion: string
} }
let lastAppliedUpdaterChannel: string | null = null let lastAppliedUpdaterChannel: string | null = null
let lastAppliedUpdaterFeedUrl: string | null = null
const resetUpdaterProviderCache = () => { const resetUpdaterProviderCache = () => {
const updater = autoUpdater as any const updater = autoUpdater as any
// electron-updater 会缓存 provider切换 channel 后需清理缓存,避免仍请求旧通道 // electron-updater 会缓存 provider切换 channel 后需清理缓存,避免仍请求旧通道
@@ -147,41 +146,23 @@ const resetUpdaterProviderCache = () => {
} }
} }
const getUpdaterFeedUrlByTrack = (track: 'stable' | 'preview' | 'dev'): string => {
const repoBase = 'https://github.com/hicccc77/WeFlow/releases'
if (track === 'stable') return `${repoBase}/latest/download`
if (track === 'preview') return `${repoBase}/download/nightly-preview`
return `${repoBase}/download/nightly-dev`
}
const applyAutoUpdateChannel = (reason: 'startup' | 'settings' = 'startup') => { const applyAutoUpdateChannel = (reason: 'startup' | 'settings' = 'startup') => {
const track = getEffectiveUpdateTrack() const track = getEffectiveUpdateTrack()
const currentTrack = inferUpdateTrackFromVersion(appVersion) const currentTrack = inferUpdateTrackFromVersion(appVersion)
const baseUpdateChannel = track === 'stable' ? 'latest' : track const baseUpdateChannel = track === 'stable' ? 'latest' : track
const nextFeedUrl = getUpdaterFeedUrlByTrack(track)
const nextUpdaterChannel = const nextUpdaterChannel =
process.platform === 'win32' && process.arch === 'arm64' process.platform === 'win32' && process.arch === 'arm64'
? `${baseUpdateChannel}-arm64` ? `${baseUpdateChannel}-arm64`
: baseUpdateChannel : baseUpdateChannel
if ( if (lastAppliedUpdaterChannel && lastAppliedUpdaterChannel !== nextUpdaterChannel) {
(lastAppliedUpdaterChannel && lastAppliedUpdaterChannel !== nextUpdaterChannel) ||
(lastAppliedUpdaterFeedUrl && lastAppliedUpdaterFeedUrl !== nextFeedUrl)
) {
resetUpdaterProviderCache() resetUpdaterProviderCache()
} }
autoUpdater.allowPrerelease = track !== 'stable' autoUpdater.allowPrerelease = track !== 'stable'
// 只要用户当前选择的目标通道与当前安装版本所属通道不同,就允许跨通道更新(含降级) // 只要用户当前选择的目标通道与当前安装版本所属通道不同,就允许跨通道更新(含降级)
autoUpdater.allowDowngrade = track !== currentTrack autoUpdater.allowDowngrade = track !== currentTrack
// 统一走 generic feed确保 preview/dev 命中各自固定发布页,不受 GitHub provider 的 prerelease 选择影响。
autoUpdater.setFeedURL({
provider: 'generic',
url: nextFeedUrl,
channel: nextUpdaterChannel
})
autoUpdater.channel = nextUpdaterChannel autoUpdater.channel = nextUpdaterChannel
lastAppliedUpdaterChannel = nextUpdaterChannel lastAppliedUpdaterChannel = nextUpdaterChannel
lastAppliedUpdaterFeedUrl = nextFeedUrl console.log(`[Update](${reason}) 当前版本 ${appVersion},当前轨道: ${currentTrack},渠道偏好: ${track},更新通道: ${autoUpdater.channel}allowDowngrade=${autoUpdater.allowDowngrade}`)
console.log(`[Update](${reason}) 当前版本 ${appVersion},当前轨道: ${currentTrack},渠道偏好: ${track},更新通道: ${autoUpdater.channel}feed=${nextFeedUrl}allowDowngrade=${autoUpdater.allowDowngrade}`)
} }
applyAutoUpdateChannel('startup') applyAutoUpdateChannel('startup')

8
package-lock.json generated
View File

@@ -44,7 +44,7 @@
"sharp": "^0.34.5", "sharp": "^0.34.5",
"typescript": "^6.0.2", "typescript": "^6.0.2",
"vite": "^7.0.0", "vite": "^7.0.0",
"vite-plugin-electron": "^0.28.8", "vite-plugin-electron": "^0.29.1",
"vite-plugin-electron-renderer": "^0.14.6" "vite-plugin-electron-renderer": "^0.14.6"
} }
}, },
@@ -10141,9 +10141,9 @@
} }
}, },
"node_modules/vite-plugin-electron": { "node_modules/vite-plugin-electron": {
"version": "0.28.8", "version": "0.29.1",
"resolved": "https://registry.npmjs.org/vite-plugin-electron/-/vite-plugin-electron-0.28.8.tgz", "resolved": "https://registry.npmjs.org/vite-plugin-electron/-/vite-plugin-electron-0.29.1.tgz",
"integrity": "sha512-ir+B21oSGK9j23OEvt4EXyco9xDCaF6OGFe0V/8Zc0yL2+HMyQ6mmNQEIhXsEsZCSfIowBpwQBeHH4wVsfraeg==", "integrity": "sha512-AejNed5BgHFnuw8h5puTa61C6vdP4ydbsbo/uVjH1fTdHAlCDz1+o6pDQ/scQj1udDrGvH01+vTbzQh/vMnR9w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peerDependencies": { "peerDependencies": {

View File

@@ -58,7 +58,7 @@
"sharp": "^0.34.5", "sharp": "^0.34.5",
"typescript": "^6.0.2", "typescript": "^6.0.2",
"vite": "^7.0.0", "vite": "^7.0.0",
"vite-plugin-electron": "^0.28.8", "vite-plugin-electron": "^0.29.1",
"vite-plugin-electron-renderer": "^0.14.6" "vite-plugin-electron-renderer": "^0.14.6"
}, },
"pnpm": { "pnpm": {

View File

@@ -591,13 +591,9 @@ function App() {
<div className="agreement-notice"> <div className="agreement-notice">
<strong></strong> <strong></strong>
<span className="agreement-notice-link"> <span className="agreement-notice-link">
<a href="https://weflow.top" target="_blank" rel="noreferrer">
https://weflow.top
</a>
&nbsp;·&nbsp;
<a href="https://github.com/hicccc77/WeFlow" target="_blank" rel="noreferrer"> <a href="https://github.com/hicccc77/WeFlow" target="_blank" rel="noreferrer">
GitHub https://github.com/hicccc77/WeFlow
</a> </a>
</span> </span>
</div> </div>
@@ -612,7 +608,7 @@ function App() {
<p>使使</p> <p>使使</p>
<h4>4. </h4> <h4>4. </h4>
<p></p> <p></p>
</div> </div>
</div> </div>
<div className="agreement-footer"> <div className="agreement-footer">
@@ -670,30 +666,30 @@ function App() {
)} )}
{showWaylandWarning && ( {showWaylandWarning && (
<div className="agreement-overlay"> <div className="agreement-overlay">
<div className="agreement-modal"> <div className="agreement-modal">
<div className="agreement-header"> <div className="agreement-header">
<Shield size={32} /> <Shield size={32} />
<h2> (Wayland)</h2> <h2> (Wayland)</h2>
</div>
<div className="agreement-content">
<div className="agreement-text">
<p>使 <strong>Wayland</strong> </p>
<p> Wayland <strong></strong></p>
<p></p>
<br />
<p>使</p>
<p>1. <strong>X11 (Xorg)</strong> </p>
<p>2. (WM/DE) </p>
</div> </div>
</div> <div className="agreement-content">
<div className="agreement-footer"> <div className="agreement-text">
<div className="agreement-actions"> <p>使 <strong>Wayland</strong> </p>
<button className="btn btn-primary" onClick={handleDismissWaylandWarning}></button> <p> Wayland <strong></strong></p>
<p></p>
<br />
<p>使</p>
<p>1. <strong>X11 (Xorg)</strong> </p>
<p>2. (WM/DE) </p>
</div>
</div>
<div className="agreement-footer">
<div className="agreement-actions">
<button className="btn btn-primary" onClick={handleDismissWaylandWarning}></button>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
)} )}
{/* 更新提示对话框 */} {/* 更新提示对话框 */}

View File

@@ -2508,9 +2508,7 @@ function SettingsPage({ onClose }: SettingsPageProps = {}) {
<div className="about-footer"> <div className="about-footer">
<p className="about-desc"></p> <p className="about-desc"></p>
<div className="about-links"> <div className="about-links">
<a href="#" onClick={(e) => { e.preventDefault(); window.electronAPI.shell.openExternal('https://weflow.top') }}></a> <a href="#" onClick={(e) => { e.preventDefault(); window.electronAPI.shell.openExternal('https://github.com/hicccc77/WeFlow') }}></a>
<span>·</span>
<a href="#" onClick={(e) => { e.preventDefault(); window.electronAPI.shell.openExternal('https://github.com/hicccc77/WeFlow') }}>GitHub </a>
<span>·</span> <span>·</span>
<a href="#" onClick={(e) => { e.preventDefault(); window.electronAPI.shell.openExternal('https://chatlab.fun') }}>ChatLab</a> <a href="#" onClick={(e) => { e.preventDefault(); window.electronAPI.shell.openExternal('https://chatlab.fun') }}>ChatLab</a>
<span>·</span> <span>·</span>