Commit Graph

206 Commits

Author SHA1 Message Date
dae6210239
feat: 先重新手撸了一个无缝播放
如果用户调整了播放进度,需要重新调度音乐播放;同时,上一首下一首等也要看怎么办
在网页上搞这种东西真的很大脑发光……
2025-08-22 11:40:59 +10:00
488854f46b
feat: 再重构
手作代码,从零重写,真正的犟人精神
2025-08-22 11:14:17 +10:00
197fb4011d
feat: 无缝切歌 2025-08-21 16:32:35 +10:00
61a99975b2
feat: 跳转至下一首功能 2025-08-21 11:30:35 +10:00
024a84b2eb
mod: 调整迷你播放器
暂时还没有暂停播放和其他控制
2025-08-19 17:11:57 +10:00
0435644ace
add: 向浏览器和操作系统报告音频元数据 2025-08-19 17:03:57 +10:00
c2ffb57085
refactor: 使用新的音频挂载逻辑 2025-08-19 16:48:43 +10:00
35f7332bff
lint: format 2025-08-19 13:30:12 +10:00
60740274b7
refactor: replace console statements with debug instances
- Replace all console.log/error/warn statements with appropriate debug instances
- Add debug utils with modular debug instances for different components
- Use debugUI for UI components (pages and components)
- Use debugStore for store files
- Use debugUtils for utility functions
- Use debugPlayroom for Playroom specific debugging
- Use debugLyrics for lyrics-related debugging
- Use debugVisualizer for audio visualization debugging
- Use debugResource for resource checking debugging
- Maintain original message content with Chinese descriptions
- Preserve Tab indentation throughout all files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 13:24:39 +10:00
210700bc0d
chore: 重构播放列表 2025-08-19 13:07:41 +10:00
a139d1278a
add: fundamental of mini player ui 2025-07-09 16:51:11 +10:00
c57d7bc42d add: 更新日志面板添加文本
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 54s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 58s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
构建扩展程序 / 构建 Safari 扩展程序 (push) Has been cancelled
2025-06-25 13:20:24 +10:00
dd500b75e4 update: 更新版本号 2025-06-25 13:19:54 +10:00
d8b284d54e feat: 更新偏好设置面板的反馈渠道信息
Some checks are pending
构建扩展程序 / 构建 Safari 扩展程序 (push) Waiting to run
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m6s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 51s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
- 更新 GitHub 仓库链接描述,明确提及 Issue 功能
- 新增 Discord 社群链接,提供额外的交流和反馈渠道
- 新增 Trello 看板链接,让用户了解开发进度

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 13:12:29 +10:00
afe21c0cf6 fix: 修复 Windows 和其他系统中偏好设置面板滚动条显示异常
将 overflow-scroll 更改为 overflow-y-auto 以确保在不同操作系统中
滚动条的一致性显示,避免在 Windows 等系统中出现横向滚动条。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 13:11:34 +10:00
db881da671 feat: 重构更新弹窗为智能版本检测系统
Some checks are pending
构建扩展程序 / 构建 Safari 扩展程序 (push) Waiting to run
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m7s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 58s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
- 重命名 updated.vue 为 UpdatePopup.vue
- 新增 useUpdatePopup store 进行版本检测和存储管理
- 实现基于版本变化的智能弹窗显示逻辑
- 支持 Chrome storage API 和 localStorage 双重存储方案
- 添加弹窗关闭后的状态记录,避免重复显示
- 更新 App.vue 中的组件引用

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 12:56:59 +10:00
c0e26c0c80 feat: 更新弹窗添加 Safari 兼容性说明
- 添加 select-none 防止文本选择
- 更新说明内容,增加 Safari 兼容性支持描述

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 12:07:13 +10:00
195f3eced9 Merge branch 'dev' into feature/updated-popup 2025-06-25 12:05:07 +10:00
c262149d51 feat: 添加更新弹窗组件
- 在 App.vue 中引入并使用 Updated 组件
- 新增 src/components/updated.vue 组件文件

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 12:02:36 +10:00
38f37bba08
fix: 移除未使用的 props 变量声明
All checks were successful
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m15s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 1m30s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Successful in 57s
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Successful in 1m49s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Successful in 1m59s
修复 TypeScript 编译错误 TS6133

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:37:34 +10:00
fdd45f2c85
Merge branch 'prepare-release/v0.0.6'
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Failing after 59s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 构建 Firefox 附加组件 (push) Failing after 49s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
2025-06-06 10:31:01 +10:00
33ed04bb35
chore: 发布 v0.0.6 版本
更新 manifest.json 版本号

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:26:19 +10:00
fa8bd3d2af
fix: 修正 Safari 扩展构建的 scheme 名称
All checks were successful
构建扩展程序 / 构建 Safari 扩展程序 (push) Successful in 2m40s
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 5m37s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 2m47s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
- 使用正确的 scheme 名称 'MSR Mod (macOS)' 而不是 'MSR Mod'
- safari-web-extension-converter 生成的 scheme 包含平台标识符
2025-06-05 16:12:43 +10:00
9852d7bef4
chore: 更新 Safari 扩展的 bundle ID
Some checks failed
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
构建扩展程序 / 构建 Chrome 扩展程序 (push) Has been cancelled
构建扩展程序 / 构建 Safari 扩展程序 (push) Failing after 30s
- 将 bundle ID 从 com.astrian.msrmod 改为 moe.astrian.ext-msrmod
- 使用反向域名规范,更符合项目命名规范
2025-06-05 15:43:56 +10:00
e62ef27a10
fix: 修复 Safari 扩展构建路径问题
Some checks are pending
构建扩展程序 / 构建 Chrome 扩展程序 (push) Has started running
构建扩展程序 / 构建 Firefox 附加组件 (push) Waiting to run
构建扩展程序 / 构建 Safari 扩展程序 (push) Waiting to run
构建扩展程序 / 发布至 Chrome 应用商店 (push) Blocked by required conditions
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Blocked by required conditions
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Blocked by required conditions
- 修正 xcodebuild 命令的工作目录
- safari-web-extension-converter 会在指定目录下创建以应用名命名的子目录
2025-06-05 15:42:26 +10:00
e54361fb14
trigger CI rebuild
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 2m16s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 1m32s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
构建扩展程序 / 构建 Safari 扩展程序 (push) Failing after 1m23s
2025-06-05 12:05:40 +10:00
581d294cee
Merge branch 'feature/safari_compatibility' into dev
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Waiting to run
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
构建扩展程序 / 构建 Firefox 附加组件 (push) Waiting to run
构建扩展程序 / 构建 Safari 扩展程序 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
2025-06-05 10:54:33 +10:00
acc3af1214
feat: add Safari extension build workflow for CI/CD
Add macOS runner support for building Safari extensions including:
- Safari-specific build process with npm run build:safari
- Xcode setup and safari-web-extension-converter integration
- Native Safari extension compilation with xcodebuild
- Artifact upload for Safari extension builds

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-05 10:54:13 +10:00
1b4a8ed3b4
feat: add Safari extension support with auto-redirect functionality
Some checks failed
构建扩展程序 / 发布至 Chrome 应用商店 (push) Blocked by required conditions
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Blocked by required conditions
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Blocked by required conditions
构建扩展程序 / 构建 Chrome 扩展程序 (push) Failing after 10m58s
构建扩展程序 / 构建 Firefox 附加组件 (push) Failing after 10m50s
- Add Safari-specific prebuild script to handle background page requirements
- Create background.html wrapper for Safari's background page architecture
- Fix TypeScript compilation errors in browserDetection.ts and PlayListItem.vue
- Add preference-aware auto-redirect via content script messaging
- Support cross-platform extension building with npm run build:safari

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 23:20:48 +10:00
be15a89ad6
fix: 恢复非 Safari 浏览器的音频可视化效果
Some checks failed
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Blocked by required conditions
构建扩展程序 / 构建 Chrome 扩展程序 (push) Failing after 1m0s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 构建 Firefox 附加组件 (push) Failing after 16m24s
- 只在 Safari 浏览器上使用静态图标替代可视化
- Chrome、Firefox 等浏览器保留原有的动态可视化效果
- Player.vue 和 PlayQueueItem.vue 现在都会检测浏览器支持情况

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:31:16 +10:00
282af70b74
fix: 替换音频可视化效果为静态图标
- Player.vue: 播放状态显示暂停图标而非可视化效果
- PlayQueueItem.vue: 当前播放项显示音波图标并带脉冲动画
- 创建新的 soundwave.vue 图标用于播放指示
- 避免在不支持的浏览器上显示空白或错误

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:29:22 +10:00
b0743178ed
fix: 修复 ref 未导入的错误
- 在 Player.vue 中添加缺失的 ref 导入
- 解决 "ReferenceError: Can't find variable: ref" 错误

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:25:24 +10:00
8ee2b928f9
fix: 解决 Safari 浏览器音频播放问题
- 创建浏览器检测工具,专门检测 Safari 和音频可视化支持
- 在 Safari 浏览器上禁用 AudioContext 连接,避免播放问题
- 保持其他浏览器的音频可视化功能正常工作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:23:34 +10:00
5be5b4812f
docs: 更新 CLAUDE.md 添加代码风格和随机播放逻辑说明
- 添加项目使用 Tab 缩进的说明
- 添加随机播放模式的详细逻辑说明
- 说明 shuffleList 和 currentIndex 的关系

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:15:06 +10:00
ae2d8875ad
fix: 修复随机播放模式下预加载顺序错误的问题
- 修正 getNextIndex 在随机播放模式下返回正确的原始列表索引
- 简化预加载逻辑,因为 nextIndex 已经是正确的列表索引
- 保持 Player.vue 中更新歌曲信息时的索引计算逻辑

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:14:44 +10:00
dcf13b2f07
refactor: move resource URL refresh from favorites loading to playback/preload
Replace passive resource checking on playlist item mount with active checking
during playback and preload operations. This improves performance by reducing
unnecessary network requests and ensures resources are validated only when needed.

