#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
In the attachment upload modal, we previously persisted the user’s selected storage policy and group to make future uploads more convenient. However, this overlooked a common usage scenario—users often apply filters for storage policy and group in the attachment list before uploading. Persisting those previous selections could then conflict with the current filters and cause confusion. This PR removes the persistence of selected group and storage policy to avoid such mismatches.
#### Which issue(s) this PR fixes:
Fixes#7713
#### Does this PR introduce a user-facing change?
```release-note
在附件上传组件中取消所选分组和存储策略的持久化,默认选择为附件列表筛选条件相同的策略和分组。
```
#### What type of PR is this?
/kind bug
/area ui
#### What this PR does / why we need it:
目前 Select 组件使用远程接口请求数据时,如果存在分页的数据则分页请求可以超过分页数量。
此 PR 限制了分页请求的次数。
#### Does this PR introduce a user-facing change?
```release-note
解决使用 Select 组件远程请求数据时的分页问题
```
#### 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 bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix pending comments calculation in post list item
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix routing navigation issue with async route permission functions
Caused by https://github.com/halo-dev/halo/pull/7688
#### Does this PR introduce a user-facing change?
```release-note
None
```
* Add 'hidden' field to comment and reply requests
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Add support for filtering comments with hidden
* Specify hidden=false and approved=true for anonymous users
* Set default hidden flag only if null in comments
* Add 'private reply' option to comment modals
* Add private tag for hidden comments and replies
* Allow hiding comments only
* Enhance comment visibility logic to allow owners to view hidden comments
* Remove hidden input for reply form
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Refine i18n
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: John Niang <johnniang@foxmail.com>
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Support async permission checks in route menu generator
example:
```ts
{
path: "",
name: "Foo",
component: Foo,
meta: {
title: "Foo",
searchable: true,
permissions: async () => {
const { data } = await checkPermission();
return data;
},
menu: {
name: "Foo",
group: "content",
icon: markRaw(MingcuteBook2Line),
priority: 4,
mobile: false,
},
},
}
```
#### 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
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
See #7676
#### Which issue(s) this PR fixes:
Fixes#7676
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复角色修改表单中,所选权限可能出现不完整的问题。
```
#### What type of PR is this?
/area ui
/area editor
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Support transfer external assets in the editor to the attachment library. Currently, it supports individual images, videos, and audio files.
<img width="845" height="167" alt="image" src="https://github.com/user-attachments/assets/930c6207-60f5-491a-afbd-c3f75b0d76a6" />
in progress:
- [ ] Batch transferring of all external assets.
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2335
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
支持转存编辑器中的外部资源到附件库
```
#### What type of PR is this?
/kind bug
/area editor
#### What this PR does / why we need it:
将粘贴图片上传的选项,改为仅支持单个文件,此举可以解决会将 excel 转为图片的问题。
#### How to test it?
在文章中粘贴 excel 表格中的内容,查看是否转为表格。
#### Does this PR introduce a user-facing change?
```release-note
解决将粘贴 Excel 内容会变为图片的问题。
```
#### What type of PR is this?
/area core
/area ui
/milestone 2.21.x
/kind feature
#### What this PR does / why we need it:
Optimize comment notification template to support rich text rendering
#### 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 core
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
This PR optimizes SEO tag generation with the following changes:
1. Site description and keywords settings now only apply to the homepage and are no longer inserted on other pages.
2. Added meta description tags for category archive pages, using the category description as content.
3. Improved the help text descriptions for SEO options in system settings.
#### Which issue(s) this PR fixes:
Fixes#7662
#### Does this PR introduce a user-facing change?
```release-note
优化页面的 SEO 标签的生成
```
#### 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 improvement
/milestone 2.21.x
#### What this PR does / why we need it:
This PR adds frontend support for checking whether an slug already exists when creating posts.
Note:
1. The current implementation isn’t perfect, some actions (like clicking the “Publish” button) don’t check for duplicate slug yet.
2. Slug checking in the user center might not be accurate, since it may not have permission to query all posts.
<img width="695" alt="image" src="https://github.com/user-attachments/assets/baa37a82-49c2-43be-a4d8-0e0f22a9d73b" />
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7615
Fixes https://github.com/halo-dev/halo/issues/3332
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
创建文章时支持检查别名是否重复
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
This PR adds frontend support for checking if an slug already exists when creating post categories and tags.
<img width="701" alt="image" src="https://github.com/user-attachments/assets/050c2fc3-b82c-42f1-b58e-cf12c6852959" />
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3172
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
创建文章分类和标签时支持检查别名是否已存在
```
#### 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 improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Use `Promise.all` to execute part of the batch deletion logic of the notification in chunks to optimize the execution performance.
#### Which issue(s) this PR fixes:
Fixes #
#### Does this PR introduce a user-facing change?
```release-note
优化通知批量删除的执行性能
```
* Support batch enable and disable
* documentation update
* Update ui/src/locales/en.yaml
Co-authored-by: Ryan Wang <i@ryanc.cc>
* Update ui/src/locales/zh-CN.yaml
Co-authored-by: Ryan Wang <i@ryanc.cc>
* Update ui/src/locales/zh-CN.yaml
Co-authored-by: Ryan Wang <i@ryanc.cc>
* Update ui/src/locales/zh-TW.yaml
Co-authored-by: Ryan Wang <i@ryanc.cc>
* Update ui/src/locales/zh-TW.yaml
Co-authored-by: Ryan Wang <i@ryanc.cc>
* batch handling and code reuse
* 1.还原批量删除的分批请求修改
2.使判断当前user启停用状态时条件更加宽松,以解决新增用户后该属性undefined而被过滤的问题。(之前测试时用的数据是之前构建并使用过单独启\禁用的)
---------
Co-authored-by: Ryan Wang <i@ryanc.cc>
#### 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?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix issue where menu items and post categories could not be reordered via drag-and-drop
#### Which issue(s) this PR fixes:
Fixes#7607
#### Does this PR introduce a user-facing change?
```release-note
修复菜单项和文章分类可能出现无法拖动排序的问题
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Prevent code input content from being obscured in fullscreen mode
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7574
#### Does this PR introduce a user-facing change?
```release-note
修复代码输入框在全屏时,底部内容被遮挡的问题。
```
#### What type of PR is this?
/area ui
/area editor
/milestone 2.21.x
/kind improvement
#### What this PR does / why we need it:
Change the editor's toolbox button to expand on click, rather than on hover, to maintain consistency with other toolbar buttons.
#### Does this PR introduce a user-facing change?
```release-note
将编辑器的工具箱按钮改为点击展开
```
#### What type of PR is this?
/area ui
/area plugin
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Modify the vite configuration in ui-plugin-bunlder-kit to avoid passing the entire process.env to the build process.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind importment
/area editor
/milestone 2.21.x
#### What this PR does / why we need it:
为默认编辑器拖拽事件增加节流,解决部分由于鼠标移动事件所产生的性能损耗。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### 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:
Remove unused files.
#### 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 bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix the width issue of comment content, which was affected by https://github.com/halo-dev/halo/pull/7564 and is inconsistent with version 2.20.0
#### Does this PR introduce a user-facing change?
```release-note
修复 2.20.1 中评论管理中内容的宽度问题。
```
#### What type of PR is this?
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump @halo-dev/ui-plugin-bundler-kit version to 2.21.1
#### Does this PR introduce a user-facing change?
```release-note
None
```