mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-08-21 21:47:00 +08:00
feat: 完成 TraceMemo v2.2.0 品牌升级并保留旧数据兼容
- 将用户可见品牌升级为 TraceMemo(迹忆) - 增加最早期 userData/sessionData 兼容路径选择 - 保留 WechatExplorer runtime identity 以兼容 safeStorage - 继续使用旧 Knowledge、Settings、API Token 和 Provider 配置 - 新日志写入 TraceMemo 目录并保留历史日志 - 保留旧 API、Skill、环境变量和导出目录兼容标识 - 更新相关文档、界面文案与自动化测试
This commit is contained in:
+6
-16
@@ -1,3 +1,4 @@
|
||||
import './app-data-bootstrap'
|
||||
import './preload-env'
|
||||
import {
|
||||
app,
|
||||
@@ -272,17 +273,6 @@ protocol.registerSchemesAsPrivileged([
|
||||
}
|
||||
])
|
||||
|
||||
// WCDB's Windows runtime checks the host application name during wcdb_init.
|
||||
// Mirroring WeFlow's name unblocks the -1006 init failure on Windows.
|
||||
app.setName(
|
||||
process.platform === 'win32'
|
||||
? 'WeFlow'
|
||||
: process.env['WXE_USER_DATA']
|
||||
? 'WechatExplorer Dev'
|
||||
: 'WechatExplorer'
|
||||
)
|
||||
const isolatedUserData = process.env['WXE_USER_DATA']
|
||||
if (isolatedUserData) app.setPath('userData', isolatedUserData)
|
||||
let dbInitInFlight: Promise<{ success: boolean; monitoring?: boolean; error?: string }> | null =
|
||||
null
|
||||
let appShutdownRequested = false
|
||||
@@ -435,7 +425,7 @@ function createWindow(): void {
|
||||
void dialog
|
||||
.showMessageBox(mainWindow, {
|
||||
type: 'question',
|
||||
title: '关闭 WechatExplorer',
|
||||
title: '关闭 TraceMemo',
|
||||
message: '请选择关闭方式',
|
||||
detail: '你可以将窗口隐藏到系统托盘,或退出整个应用进程。',
|
||||
buttons: ['最小化到系统托盘', '关闭进程', '取消'],
|
||||
@@ -516,11 +506,11 @@ app.whenReady().then(async () => {
|
||||
return new Response('Media unavailable', { status: 500 })
|
||||
}
|
||||
})
|
||||
console.log(`WechatExplorer main build: ${BUILD_MARK}`)
|
||||
console.log(`TraceMemo main build: ${BUILD_MARK}`)
|
||||
appLogger.write({
|
||||
level: 'info',
|
||||
scope: 'lifecycle',
|
||||
message: 'WechatExplorer 启动',
|
||||
message: 'TraceMemo 启动',
|
||||
details: { build: BUILD_MARK, platform: process.platform, version: app.getVersion() }
|
||||
})
|
||||
process.on('uncaughtException', (error) => {
|
||||
@@ -1695,7 +1685,7 @@ function buildTrayMenu(): Menu {
|
||||
},
|
||||
{ type: 'separator' },
|
||||
{
|
||||
label: '退出 WechatExplorer',
|
||||
label: '退出 TraceMemo',
|
||||
click: () => {
|
||||
tray?.destroy()
|
||||
tray = null
|
||||
@@ -1714,7 +1704,7 @@ function setupTray(): void {
|
||||
? nativeImage.createEmpty()
|
||||
: image.resize({ width: traySize, height: traySize, quality: 'best' })
|
||||
tray = new Tray(trayImage)
|
||||
tray.setToolTip('WechatExplorer')
|
||||
tray.setToolTip('TraceMemo')
|
||||
// macOS may show a Tray context menu on a primary click when it is set
|
||||
// directly on the Tray. Keep the menu for an explicit secondary click so
|
||||
// the primary click only restores the main window.
|
||||
|
||||
Reference in New Issue
Block a user