#### What type of PR is this?
/kind feature
/area ui
/area core
/milestone 2.15.x
#### What this PR does / why we need it:
将 Console 与 UC 页面的标签页标题改为网站实际标题
#### How to test it?
查看 Console 页面与 UC 页面的标题页标题是否变为网站实际标题
#### Which issue(s) this PR fixes:
Fixes#5679
#### Does this PR introduce a user-facing change?
```release-note
将 Console 与 UC 的标签页标题改为网站实际标题
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.15.x
#### What this PR does / why we need it:
修复由于 modal 延迟 200ms 所导致的数据可能为空的问题。
See #5078
#### How to test it?
反复点击并关闭附件库详情弹窗,查看是否会有空数据的问题
#### Which issue(s) this PR fixes:
Fixes#5689
#### Does this PR introduce a user-facing change?
```release-note
修复附件详情弹窗可能无法显示数据的问题
```
#### What type of PR is this?
/kind feature
#### What this PR does / why we need it:
文章支持根据访问量和评论量排序
#### Which issue(s) this PR fixes:
Fixes#3216
#### Does this PR introduce a user-facing change?
```release-note
文章支持根据访问量和评论量排序
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.15.x
#### What this PR does / why we need it:
优化文章上一篇下一篇的查询方式避免瞬时内存占用过高
#### Does this PR introduce a user-facing change?
```release-note
优化文章上一篇下一篇的查询方式避免瞬时内存占用过高
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.15.x
#### What this PR does / why we need it:
优化通知订阅数据查询
#### Does this PR introduce a user-facing change?
```release-note
优化通知订阅数据查询以解决由于数据过多导致查询慢进而阻塞调用方的问题
```
#### What type of PR is this?
/kind feature
/area editor
/milestone 2.15.x
#### What this PR does / why we need it:
此 PR 为默认富文本编辑器中的 P 标签设置了 `line-height` 属性,因此可以支持为某一行设置行高。
#### How to test it?
测试行高功能是否正常。测试在不同组件下功能是否正常。
#### Which issue(s) this PR fixes:
Fixes#5660
#### Does this PR introduce a user-facing change?
```release-note
为默认富文本编辑器增加行高设置
```
#### What type of PR is this?
/kind improvement
/area ui
#### What this PR does / why we need it:
使用分页列表的形式重新展示文章标签页,移除原有的 grid 形式。
#### How to test it?
查看文章标签页面的分页列表功能显示是否正常。
完成增、删、改之后是否能够正常回显。
#### Which issue(s) this PR fixes:
Fixes#5415
#### Does this PR introduce a user-facing change?
```release-note
使用分页列表的形式重构文章标签页 UI
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.15.x
#### What this PR does / why we need it:
优化分类关联文章数量的查询避免因查询数据量过大而导致的阻塞或内存溢出
#### Does this PR introduce a user-facing change?
```release-note
优化分类关联文章数量的查询避免因查询数据量过大而导致的阻塞或内存溢出
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Upgrade version to `2.15.0-SNAPSHOT`.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area core
/kind improvement
/milestone 2.14.0
#### What this PR does / why we need it:
在 Halo 完成动态数据的 i18n 之前,使用中文描述存储策略名称。
Ref https://github.com/halo-dev/plugin-s3/pull/128
#### Does this PR introduce a user-facing change?
```release-note
将默认存储策略模板的显示名称改为中文
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
简化部分确认框的标题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5592
#### Does this PR introduce a user-facing change?
```release-note
简化部分确认框的标题。
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.14.x
#### What this PR does / why we need it:
减少文章更新因版本号冲突而失败的次数
#### Which issue(s) this PR fixes:
Fixes#5579
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area ui
#### What this PR does / why we need it:
修复当角色勾选禁止访问 Console 后,redirect_uri 参数无效的问题
#### How to test it?
测试角色禁止访问 console 时,当链接中携带 redirect_uri 参数,能否正常跳转
#### Which issue(s) this PR fixes:
Fixes#5417
#### Does this PR introduce a user-facing change?
```release-note
修复当角色禁止访问 Console 后,redirect_uri 参数无效的问题
```
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
/kind documentation
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind improvement
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
#### What this PR does / why we need it:
同时使用 `-it` 和 `-d`,`-d` 会覆盖 `-it`,容器将会在后台运行,而 `-it` 参数请求的交互式会话和伪终端不会生效。
#### Which issue(s) this PR fixes:
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
编辑文章匹配编辑器类型时,忽略大小写。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5597
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.14.x
#### What this PR does / why we need it:
解决在默认编辑器中,插件扩展 getDraggable 方法可能无效的问题。向 handleDrop 中添加属性 `selection`,方便插件对当前拖拽元素进行处理。
部分插件拖拽之后可能无效果,此时需要插件自行实现 `handleDrop` 方法来处理拖拽后的情况。
#### How to test it?
测试 getDraggable 方法是否正常。插件中使用此方法是否显示拖拽图标。
#### Which issue(s) this PR fixes:
Fixes#5208
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器 getDraggable 在部分插件中失效的问题。
```
#### What type of PR is this?
/kind bug
/area ui
#### What this PR does / why we need it:
在个人中心,使用默认富文本编辑器上传附件库时,由于在 UC 中不存在附件库列表,因此会出现错误。
本 PR 通过对默认富文本编辑器上传组件进行调整,调整如下:
1. 当不具有 uc 和 system 的附件权限时,用户仅能通过链接插入图片、音频等,且不允许拖拽和粘贴上传。
2. 当用户具有 uc 但没有 system 的附件权限时,用户可以通过拖拽和粘贴的方式上传,但不允许通过附件库上传。
3. 当用户具有 system 附件权限时,允许通过所有方式(上传、附件库、链接、拖拽和粘贴)进行上传。
#### How to test it?
测试默认富文本编辑器中,用户在不同附件库权限下上传图片是否能够按照逻辑正常处理。
#### Which issue(s) this PR fixes:
Fixes#5581
#### Does this PR introduce a user-facing change?
```release-note
修复在个人中心中使用默认富文本编辑器的附件库而导致的报错问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
优化插件安装弹框组件的渲染时机,改为在未打开时不进行渲染,可以避免一些不必要的请求,尤其是在安装了应用市场插件之后。
#### Which issue(s) this PR fixes:
Fixes#5573
#### Special notes for your reviewer:
测试插件安装和升级功能是否正常即可。
#### Does this PR introduce a user-facing change?
```release-note
优化插件安装弹框组件的渲染时机,避免不必要的请求。
```
#### What type of PR is this?
/kind bug
/area core
#### What this PR does / why we need it:
修复在个人中心下,用户无法修改发布时间的问题。
#### How to test it?
需要测试两种情况:
1. 用户首次发布文章时,修改发布时间是否有效。
2. 用户后续编辑文章发布时间时是否生效。
#### Which issue(s) this PR fixes:
Fixes#5473
#### 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:
修复当选中首个文章设置时,点击上一个还可以继续修改 `page` 的问题。
#### How to test it?
测试选中首个文章设置之后,点击上一个是否不再修改 `page` 值
#### Which issue(s) this PR fixes:
Fixes#5475
#### Does this PR introduce a user-facing change?
```release-note
修复在文章列表设置中可以无限点击上一个的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
为 UC 端保存文章的操作添加重试机制,防止出现因为锁导致的保存失败问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5474
#### Special notes for your reviewer:
需要多次尝试编辑文章,以及设置表单的保存功能。
#### Does this PR introduce a user-facing change?
```release-note
为 UC 端保存文章的操作添加重试机制,防止出现因为锁导致的保存失败问题。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
对 UI 的部分依赖进行分包处理。改动之后,如果下次构建 Halo,而这些依赖没有进行变更,那么 vendor 的 hash 后缀就不会变更,用户在升级之后这些依赖也可以有效命中缓存。
<img width="998" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/60095e08-45f5-4b56-8f79-2999238ebfc5">
#### Does this PR introduce a user-facing change?
```release-note
对 UI 的部分依赖进行分包处理。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.14.x
#### What this PR does / why we need it:
为上传附件的组件添加基本的图片编辑功能。
<img width="747" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/6816e045-ae4a-4d26-b3a4-23494fb39d5f">
#### Which issue(s) this PR fixes:
Fixes#5583
#### Does this PR introduce a user-facing change?
```release-note
为上传附件的组件添加基本的图片编辑功能。
```
#### What type of PR is this?
/kind improvement
/area ui
#### What this PR does / why we need it:
优化 formkit 中 checkout、repeater、group 组件的 help 样式。
移除 checkout 的内边距
为 repeater、group 组件增加底部边距
#### How to test it?
观察上述组件的 help 样式是否正常。
#### Which issue(s) this PR fixes:
Fixes#5411
#### Does this PR introduce a user-facing change?
```release-note
优化 formkit 中 checkout、repeater 及 group 组件的 help 样式
```
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
/kind bug
/kind api-change
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind improvement
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
#### What this PR does / why we need it:
As described in #5350, when using Amazon SES, for example, as email provider, SMTP username for authentication may not exactly match sender email address. When this happens, websites using Halo will not be able to send emails due to invalid addresses that Halo put in SMTP requests. This PR adds a configuration field for those who got a non-email-address username to specify one separately.
#### Which issue(s) this PR fixes:
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes#5350
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
Yes
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
action required
添加了“发送邮件地址”配置项。如果你的 username 是邮件地址,那么忽略这一栏即可;如果不是,那么请在这里填上你希望使用的发件人地址
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR upgrades SpringDoc to [2.4.0](https://github.com/springdoc/springdoc-openapi/releases/tag/v2.4.0).
#### Does this PR introduce a user-facing change?
```release-note
升级依赖 SpringDoc 至 2.4.0
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR mainly upgrades Spring Boot to [3.2.4](https://github.com/spring-projects/spring-boot/releases/tag/v3.2.4), and also upgrades other Gradle plugins.
#### Does this PR introduce a user-facing change?
```release-note
升级依赖 Spring Boot 至 3.2.4
```
#### What type of PR is this?
/area comment
/area core
/kind improvement
#### What this PR does / why we need it:
> 开启了新评论审核设置,如果是在文章页面登录超级管理员账号进行评论,仍然需要在后台进行审核
#### Which issue(s) this PR fixes:
Fixes#5468
#### Does this PR introduce a user-facing change?
```release-note
新增评论设置,允许有评论管理权限的用户发布的评论无需审核
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.14.x
#### What this PR does / why we need it:
在默认富文本编辑器下,当滚动时有概率会使页面小于正常大小。在文章最底部使用 AI 插件更加容易复现。
#### How to test it?
测试文章滚动时是否会小于正常大小,推荐在文章最底部使用 AI 插件来复现和测试。
#### Which issue(s) this PR fixes:
Fixes#3853
#### Does this PR introduce a user-facing change?
```release-note
修复文章编辑页面出现多个滚动条导致的页面高度样式问题。
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Upgrade Gradle to 8.6 by executing command `./gradlew wrapper --gradle-version=8.6` according to <https://github.com/gradle/gradle/releases/tag/v8.6.0>.
#### Does this PR introduce a user-facing change?
```release-note
升级 Gradle 至 8.6
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.14.x
#### What this PR does / why we need it:
在 `TagSelect` 与 `CategorySelect` 组件中,当搜索的同时允许进行创建新的分类或标签。
#### How to test it?
测试在搜索标签或者分类时,能否创建新的标签或者分类
#### Which issue(s) this PR fixes:
Fixes#4660
#### Does this PR introduce a user-facing change?
```release-note
在搜索标签或分类的同时允许进行创建新的分类或标签
```
添加代码块 dart 语言的高亮
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
/kind feature
/area editor
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind improvement
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
#### What this PR does / why we need it:
> 为默认编辑器的代码块导入 dart 语言高亮
#### Which issue(s) this PR fixes:
Fixes#5530
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
为需要代码块dart语言高亮的用户提供支持
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.14.x
#### What this PR does / why we need it:
重构文章预览和主题预览的页面加载方式,尝试解决在某些情况下打开预览导致登录 session 失效的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4047
#### Special notes for your reviewer:
需要测试:
1. 主题预览中的各个功能是否正常。
2. 文章预览功能是否正常。
#### Does this PR introduce a user-facing change?
```release-note
修复在某些情况下,打开文章预览或主题预览之后导致登录失效的问题。
```
#### What type of PR is this?
/kind bug
/area ui
/area editor
/milestone 2.14.x
#### What this PR does / why we need it:
解决默认编辑器中,行内块元素 `image`、`video` 及 `audio` 由于行内块导致其下方有额外一行的问题。
#### How to test it?
查看默认编辑器中上述组件是否还会出现在下方有额外空行的问题。
#### Which issue(s) this PR fixes:
Fixes#5145
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器行内块元素下具有额外空行的问题
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.14.x
#### What this PR does / why we need it:
修复主题测评论列表顺序不一致的问题
此问题由 #5505 导致,开启了同时返回回复后,评论列表的顺序出现问题
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area core
/kind improvement
/milestone 2.14.0
#### What this PR does / why we need it:
improve the help tips for system setting options
<img width="612" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/9f97a4d7-09f7-4671-8a4e-f4ab7dc8dcbd">
#### Which issue(s) this PR fixes:
Fixes#5513
#### Does this PR introduce a user-facing change?
```release-note
完善系统设置选项的帮助提示。
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.14.0
#### What this PR does / why we need it:
修复 FormKit 中 code 输入框的类型异常,在此之前如果这样使用:
```vue
<FormKit type="code" v-model="text" />
```
那么 v-model 的类型会不正确。以前忽略了此问题的原因是在之前 code 类型的输入框没有以组件的形式使用过,系统中都是使用 FormKit Schema 调用的。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area editor
/area ui
/kind feature
#### What this PR does / why we need it:
为默认编辑器添加标题输入框。
<img width="1665" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/df903e02-76b0-45fe-89d9-6ac81af8f041">
#### Which issue(s) this PR fixes:
Fixes#5427
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器添加标题输入框。
```
#### What type of PR is this?
/kind feature
/area core
/milestone 2.14.x
/kind api-change
#### What this PR does / why we need it:
主题端评论列表支持同时获得评论数据
Resolves#5435
#### Does this PR introduce a user-facing change?
```release-note
主题端评论列表支持同时获得评论数据
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.14.x
#### What this PR does / why we need it:
优化评论控制器的实现逻辑以优化代码和性能
Resolves#5435
how to test it?
- 测试删除评论时能正确连同回复一起删除
- 测试评论下的最新回复的已读功能是否正确
- 删除/审核评论,观察主题端和Console端分别显示的评论数量是否正确
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.14.x
#### What this PR does / why we need it:
优化并重新整理文章和自定义页面 Service 的部分代码
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.14.x
#### What this PR does / why we need it:
修复分配通知器权限时一片空白的问题
- 隐藏了原先权限中展示的通知器配置权限选项
- 系统设置的权限中依赖了通知器配置权限,但需要有系统设置管理权限才会展示通知配置的 Tab
Fixes#5492
#### Does this PR introduce a user-facing change?
```release-note
修复仅拥有通知器配置权限时无法修改配置的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
将原来的 Actuator 页面改为 Overview。
#### Which issue(s) this PR fixes:
Fixes#5508
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR collects all Gradle plugin versions into root build.gradle for easy management.
#### Does this PR introduce a user-facing change?
```release-note
None
```