Changes:
- Create songResourceChecker utility for centralized resource validation
- Remove resource checking from PlayListItem component
- Add resource validation in Player component before playback
- Add resource validation in usePlayQueueStore before preload
- Maintain data consistency between play queue and favorites

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:22:39 +10:00
fcf8362a15
docs: add CLAUDE.md for future Claude Code instances
Some checks failed
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Blocked by required conditions
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m33s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 构建 Firefox 附加组件 (push) Failing after 13m10s
Create comprehensive documentation covering project architecture,
development commands, and browser extension specifics to help
future Claude Code instances work effectively in this codebase.

Includes coverage of Vue 3 + TypeScript setup, Pinia state management,
cross-browser extension building, audio preloading system, and
resource URL validation architecture.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:21:09 +10:00
612d673cbb
style: add text-xs classes to playroom time displays for consistency
Some checks failed
构建扩展程序 / 发布至 Chrome 应用商店 (push) Blocked by required conditions
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Blocked by required conditions
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Blocked by required conditions
构建扩展程序 / 构建 Chrome 扩展程序 (push) Failing after 11m32s
构建扩展程序 / 构建 Firefox 附加组件 (push) Failing after 11m28s
Ensure consistent font sizing across different browsers by applying
Tailwind's text-xs utility classes to current time, format detector,
and duration display elements in the playroom interface.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:07:38 +10:00
1c5ee95086
refactor: improve code quality in Playroom.vue
- Use Number.isNaN instead of isNaN for better type safety
- Convert anonymous function to arrow function for consistency
- Add explicit braces to single-line if statement for clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:07:19 +10:00
6461c0adac
style: add text-xs class to player title for non-Chrome browsers
Ensure consistent font size rendering across different browsers
by applying Tailwind's text-xs utility class to the song title
in the mini player component.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:03:09 +10:00
672b2d80d5
refactor: simplify currentTrack computed property in Player.vue
Remove unnecessary else clause for cleaner code structure.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:02:24 +10:00
92093ef80d
fix: resolve playroom UI state inconsistency when page loses focus
When lyrics are enabled and the page loses focus while playing a song without lyrics,
then plays a song with lyrics, returning to the page caused controller and lyrics
layout to become misaligned. Added page focus handlers to sync UI state correctly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 20:54:54 +10:00
a3d82f12ec Merge pull request 'dev' (#9) from dev into main
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 51s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 52s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Successful in 36s
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Failing after 48s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Failing after 16m2s
Reviewed-on: #9
2025-05-30 01:46:26 +00:00
ab5f021bf8
fix: update version number to 0.0.5 in manifest.json
All checks were successful
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m0s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 56s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
2025-05-30 11:45:28 +10:00
7a938bd58c
fix: add cache control headers and timestamp parameter to axios HEAD request in PlayListItem.vue 2025-05-30 11:45:15 +10:00
6f7e161c0f Merge pull request 'fix: update song information in favourites when source URL changes' (#8) from dev into main
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 54s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 55s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Successful in 34s
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Failing after 59s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Failing after 16m19s
Reviewed-on: #8
2025-05-30 00:36:01 +00:00
290a9af5e1
fix: update song information in favourites when source URL changes
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m6s
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
2025-05-30 10:35:15 +10:00
aaf58f03e1 Merge pull request 'dev' (#7) from dev into main
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 55s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 59s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Successful in 34s
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Failing after 48s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Failing after 16m4s
Reviewed-on: #7
2025-05-29 05:58:05 +00:00
bd74f3fd72
fix: update version number to 0.0.3 in manifest.json
All checks were successful
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m10s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 59s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
2025-05-29 15:56:57 +10:00
9e4b53b1e7
fix: change axios request from GET to HEAD for song source URL in PlayListItem.vue
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m3s
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
2025-05-29 15:55:38 +10:00