chore(version): 0.8.12

This commit is contained in:
kangfenmao 2024-11-11 10:49:11 +08:00
parent c319b54a26
commit 446e011c6a
3 changed files with 49 additions and 55 deletions

View File

@ -63,13 +63,5 @@ electronDownload:
afterSign: scripts/notarize.js afterSign: scripts/notarize.js
releaseInfo: releaseInfo:
releaseNotes: | releaseNotes: |
新功能: 修复 Windows 窗口最小化后进入任务栏问题
- 支持代码风格切换 @injurka 增加 API 密钥批量检查功能
- 增加任务栏图标
- 智能体新增精选分类
- 支持 Mermaid 图表预览和下载
- 增加多 API 密钥支持
- 侧边栏增加提示信息
错误修复:
- 修复 Mermaid 图表无法显示问题
- 修复气泡模式代码颜色问题

View File

@ -1,6 +1,6 @@
{ {
"name": "CherryStudio", "name": "CherryStudio",
"version": "0.8.11", "version": "0.8.12",
"private": true, "private": true,
"description": "A powerful AI assistant for producer.", "description": "A powerful AI assistant for producer.",
"main": "./out/main/index.js", "main": "./out/main/index.js",

View File

@ -11,57 +11,59 @@ import { updateUserDataPath } from './utils/upgrade'
// Check for single instance lock // Check for single instance lock
if (!app.requestSingleInstanceLock()) { if (!app.requestSingleInstanceLock()) {
app.quit() app.quit()
} process.exit(0)
} else {
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(async () => {
await updateUserDataPath()
// This method will be called when Electron has finished // Set app user model id for windows
// initialization and is ready to create browser windows. electronApp.setAppUserModelId(import.meta.env.VITE_MAIN_BUNDLE_ID || 'com.kangfenmao.CherryStudio')
// Some APIs can only be used after this event occurs.
app.whenReady().then(async () => {
await updateUserDataPath()
// Set app user model id for windows const mainWindow = windowService.createMainWindow()
electronApp.setAppUserModelId(import.meta.env.VITE_MAIN_BUNDLE_ID || 'com.kangfenmao.CherryStudio') new TrayService()
const mainWindow = windowService.createMainWindow() app.on('activate', function () {
new TrayService() // On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
windowService.createMainWindow()
} else {
windowService.showMainWindow()
}
})
app.on('activate', function () { registerZoomShortcut(mainWindow)
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open. registerIpc(mainWindow, app)
if (BrowserWindow.getAllWindows().length === 0) {
windowService.createMainWindow() if (process.env.NODE_ENV === 'development') {
} else { installExtension(REDUX_DEVTOOLS)
windowService.showMainWindow() .then((name) => console.log(`Added Extension: ${name}`))
.catch((err) => console.log('An error occurred: ', err))
} }
}) })
registerZoomShortcut(mainWindow) // Listen for second instance
app.on('second-instance', () => {
const mainWindow = BrowserWindow.getAllWindows()[0]
if (mainWindow) {
mainWindow.isMinimized() && mainWindow.restore()
mainWindow.show()
mainWindow.focus()
}
})
registerIpc(mainWindow, app) app.on('browser-window-created', (_, window) => {
optimizer.watchWindowShortcuts(window)
})
if (process.env.NODE_ENV === 'development') { app.on('before-quit', () => {
installExtension(REDUX_DEVTOOLS) app.isQuitting = true
.then((name) => console.log(`Added Extension: ${name}`)) })
.catch((err) => console.log('An error occurred: ', err))
}
})
// Listen for second instance // In this file you can include the rest of your app"s specific main process
app.on('second-instance', () => { // code. You can also put them in separate files and require them here.
const mainWindow = BrowserWindow.getAllWindows()[0] }
if (mainWindow) {
mainWindow.isMinimized() && mainWindow.restore()
mainWindow.focus()
}
})
app.on('browser-window-created', (_, window) => {
optimizer.watchWindowShortcuts(window)
})
app.on('before-quit', () => {
app.isQuitting = true
})
// In this file you can include the rest of your app"s specific main process
// code. You can also put them in separate files and require them here.