Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
eb708e0
📝 docs: fix outdated server-side database documentation (#9806)
arvinxx Oct 21, 2025
cc37acb
Update actions/download-artifact action to v5 (#8740)
renovate[bot] Oct 21, 2025
d99a3a8
🐛 fix: pass threadId to messages in sendMessageInServer (#9808)
arvinxx Oct 21, 2025
3466055
:bookmark: chore(release): v1.139.4 [skip ci]
semantic-release-bot Oct 21, 2025
68d6457
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Oct 21, 2025
0af13ca
fix: sub topic fetch branching topic id was used dynmic get (#9811)
ONLY-yours Oct 21, 2025
6334f62
🐛 fix(desktop): fix desktop open error in some edge cases (#9813)
arvinxx Oct 21, 2025
c882e75
:bookmark: chore(release): v1.139.5 [skip ci]
semantic-release-bot Oct 21, 2025
2606f93
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Oct 21, 2025
15ffe28
✨ feat: add ComfyUI integration Phase1(RFC-128) (#9043)
MapleEve Oct 21, 2025
b81d8f7
:bookmark: chore(release): v1.140.0 [skip ci]
semantic-release-bot Oct 21, 2025
8b619f0
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Oct 21, 2025
af33543
💄 style: improve rich text link display (#9816)
arvinxx Oct 21, 2025
7f7dcfb
🩹 fix: ignore abort signal errors in TRPC client (#9809)
arvinxx Oct 21, 2025
6734a47
🐛 fix: slove when pwa user info have code cannot be viewed in full (#…
ONLY-yours Oct 21, 2025
2b7761c
✨ feat: add PDF export functionality to share modal (#9300)
ONLY-yours Oct 21, 2025
69f21da
💄 style: add knowledge base mansory layout [LOB-496] (#9722)
rivertwilight Oct 21, 2025
e9de9e3
✅ test: fix tests (#9818)
arvinxx Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/desktop-pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ jobs:

# 下载所有平台的构建产物
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: release
pattern: release-*
Expand Down Expand Up @@ -287,7 +287,7 @@ jobs:

# 下载合并后的构建产物
- name: Download merged artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: merged-release-pr
path: release
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ jobs:
fetch-depth: 0

- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: /tmp/digests
pattern: digest-*
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-pglite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ jobs:
fetch-depth: 0

- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: /tmp/digests
pattern: digest-*
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ jobs:
fetch-depth: 0

- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: /tmp/digests
pattern: digest-*
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-desktop-beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ jobs:

# 下载所有平台的构建产物
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: release
pattern: release-*
Expand Down Expand Up @@ -262,7 +262,7 @@ jobs:
steps:
# 下载合并后的构建产物
- name: Download merged artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: merged-release
path: release
Expand Down
75 changes: 75 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,81 @@

# Changelog

## [Version 1.140.0](https://github.com/lobehub/lobe-chat/compare/v1.139.5...v1.140.0)

<sup>Released on **2025-10-21**</sup>

#### ✨ Features

- **misc**: Add ComfyUI integration Phase1(RFC-128).

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

- **misc**: Add ComfyUI integration Phase1(RFC-128), closes [#9043](https://github.com/lobehub/lobe-chat/issues/9043) ([15ffe28](https://github.com/lobehub/lobe-chat/commit/15ffe28))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

### [Version 1.139.5](https://github.com/lobehub/lobe-chat/compare/v1.139.4...v1.139.5)

<sup>Released on **2025-10-21**</sup>

#### 🐛 Bug Fixes

- **desktop**: Fix desktop open error in some edge cases.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

- **desktop**: Fix desktop open error in some edge cases, closes [#9813](https://github.com/lobehub/lobe-chat/issues/9813) ([6334f62](https://github.com/lobehub/lobe-chat/commit/6334f62))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

### [Version 1.139.4](https://github.com/lobehub/lobe-chat/compare/v1.139.3...v1.139.4)

<sup>Released on **2025-10-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Pass threadId to messages in sendMessageInServer.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

- **misc**: Pass threadId to messages in sendMessageInServer, closes [#9808](https://github.com/lobehub/lobe-chat/issues/9808) ([d99a3a8](https://github.com/lobehub/lobe-chat/commit/d99a3a8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

### [Version 1.139.3](https://github.com/lobehub/lobe-chat/compare/v1.139.2...v1.139.3)

<sup>Released on **2025-10-21**</sup>
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ ENV \
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# ComfyUI
COMFYUI_BASE_URL="" COMFYUI_AUTH_TYPE="" \
COMFYUI_API_KEY="" COMFYUI_USERNAME="" COMFYUI_PASSWORD="" COMFYUI_CUSTOM_HEADERS="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile.database
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,9 @@ ENV \
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# ComfyUI
COMFYUI_BASE_URL="" COMFYUI_AUTH_TYPE="" \
COMFYUI_API_KEY="" COMFYUI_USERNAME="" COMFYUI_PASSWORD="" COMFYUI_CUSTOM_HEADERS="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile.pglite
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,9 @@ ENV \
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# ComfyUI
COMFYUI_BASE_URL="" COMFYUI_AUTH_TYPE="" \
COMFYUI_API_KEY="" COMFYUI_USERNAME="" COMFYUI_PASSWORD="" COMFYUI_CUSTOM_HEADERS="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
Expand Down
27 changes: 26 additions & 1 deletion apps/desktop/src/main/core/App.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { ElectronIPCEventHandler, ElectronIPCServer } from '@lobechat/electron-server-ipc';
import { Session, app, ipcMain, protocol } from 'electron';
import { macOS, windows } from 'electron-is';
import { pathExistsSync, remove } from 'fs-extra';
import os from 'node:os';
import { join } from 'node:path';

import { name } from '@/../../package.json';
import { buildDir, nextStandaloneDir } from '@/const/dir';
import { buildDir, LOCAL_DATABASE_DIR, nextStandaloneDir } from '@/const/dir';
import { isDev } from '@/const/env';
import { IControlModule } from '@/controllers';
import { IServiceModule } from '@/services';
Expand Down Expand Up @@ -129,6 +130,9 @@ export class App {

this.initDevBranding();

// Clean up stale database lock file before starting IPC server
await this.cleanupDatabaseLock();

// ==============
await this.ipcServer.start();
logger.debug('IPC server started');
Expand Down Expand Up @@ -371,6 +375,27 @@ export class App {
}
};

/**
* Clean up stale database lock file from previous crashes or abnormal exits
*/
private cleanupDatabaseLock = async () => {
try {
const dbPath = join(this.appStoragePath, LOCAL_DATABASE_DIR);
const lockPath = `${dbPath}.lock`;

if (pathExistsSync(lockPath)) {
logger.info(`Cleaning up stale database lock file: ${lockPath}`);
await remove(lockPath);
logger.info('Database lock file removed successfully');
} else {
logger.debug('No database lock file found, skipping cleanup');
}
} catch (error) {
logger.error('Failed to cleanup database lock file:', error);
// Non-fatal error, allow application to continue
}
};

private registerNextHandler() {
logger.debug('Registering Next.js handler');
const handler = createHandler({
Expand Down
Loading
Loading