From eb9afb8f917b245a72e5db40bbc5a32c750e7f02 Mon Sep 17 00:00:00 2001 From: beerui <95088750+beerui@users.noreply.github.com> Date: Wed, 21 Jan 2026 14:20:00 +0800 Subject: [PATCH] chore: bump version to 1.0.2 (#10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: reinitialize connection when page becomes visible after idle timeout When all tabs become invisible and the SharedWorker disconnects due to idle timeout, the tabs are removed from the Worker's tab list. When user switches back to the page, the TAB_VISIBILITY message fails because the tab no longer exists. This fix adds a reinitialize() method that: - Sends TAB_INIT to re-add the tab to the Worker - Re-registers all callbacks - Called when page becomes visible and connection is not established Co-Authored-By: Claude Opus 4.5 * fix: handle tab not found by notifying tab to reinitialize When SharedWorker's TAB_VISIBILITY message is received but the tab no longer exists in Worker's tab list (due to cleanup timer or idle timeout removal), Worker now sends WORKER_TAB_NOT_FOUND message back to the tab, triggering reinitialization. Changes: - Add WORKER_TAB_NOT_FOUND message type to WorkerToTabMessageType - Modify updateTabVisibility to return boolean indicating success - Send TAB_NOT_FOUND notification when tab doesn't exist - Handle WORKER_TAB_NOT_FOUND in SharedWorkerManager by calling reinitialize() Co-Authored-By: Claude Opus 4.5 * chore: bump version to 1.0.1 Co-Authored-By: Claude Opus 4.5 * chore: update settings.local.json to add new Bash commands - Added "Bash(gh pr view:*)" and "Bash(gh pr edit:*)" to the list of available commands for enhanced functionality. * chore: bump version to 1.0.2 Co-Authored-By: Claude Sonnet 4.5 --------- Co-authored-by: 刘勇杰 Co-authored-by: Claude Opus 4.5 --- .claude/settings.local.json | 4 +++- CHANGELOG.md | 9 +++++++++ src/MessageSocket.ts | 4 ++-- src/SharedWorkerManager.ts | 1 - 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index a0a981d..72f0e8c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -36,7 +36,9 @@ "Bash(npm run lint:fix:*)", "Bash(pnpm unlink:*)", "Bash(pnpm link:*)", - "Bash(xxd:*)" + "Bash(xxd:*)", + "Bash(gh pr view:*)", + "Bash(gh pr edit:*)" ] } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d7ff4d..bb5db59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.2](https://github.com/beerui/dj-common/releases/tag/v1.0.2) (2026-01-21) + +### Chore + +- **日志优化**: 移除调试过程中遗留的冗余日志输出 + - 移除 MessageSocket 中的测试日志前缀 `1111111111111111111111` + - 移除 SharedWorkerManager 中的 console.log 调试语句 + - 保持日志输出的整洁性和一致性 + ## [1.0.1](https://github.com/beerui/dj-common/releases/tag/v1.0.1) (2026-01-17) ### Bug Fixes diff --git a/src/MessageSocket.ts b/src/MessageSocket.ts index da0bacd..e2aa380 100644 --- a/src/MessageSocket.ts +++ b/src/MessageSocket.ts @@ -135,14 +135,14 @@ export class MessageSocket { if (!isVisible) { // 页面不可见时断开连接,避免多标签页重复连接 - MessageSocket.logger.info('[MessageSocket1111111111111111111111] 页面不可见,断开连接') + MessageSocket.logger.info('[MessageSocket] 页面不可见,断开连接') if (MessageSocket.client) { MessageSocket.client.disconnect() } } else { // 页面可见时重新连接 if (MessageSocket.currentUserId && MessageSocket.currentToken) { - MessageSocket.logger.info('[MessageSocket1111111111111111111111] 页面可见,尝试重新连接') + MessageSocket.logger.info('[MessageSocket] 页面可见,尝试重新连接') // 检查是否已经有活跃连接 if (!MessageSocket.client || !MessageSocket.client.isConnected()) { MessageSocket.start({ diff --git a/src/SharedWorkerManager.ts b/src/SharedWorkerManager.ts index 0a3af96..d0907a8 100644 --- a/src/SharedWorkerManager.ts +++ b/src/SharedWorkerManager.ts @@ -464,7 +464,6 @@ export class SharedWorkerManager { const payload = message.payload as ServerMessagePayload // 用 console.log 确保即使 logLevel 较高也能看到 - console.log('[SharedWorkerManager] 📨 收到服务器消息(经 Worker 转发):', payload?.message) this.logger.info('[SharedWorkerManager] 📨 收到服务器消息(经 Worker 转发)', payload?.message) this.logger.debug('[SharedWorkerManager] 🧾 原始消息 data:', payload?.data) } catch (error) {