Unify import-time CSS injection and reorganize shared frontend modules - #273
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (85)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
📝 WalkthroughWalkthrough本次变更重组图片编辑器本地化键和前端模块路径,统一多个组件的样式注入时机,调整本地化加载逻辑,并批量新增或更新 Windows Changes前端资源重组与目录元数据清理
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 85 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/ISSUE_TEMPLATE/desktop.ini:
- Line 2: Replace the hard-coded C:\WINDOWS prefix in IconResource for
.github/ISSUE_TEMPLATE/desktop.ini:2, .github/actions/desktop.ini:2,
.github/actions/fount-ci/desktop.ini:2,
src/public/pages/scripts/api/desktop.ini:2,
src/public/pages/scripts/api/p2p/desktop.ini:2,
src/public/pages/scripts/components/desktop.ini:2,
src/public/pages/scripts/components/imageEditor/desktop.ini:2,
src/public/pages/scripts/features/desktop.ini:2,
src/public/pages/scripts/features/emoji/desktop.ini:2,
src/public/pages/scripts/features/markdown/desktop.ini:2, and
src/public/pages/scripts/features/templates/desktop.ini:2 with the %SystemRoot%
environment-variable path while preserving each existing shell icon index.
In `@src/public/locales/vi-VN.json`:
- Line 5616: Update the Vietnamese locale’s image button translation under the
"image" key from "biên tập" to "Chỉnh sửa", preserving the existing locale
structure.
In `@src/public/pages/scripts/components/imageEditor/imageEditor.css`:
- Around line 1-25: 将 imageEditor/index.mjs 中 image editor 模板使用的
image-editor-box、image-editor-toolbar 和 image-editor-canvas-wrap 相关布局改为复用现有
DaisyUI/组件 utility class,并删除 imageEditor.css 中可替代的对应规则及其样式注入代码;仅保留现有组件类无法表达的
canvas 专属样式。
In `@src/public/pages/scripts/components/imageEditor/index.mjs`:
- Around line 19-26: Remove the one-use aliases titleI18n, cropI18n, mosaicI18n,
brushI18n, brushColorI18n, brushSizeI18n, cancelI18n, and applyI18n in the image
editor setup, and inline each corresponding escapeHtml(labels.* || fallback)
expression at its template usage. Do not introduce replacement temporary
bindings.
In `@src/public/pages/scripts/components/POWcaptcha.mjs`:
- Around line 39-56: Inline the one-off style element construction by removing
the temporary style bindings and passing
Object.assign(document.createElement('style'), { textContent: ... }) directly to
document.head.prepend(...) in
src/public/pages/scripts/components/POWcaptcha.mjs#L39-L56,
src/public/pages/scripts/components/search.mjs#L302-L310,
src/public/pages/scripts/features/contentReveal.mjs#L80-L139,
src/public/pages/scripts/features/toast.mjs#L173-L192, and
src/public/pages/scripts/lib/infiniteScroll.mjs#L4-L16; preserve each
stylesheet’s existing text content and insertion behavior.
In `@src/public/parts/shells/social/public/src/mediaRender.mjs`:
- Line 215: Remove the unused editI18n/editLabel override path from
renderMediaPreview, including the default fallback branch and corresponding
documentation option, while keeping the edit dataset value fixed to
util.imageEditor.image and the interface documentation consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: b3e88cbb-902e-45a3-b257-249d7d45109b
📒 Files selected for processing (94)
.coderabbit.yaml.github/ISSUE_TEMPLATE/desktop.ini.github/actions/desktop.ini.github/actions/fount-ci/desktop.ini.github/pages/badges/desktop.ini.github/pages/desktop.ini.github/pages/login_info/desktop.ini.github/pages/protocol/desktop.ini.github/pages/readme/desktop.ini.github/pages/scripts/desktop.ini.github/pages/test/desktop.ini.github/pages/test/frontend/desktop.ini.github/pages/values_update/desktop.ini.github/pages/wait/desktop.ini.github/pages/wait/install/desktop.ini.github/pages/wait/install/error/desktop.ini.github/pages/wait/install/templates/desktop.ini.github/workflows/default_data/desktop.ini.github/workflows/desktop.ini.github/workflows/scripts/desktop.iniimgs/icon_anime/desktop.iniimgs/icon_anime/fluid/desktop.iniimgs/icon_anime/gesture/desktop.iniimgs/icon_anime/test/desktop.inisrc/decl/locale_data.tssrc/public/locales/ar-SA.jsonsrc/public/locales/de-DE.jsonsrc/public/locales/emoji.jsonsrc/public/locales/en-UK.jsonsrc/public/locales/es-ES.jsonsrc/public/locales/fr-FR.jsonsrc/public/locales/hi-IN.jsonsrc/public/locales/is-IS.jsonsrc/public/locales/it-IT.jsonsrc/public/locales/ja-JP.jsonsrc/public/locales/ko-KR.jsonsrc/public/locales/lzh.jsonsrc/public/locales/nl-NL.jsonsrc/public/locales/pt-PT.jsonsrc/public/locales/ru-RU.jsonsrc/public/locales/uk-UA.jsonsrc/public/locales/vi-VN.jsonsrc/public/locales/zh-CN.jsonsrc/public/locales/zh-TW.jsonsrc/public/pages/AGENTS.mdsrc/public/pages/log_viewer/repl/desktop.inisrc/public/pages/scripts/api/desktop.inisrc/public/pages/scripts/api/p2p/desktop.inisrc/public/pages/scripts/components/POWcaptcha.mjssrc/public/pages/scripts/components/desktop.inisrc/public/pages/scripts/components/emojiPackPreview.mjssrc/public/pages/scripts/components/emojiPicker.mjssrc/public/pages/scripts/components/imageEditor/desktop.inisrc/public/pages/scripts/components/imageEditor/imageEditor.csssrc/public/pages/scripts/components/imageEditor/index.mjssrc/public/pages/scripts/components/search.mjssrc/public/pages/scripts/features/contentReveal.mjssrc/public/pages/scripts/features/contentReveal/contentReveal.csssrc/public/pages/scripts/features/desktop.inisrc/public/pages/scripts/features/embedCard.mjssrc/public/pages/scripts/features/emoji/desktop.inisrc/public/pages/scripts/features/markdown/desktop.inisrc/public/pages/scripts/features/templates/desktop.inisrc/public/pages/scripts/features/toast.mjssrc/public/pages/scripts/host/desktop.inisrc/public/pages/scripts/i18n/desktop.inisrc/public/pages/scripts/lib/desktop.inisrc/public/pages/scripts/lib/infiniteScroll.mjssrc/public/pages/scripts/test/desktop.inisrc/public/pages/scripts/theme/desktop.inisrc/public/parts/ImportHandlers/fount/desktop.inisrc/public/parts/shells/chat/public/hub/inboxView.mjssrc/public/parts/shells/chat/public/hub/messages/render/index.mjssrc/public/parts/shells/chat/public/src/composerAttachments.mjssrc/public/parts/shells/social/public/src/composerState.mjssrc/public/parts/shells/social/public/src/init.mjssrc/public/parts/shells/social/public/src/lib/feedThreads.mjssrc/public/parts/shells/social/public/src/mediaRender.mjssrc/public/parts/shells/social/public/src/postCard.mjssrc/public/parts/shells/social/public/src/views/feed.mjssrc/public/parts/shells/social/public/src/views/notifications.mjssrc/public/parts/shells/social/public/src/views/profile.mjssrc/public/parts/shells/social/public/src/views/search.mjssrc/public/parts/shells/social/public/src/views/topic.mjssrc/public/parts/shells/social/public/ui-details.mdsrc/public/parts/shells/social/test/manifest.jsonsrc/runner/dev_env_setup/desktop.inisrc/server/auth/desktop.inisrc/server/p2p_server/desktop.inisrc/server/test/live/desktop.inisrc/server/test/live/static_scripts.test.mjssrc/server/test/pure/desktop.inisrc/server/web_server/log_service/desktop.inisrc/server/web_server/notify/desktop.ini
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
steve02081504/fount-p2p(manual)
💤 Files with no reviewable changes (1)
- src/public/pages/scripts/features/contentReveal/contentReveal.css
| const titleI18n = escapeHtml(labels.titleI18n || 'util.imageEditor.image') | ||
| const cropI18n = escapeHtml(labels.cropI18n || 'util.imageEditor.crop') | ||
| const mosaicI18n = escapeHtml(labels.mosaicI18n || 'util.imageEditor.mosaic') | ||
| const brushI18n = escapeHtml(labels.brushI18n || 'util.imageEditor.brush') | ||
| const brushColorI18n = escapeHtml(labels.brushColorI18n || 'util.imageEditor.brushColor') | ||
| const brushSizeI18n = escapeHtml(labels.brushSizeI18n || 'util.imageEditor.brushSize') | ||
| const cancelI18n = escapeHtml(labels.cancelI18n || 'util.common.cancel') | ||
| const applyI18n = escapeHtml(labels.applyI18n || 'util.imageEditor.apply') |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
合并一次性文案绑定。
titleI18n 到 applyI18n 每个只在模板中使用一次。不要为每个键创建别名。直接内联 escapeHtml(...),或定义一个复用的 i18nKey(value, fallback) helper。
依据编码规范和路径指令:禁止只用一次的临时绑定,优先直接内联。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/public/pages/scripts/components/imageEditor/index.mjs` around lines 19 -
26, Remove the one-use aliases titleI18n, cropI18n, mosaicI18n, brushI18n,
brushColorI18n, brushSizeI18n, cancelI18n, and applyI18n in the image editor
setup, and inline each corresponding escapeHtml(labels.* || fallback) expression
at its template usage. Do not introduce replacement temporary bindings.
Sources: Coding guidelines, Path instructions
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/ISSUE_TEMPLATE/desktop.ini:
- Line 2: Replace the hard-coded C:\WINDOWS prefix in IconResource for
.github/ISSUE_TEMPLATE/desktop.ini:2, .github/actions/desktop.ini:2,
.github/actions/fount-ci/desktop.ini:2,
src/public/pages/scripts/api/desktop.ini:2,
src/public/pages/scripts/api/p2p/desktop.ini:2,
src/public/pages/scripts/components/desktop.ini:2,
src/public/pages/scripts/components/imageEditor/desktop.ini:2,
src/public/pages/scripts/features/desktop.ini:2,
src/public/pages/scripts/features/emoji/desktop.ini:2,
src/public/pages/scripts/features/markdown/desktop.ini:2, and
src/public/pages/scripts/features/templates/desktop.ini:2 with the %SystemRoot%
environment-variable path while preserving each existing shell icon index.
In `@src/public/locales/vi-VN.json`:
- Line 5616: Update the Vietnamese locale’s image button translation under the
"image" key from "biên tập" to "Chỉnh sửa", preserving the existing locale
structure.
In `@src/public/pages/scripts/components/imageEditor/imageEditor.css`:
- Around line 1-25: 将 imageEditor/index.mjs 中 image editor 模板使用的
image-editor-box、image-editor-toolbar 和 image-editor-canvas-wrap 相关布局改为复用现有
DaisyUI/组件 utility class,并删除 imageEditor.css 中可替代的对应规则及其样式注入代码;仅保留现有组件类无法表达的
canvas 专属样式。
In `@src/public/pages/scripts/components/imageEditor/index.mjs`:
- Around line 19-26: Remove the one-use aliases titleI18n, cropI18n, mosaicI18n,
brushI18n, brushColorI18n, brushSizeI18n, cancelI18n, and applyI18n in the image
editor setup, and inline each corresponding escapeHtml(labels.* || fallback)
expression at its template usage. Do not introduce replacement temporary
bindings.
In `@src/public/pages/scripts/components/POWcaptcha.mjs`:
- Around line 39-56: Inline the one-off style element construction by removing
the temporary style bindings and passing
Object.assign(document.createElement('style'), { textContent: ... }) directly to
document.head.prepend(...) in
src/public/pages/scripts/components/POWcaptcha.mjs#L39-L56,
src/public/pages/scripts/components/search.mjs#L302-L310,
src/public/pages/scripts/features/contentReveal.mjs#L80-L139,
src/public/pages/scripts/features/toast.mjs#L173-L192, and
src/public/pages/scripts/lib/infiniteScroll.mjs#L4-L16; preserve each
stylesheet’s existing text content and insertion behavior.
In `@src/public/parts/shells/social/public/src/mediaRender.mjs`:
- Line 215: Remove the unused editI18n/editLabel override path from
renderMediaPreview, including the default fallback branch and corresponding
documentation option, while keeping the edit dataset value fixed to
util.imageEditor.image and the interface documentation consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: b3e88cbb-902e-45a3-b257-249d7d45109b
📒 Files selected for processing (94)
.coderabbit.yaml.github/ISSUE_TEMPLATE/desktop.ini.github/actions/desktop.ini.github/actions/fount-ci/desktop.ini.github/pages/badges/desktop.ini.github/pages/desktop.ini.github/pages/login_info/desktop.ini.github/pages/protocol/desktop.ini.github/pages/readme/desktop.ini.github/pages/scripts/desktop.ini.github/pages/test/desktop.ini.github/pages/test/frontend/desktop.ini.github/pages/values_update/desktop.ini.github/pages/wait/desktop.ini.github/pages/wait/install/desktop.ini.github/pages/wait/install/error/desktop.ini.github/pages/wait/install/templates/desktop.ini.github/workflows/default_data/desktop.ini.github/workflows/desktop.ini.github/workflows/scripts/desktop.iniimgs/icon_anime/desktop.iniimgs/icon_anime/fluid/desktop.iniimgs/icon_anime/gesture/desktop.iniimgs/icon_anime/test/desktop.inisrc/decl/locale_data.tssrc/public/locales/ar-SA.jsonsrc/public/locales/de-DE.jsonsrc/public/locales/emoji.jsonsrc/public/locales/en-UK.jsonsrc/public/locales/es-ES.jsonsrc/public/locales/fr-FR.jsonsrc/public/locales/hi-IN.jsonsrc/public/locales/is-IS.jsonsrc/public/locales/it-IT.jsonsrc/public/locales/ja-JP.jsonsrc/public/locales/ko-KR.jsonsrc/public/locales/lzh.jsonsrc/public/locales/nl-NL.jsonsrc/public/locales/pt-PT.jsonsrc/public/locales/ru-RU.jsonsrc/public/locales/uk-UA.jsonsrc/public/locales/vi-VN.jsonsrc/public/locales/zh-CN.jsonsrc/public/locales/zh-TW.jsonsrc/public/pages/AGENTS.mdsrc/public/pages/log_viewer/repl/desktop.inisrc/public/pages/scripts/api/desktop.inisrc/public/pages/scripts/api/p2p/desktop.inisrc/public/pages/scripts/components/POWcaptcha.mjssrc/public/pages/scripts/components/desktop.inisrc/public/pages/scripts/components/emojiPackPreview.mjssrc/public/pages/scripts/components/emojiPicker.mjssrc/public/pages/scripts/components/imageEditor/desktop.inisrc/public/pages/scripts/components/imageEditor/imageEditor.csssrc/public/pages/scripts/components/imageEditor/index.mjssrc/public/pages/scripts/components/search.mjssrc/public/pages/scripts/features/contentReveal.mjssrc/public/pages/scripts/features/contentReveal/contentReveal.csssrc/public/pages/scripts/features/desktop.inisrc/public/pages/scripts/features/embedCard.mjssrc/public/pages/scripts/features/emoji/desktop.inisrc/public/pages/scripts/features/markdown/desktop.inisrc/public/pages/scripts/features/templates/desktop.inisrc/public/pages/scripts/features/toast.mjssrc/public/pages/scripts/host/desktop.inisrc/public/pages/scripts/i18n/desktop.inisrc/public/pages/scripts/lib/desktop.inisrc/public/pages/scripts/lib/infiniteScroll.mjssrc/public/pages/scripts/test/desktop.inisrc/public/pages/scripts/theme/desktop.inisrc/public/parts/ImportHandlers/fount/desktop.inisrc/public/parts/shells/chat/public/hub/inboxView.mjssrc/public/parts/shells/chat/public/hub/messages/render/index.mjssrc/public/parts/shells/chat/public/src/composerAttachments.mjssrc/public/parts/shells/social/public/src/composerState.mjssrc/public/parts/shells/social/public/src/init.mjssrc/public/parts/shells/social/public/src/lib/feedThreads.mjssrc/public/parts/shells/social/public/src/mediaRender.mjssrc/public/parts/shells/social/public/src/postCard.mjssrc/public/parts/shells/social/public/src/views/feed.mjssrc/public/parts/shells/social/public/src/views/notifications.mjssrc/public/parts/shells/social/public/src/views/profile.mjssrc/public/parts/shells/social/public/src/views/search.mjssrc/public/parts/shells/social/public/src/views/topic.mjssrc/public/parts/shells/social/public/ui-details.mdsrc/public/parts/shells/social/test/manifest.jsonsrc/runner/dev_env_setup/desktop.inisrc/server/auth/desktop.inisrc/server/p2p_server/desktop.inisrc/server/test/live/desktop.inisrc/server/test/live/static_scripts.test.mjssrc/server/test/pure/desktop.inisrc/server/web_server/log_service/desktop.inisrc/server/web_server/notify/desktop.ini
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
steve02081504/fount-p2p(manual)
💤 Files with no reviewable changes (1)
- src/public/pages/scripts/features/contentReveal/contentReveal.css
🛑 Comments failed to post (1)
src/public/pages/scripts/components/imageEditor/imageEditor.css (1)
1-25: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win
删除这组平行布局 CSS。
这些规则只表达通用 utility 能力。把 class 直接写入
src/public/pages/scripts/components/imageEditor/index.mjs的模板(Line [28] 至 Line [38]),然后删除本文件和对应的样式注入代码。只保留无法由现有组件类表达的规则。依据 CSS 规范和路径指令:优先复用 DaisyUI/现有组件类,能删则删。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/public/pages/scripts/components/imageEditor/imageEditor.css` around lines 1 - 25, 将 imageEditor/index.mjs 中 image editor 模板使用的 image-editor-box、image-editor-toolbar 和 image-editor-canvas-wrap 相关布局改为复用现有 DaisyUI/组件 utility class,并删除 imageEditor.css 中可替代的对应规则及其样式注入代码;仅保留现有组件类无法表达的 canvas 专属样式。Sources: Coding guidelines, Path instructions
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.esh/desktop.ini:
- Line 2: Update IconResource in .esh/desktop.ini:2,
.github/ISSUE_TEMPLATE/desktop.ini:2, .github/actions/desktop.ini:2,
.github/actions/fount-ci/desktop.ini:2,
src/public/pages/preloadrunner/desktop.ini:2,
src/public/pages/protocolhandler/desktop.ini:2,
src/public/pages/scripts/api/desktop.ini:2,
src/public/pages/scripts/api/p2p/desktop.ini:2,
src/public/pages/scripts/components/desktop.ini:2,
src/public/pages/scripts/features/desktop.ini:2, and
src/public/pages/scripts/features/emoji/desktop.ini:2 to use
%SystemRoot%\System32\SHELL32.dll while preserving each file’s existing resource
index.
In @.github/desktop.ini:
- Line 2: Update the IconResource path in all ten desktop.ini files:
.github/desktop.ini (line 2), .github/pages/badges/desktop.ini (line 2),
.github/pages/desktop.ini (line 2), .github/pages/login_info/desktop.ini (line
2), .github/pages/protocol/desktop.ini (line 2),
src/public/pages/scripts/features/markdown/desktop.ini (line 2),
src/public/pages/scripts/features/templates/desktop.ini (line 2),
src/public/pages/scripts/host/desktop.ini (line 2),
src/public/pages/scripts/i18n/desktop.ini (line 2), and
src/public/pages/scripts/lib/desktop.ini (line 2); insert System32 between
%SystemRoot% and SHELL32.dll while preserving each file’s existing icon index.
In `@src/desktop.ini`:
- Line 2: 统一更新各 desktop.ini 的 IconResource 路径,将系统文件位置从 %SystemRoot% 根目录改为
%SystemRoot%\System32,并保留现有 DLL/EXE 文件名及图标索引:src/desktop.ini#L2-L2 使用
SHELL32.dll,72;src/log_viewer/desktop.ini#L2-L2 使用
cmd.exe,0;src/public/desktop.ini#L2-L2 使用
SHELL32.dll,148;src/public/locales/desktop.ini#L2-L2 使用
SHELL32.dll,14;src/public/pages/.well-known/desktop.ini#L2-L2 使用
SHELL32.dll,130;src/public/pages/404/desktop.ini#L2-L2 使用
SHELL32.dll,50;src/public/pages/desktop.ini#L2-L2 使用
SHELL32.dll,189;src/public/pages/directory-listing/desktop.ini#L2-L2 使用
SHELL32.dll,270;src/public/pages/log_viewer/desktop.ini#L2-L2 和
src/public/pages/log_viewer/repl/desktop.ini#L2-L2 使用
cmd.exe,0;src/public/pages/login/desktop.ini#L2-L2 使用 SHELL32.dll,166。
In `@src/public/parts/plugins/desktop.ini`:
- Line 2: 统一更新所有 desktop.ini 的 IconResource 路径,补上 System32
并保留现有图标索引:src/public/parts/plugins/desktop.ini#L2-L2 使用索引
26;.github/pages/wait/desktop.ini#L2-L2 使用
297;.github/pages/wait/install/desktop.ini#L2-L2 使用
122;.github/pages/wait/install/error/desktop.ini#L2-L2 使用
235;.github/pages/wait/install/templates/desktop.ini#L2-L2 使用
189;.github/workflows/default_data/desktop.ini#L2-L2 使用
132;src/public/parts/serviceGenerators/AI/desktop.ini#L2-L2 使用
225;src/public/parts/serviceGenerators/desktop.ini#L2-L2 使用
14;src/public/parts/serviceGenerators/search/desktop.ini#L2-L2 使用
22;src/public/parts/serviceGenerators/translate/desktop.ini#L2-L2 使用
73;src/public/parts/serviceSources/desktop.ini#L2-L2 使用 15。
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 4aeb0661-13fe-43e6-a3da-65f69ab45e58
📒 Files selected for processing (98)
.esh/desktop.ini.github/ISSUE_TEMPLATE/desktop.ini.github/actions/desktop.ini.github/actions/fount-ci/desktop.ini.github/desktop.ini.github/pages/badges/desktop.ini.github/pages/desktop.ini.github/pages/login_info/desktop.ini.github/pages/protocol/desktop.ini.github/pages/readme/desktop.ini.github/pages/scripts/desktop.ini.github/pages/test/desktop.ini.github/pages/test/frontend/desktop.ini.github/pages/values_update/desktop.ini.github/pages/wait/desktop.ini.github/pages/wait/install/desktop.ini.github/pages/wait/install/error/desktop.ini.github/pages/wait/install/templates/desktop.ini.github/workflows/default_data/desktop.ini.github/workflows/desktop.ini.github/workflows/scripts/desktop.ini.vscode/desktop.inidefault/default_desktop.inidefault/desktop.inidefault/git_desktop.inidefault/node_modules_desktop.inidocs/desktop.iniimgs/desktop.iniimgs/icon_anime/desktop.iniimgs/icon_anime/fluid/desktop.iniimgs/icon_anime/gesture/desktop.iniimgs/icon_anime/test/desktop.inipath/desktop.inisrc/decl/desktop.inisrc/desktop.inisrc/log_viewer/desktop.inisrc/public/desktop.inisrc/public/locales/desktop.inisrc/public/locales/vi-VN.jsonsrc/public/pages/.well-known/desktop.inisrc/public/pages/404/desktop.inisrc/public/pages/AGENTS.mdsrc/public/pages/desktop.inisrc/public/pages/directory-listing/desktop.inisrc/public/pages/log_viewer/desktop.inisrc/public/pages/log_viewer/repl/desktop.inisrc/public/pages/login/desktop.inisrc/public/pages/preloadrunner/desktop.inisrc/public/pages/protocolhandler/desktop.inisrc/public/pages/scripts/api/desktop.inisrc/public/pages/scripts/api/p2p/desktop.inisrc/public/pages/scripts/components/POWcaptcha.mjssrc/public/pages/scripts/components/desktop.inisrc/public/pages/scripts/components/imageEditor.mjssrc/public/pages/scripts/components/search.mjssrc/public/pages/scripts/desktop.inisrc/public/pages/scripts/features/contentReveal.mjssrc/public/pages/scripts/features/desktop.inisrc/public/pages/scripts/features/emoji/desktop.inisrc/public/pages/scripts/features/markdown/desktop.inisrc/public/pages/scripts/features/templates/desktop.inisrc/public/pages/scripts/features/toast.mjssrc/public/pages/scripts/host/desktop.inisrc/public/pages/scripts/i18n/desktop.inisrc/public/pages/scripts/lib/desktop.inisrc/public/pages/scripts/lib/infiniteScroll.mjssrc/public/pages/scripts/test/desktop.inisrc/public/pages/scripts/theme/desktop.inisrc/public/parts/ImportHandlers/desktop.inisrc/public/parts/chars/desktop.inisrc/public/parts/desktop.inisrc/public/parts/personas/desktop.inisrc/public/parts/plugins/desktop.inisrc/public/parts/serviceGenerators/AI/desktop.inisrc/public/parts/serviceGenerators/desktop.inisrc/public/parts/serviceGenerators/search/desktop.inisrc/public/parts/serviceGenerators/translate/desktop.inisrc/public/parts/serviceSources/desktop.inisrc/public/parts/shells/chat/public/src/composerAttachments.mjssrc/public/parts/shells/desktop.inisrc/public/parts/shells/social/public/src/composerState.mjssrc/public/parts/shells/social/public/src/mediaRender.mjssrc/public/parts/worlds/desktop.inisrc/runner/desktop.inisrc/runner/dev_env_setup/desktop.inisrc/runner/polyglot/desktop.inisrc/scripts/desktop.inisrc/server/auth/desktop.inisrc/server/desktop.inisrc/server/ipc_server/desktop.inisrc/server/p2p_server/desktop.inisrc/server/test/desktop.inisrc/server/test/live/desktop.inisrc/server/test/pure/desktop.inisrc/server/web_server/desktop.inisrc/server/web_server/log_service/desktop.inisrc/server/web_server/notify/desktop.inisrc/workers/desktop.ini
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
steve02081504/fount-p2p(manual)
| @@ -1,5 +1,5 @@ | |||
| [.ShellClassInfo] | |||
| IconResource=C:\WINDOWS\System32\SHELL32.dll,72 | |||
| IconResource=%SystemRoot%\SHELL32.dll,72 | |||
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
统一修正 IconResource 路径。
当前路径把系统文件放在 %SystemRoot% 根目录。标准位置是 %SystemRoot%\System32。否则 Windows 可能无法加载这些文件夹图标。
src/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,72。src/log_viewer/desktop.ini#L2-L2: 使用%SystemRoot%\System32\cmd.exe,0。src/public/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,148。src/public/locales/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,14。src/public/pages/.well-known/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,130。src/public/pages/404/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,50。src/public/pages/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,189。src/public/pages/directory-listing/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,270。src/public/pages/log_viewer/desktop.ini#L2-L2: 使用%SystemRoot%\System32\cmd.exe,0。src/public/pages/log_viewer/repl/desktop.ini#L2-L2: 使用%SystemRoot%\System32\cmd.exe,0。src/public/pages/login/desktop.ini#L2-L2: 使用%SystemRoot%\System32\SHELL32.dll,166。
建议修复
-IconResource=%SystemRoot%\SHELL32.dll,<index>
+IconResource=%SystemRoot%\System32\SHELL32.dll,<index>
-IconResource=%SystemRoot%\cmd.exe,0
+IconResource=%SystemRoot%\System32\cmd.exe,0📍 Affects 11 files
src/desktop.ini#L2-L2(this comment)src/log_viewer/desktop.ini#L2-L2src/public/desktop.ini#L2-L2src/public/locales/desktop.ini#L2-L2src/public/pages/.well-known/desktop.ini#L2-L2src/public/pages/404/desktop.ini#L2-L2src/public/pages/desktop.ini#L2-L2src/public/pages/directory-listing/desktop.ini#L2-L2src/public/pages/log_viewer/desktop.ini#L2-L2src/public/pages/log_viewer/repl/desktop.ini#L2-L2src/public/pages/login/desktop.ini#L2-L2
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/desktop.ini` at line 2, 统一更新各 desktop.ini 的 IconResource 路径,将系统文件位置从
%SystemRoot% 根目录改为 %SystemRoot%\System32,并保留现有 DLL/EXE
文件名及图标索引:src/desktop.ini#L2-L2 使用
SHELL32.dll,72;src/log_viewer/desktop.ini#L2-L2 使用
cmd.exe,0;src/public/desktop.ini#L2-L2 使用
SHELL32.dll,148;src/public/locales/desktop.ini#L2-L2 使用
SHELL32.dll,14;src/public/pages/.well-known/desktop.ini#L2-L2 使用
SHELL32.dll,130;src/public/pages/404/desktop.ini#L2-L2 使用
SHELL32.dll,50;src/public/pages/desktop.ini#L2-L2 使用
SHELL32.dll,189;src/public/pages/directory-listing/desktop.ini#L2-L2 使用
SHELL32.dll,270;src/public/pages/log_viewer/desktop.ini#L2-L2 和
src/public/pages/log_viewer/repl/desktop.ini#L2-L2 使用
cmd.exe,0;src/public/pages/login/desktop.ini#L2-L2 使用 SHELL32.dll,166。
Summary
document.head.prependinstead of lazyensure*helpers (emoji picker/preview, embed card, content reveal, image editor, POW captcha, toast, search, infinite scroll).imageEditorundercomponents/, flattencontentRevealinto a single module with inlined styles, and relocateinfiniteScrolltolib/; update chat/social import paths and static script tests.social.composer.edit.*toutil.imageEditor.*across locales; fix image-editor modal heading (h3→h2).pages/AGENTS.md; excludedesktop.inifrom CodeRabbit reviews.Test plan
fount test --no-parallel(especiallystatic_scriptsand social shell tests)统一前端组件的 CSS 注入方式:模块导入时使用
document.head.prepend,移除运行时ensure*样式加载逻辑。组件首次使用即可获得样式,但模块导入副作用增加,CSS 管理也更依赖加载顺序。重组共享模块路径:图片编辑器移至
components/,无限滚动移至lib/,contentReveal扁平化,并同步更新导入和静态脚本测试。图片编辑器翻译统一到util.imageEditor.*,弹窗标题改为h2。新增 CSS 注入规范文档,并调整
fount.sh的本地化数据读取逻辑。大量desktop.ini属于无关的 Windows 元数据噪声,虽已排除审查,但仍污染仓库变更,削弱审查信噪比。