#### What type of PR is this?
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump rolldown-vite to [7.1.4](https://github.com/vitejs/rolldown-vite/releases/tag/v7.1.4)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Comments now support rich text format display.
Still need to:
1. Test for XSS vulnerabilities
2. Optimize content styling
3. Editor
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7671
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
评论内容支持以富文本格式显示
```
#### What type of PR is this?
/area ui
#### What this PR does / why we need it:
Bump vite related dependencies
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Add thumbnail records viewing feature. The main goal is to keep track of failed thumbnail generations, making it easier to check if thumbnails were generated correctly and retry if needed.
<img width="1009" height="859" alt="image" src="https://github.com/user-attachments/assets/d968e416-0b88-45bf-a554-a0c1abcf97a0" />
<img width="1014" height="952" alt="image" src="https://github.com/user-attachments/assets/c5d1a11b-7acc-4ab5-a2da-cf9467cb6b70" />
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
支持查看附件缩略图记录
```
#### What type of PR is this?
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump rolldown-vite version to 7.0.10
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Simplify ui scripts
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind chore
/area editor
#### What this PR does / why we need it:
升级 tiptap 至 2.24.1
#### Does this PR introduce a user-facing change?
```release-note
升级 tiptap 至 2.24.1
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump rolldown-vite to 7.0.3 to fix a styling issue causing the attachment upload component to not load styles properly.
<img width="1234" alt="image" src="https://github.com/user-attachments/assets/ce12e4f1-fa86-4164-b1ce-b279f57407c5" />
Ref https://github.com/halo-sigs/plugin-moments/issues/150#issuecomment-3016260268
#### Special notes for your reviewer:
Need to test whether the attachment upload component works properly in both development and production environments, specifically in the console and UC.
#### Does this PR introduce a user-facing change?
```release-note
修复个人中心上传组件无法正常加载样式的问题。
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Bump TailwindCSS version to 3.4
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Bump pnpm version to 10
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Bump autoprefixer to latest version to resolve caniuse-lite outdated warn.
<img width="850" alt="image" src="https://github.com/user-attachments/assets/fdddd946-0009-46a1-889e-c5968dae3f9d" />
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Upgrade Prettier and related plugins, and simplify Prettier configuration.
Now, formatting for all packages will be managed by Prettier in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Migrate to ESLint 9, use flat config file, and simplify ESLint configuration.
Now, linting for all packages will be managed by the configuration in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.21.x
#### What this PR does / why we need it:
Remove unnecessary TS checks, and support parallel building of console and uc
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Optimize the file suffixes of global dependencies by using content hashes instead of random strings. This ensures that when dependencies do not change, the output filenames remain the same after building, resulting in better cache utilization.
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 的全局依赖文件名,以获得更好的缓存利用率。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.20.x
#### What this PR does / why we need it:
Added three Node.js scripts to help manage YAML translation files:
1. `find_missing_translations.mjs`: Identifies missing translations by comparing language files with the English base file and generates _missing_translations_*.yaml files.
2. `apply_missing_translations.mjs`: Merges translated entries from missing translation files into the main language files, while preserving untranslated entries for future work.
3. `fix_translations.mjs`: Removes keys that exist in language files but not in the English base file.
Usage Example:
```
# Find missing translations
node scripts/find_missing_translations.mjs
# Apply only the translated entries
node scripts/apply_missing_translations.mjs
# Remove extra keys
node scripts/fix_translations.mjs
```
These scripts streamline the translation workflow and help maintain consistency across language files.
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.20.x
#### What this PR does / why we need it:
Bump vue related dependencies
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.20.x
#### What this PR does / why we need it:
Bump tiptap version to 2.11.x
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Bump axios version to 1.7.9
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
#### What this PR does / why we need it:
Bump vite version to [6](https://vite.dev/guide/migration.html)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
Add supports for display HTML format in API error responses
See #7115
Examples:
<img width="917" alt="image" src="https://github.com/user-attachments/assets/1ab4531c-3238-4e7d-ba24-d2425184a757">
<img width="942" alt="image" src="https://github.com/user-attachments/assets/54621b31-0629-4772-95fd-8587a7704ca3">
#### Which issue(s) this PR fixes:
Fixes#7115
#### Special notes for your reviewer:
Nginx mock example:
```nginx
server {
listen 80;
server_name localhost;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
proxy_pass http://localhost:8090;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /apis/content.halo.run/v1alpha1/posts/ {
return 403;
}
}
```
#### Does this PR introduce a user-facing change?
```release-note
支持显示来自反向代理或者 WAF 的请求错误信息
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
Inject Object.hasOwn polyfill into the front-end projects of Console and UC to solve the problem that some features cannot be used normally in lower version browsers
See https://github.com/halo-dev/halo/issues?q=is%3Aissue%20state%3Aclosed%20hasOwn
See https://caniuse.com/?search=hasOwn
#### Does this PR introduce a user-facing change?
```release-note
修复在较低版本浏览器中无法使用默认编辑器和附件上传功能的问题。
```
#### What type of PR is this?
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
升级 Tiptap 的依赖至 [2.10.x](https://github.com/ueberdosis/tiptap/releases)。
#### Does this PR introduce a user-facing change?
```release-note
升级 Tiptap 的依赖至 2.10.x。
```
#### What type of PR is this?
/area core
/kind cleanup
#### What this PR does / why we need it:
Remove unused dependencies and configuration files
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
Bump vue version to [3.5.11](https://github.com/vuejs/core/blob/main/CHANGELOG.md#3511-2024-10-03)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
升级 UI 项目的 Vue 版本至 3.5.x。
#### Does this PR introduce a user-facing change?
```release-note
升级 UI 项目的 Vue 版本至 3.5.x。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
升级 tiptap 相关依赖至 [2.6.5](https://github.com/ueberdosis/tiptap/releases/tag/v2.6.5)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
Bump vite-related dependencies
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
更新 typescript 依赖版本至 5.5.x,以尝试解决 VSCode Vue 插件频繁崩溃的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.18.x
#### What this PR does / why we need it:
升级 tiptap 的相关依赖至 2.5.7。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
重新生成 api client,移除无用的文件。并且此 PR 改进了生成的脚本,会在生成前删除旧的 api client 文件,保证不会遗留旧文件。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
#### Which issue(s) this PR fixes:
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.17.x
#### What this PR does / why we need it:
修复关于 iconify 图标包的幽灵依赖问题,某些情况下,可能导致无法正常导入模块。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/6102
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.16.x
#### What this PR does / why we need it:
回退 `@uppy/xhr-upload` 的版本至 3.6.0,因为最新版本的 `@uppy/xhr-upload` 添加了重试机制和修改了错误异常的结构,并且当前重试参数并没有体现在文档和 API 中,所以暂时先回退至 3.6.0 以解决 https://github.com/halo-dev/halo/issues/601431cc47f3fb/packages/%40uppy/utils/src/fetcher.ts (L26)
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/6014
#### Special notes for your reviewer:
需要测试:
1. 附件上传功能
2. 上传已安装的插件或者主题,观察是否有提示升级。
#### Does this PR introduce a user-facing change?
```release-note
None
```