#### What type of PR is this?
/area console
#### What this PR does / why we need it:
storybook-static 文件夹为 Storybook 的构建目录,此 PR 将此文件夹添加到 .gitignore
#### Does this PR introduce a user-facing change?
```release-note
None
```
<!-- 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?
<!--
添加其中一个类别:
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
-->
/kind feature
/kind api-change
#### What this PR does / why we need it:
add getParentByName method to CategoryFinder interface
#### 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 #
#### Special notes for your reviewer:
${categoryFinder.getParentByName(anyChild.metadata.name)}
#### 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?
/kind improvement
/area core
#### What this PR does / why we need it:
Prior to this proposal, we encountered an error requesting any page before Halo is in ready state. That is because the timing of schemes initialization is incorrect.
The current proposal is to advance schemes initialization before refreshing application and removes `SchemeInitializedEvent` because it cannot be listened by other beans.
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4946
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复 Halo 还未处于准备就绪时访问页面或接口出现“Scheme not found”错误的问题
```
**What this PR does / why we need it:**
This PR resolves the reported bug in issue #5001,
**Which issue(s) this PR fixes:**
Fixes [#5001](https://github.com/halo-dev/halo/issues/5001)
```release-note
修复 labelSelector 单字符值查询无效的问题
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.12.x
#### What this PR does / why we need it:
在 #4975 中,使用 `decorations` 重写了 heading,但由于 `decorations` 只会给 nodeview 增加 id,因此会导致 render 后的 html 中不存在 id。
默认编辑器 heading 渲染时,自动增加 id。
#### How to test it?
使用默认编辑器编辑时,增加 Heading。保存后查看主题端对应的 heading 是否存在 id。
#### Which issue(s) this PR fixes:
Fixes#4994
#### Does this PR introduce a user-facing change?
```release-note
解决渲染后的 Heading 中不存在 id 的问题。
```
#### What type of PR is this?
/kind feature
/area console
/milestone 2.8.x
#### What this PR does / why we need it:
Console Components使用StoryBook代替Histories
#### Which issue(s) this PR fixes:
Fixes#4117
#### Special notes for your reviewer:
1. 移动到 console/packages/components 目录。
2. pnpm storybook
#### Does this PR introduce a user-facing change?
```release-note
使用 Storybook 重构 `@halo-dev/components` 文档。
```
<!-- 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
/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:
修复#4985 中调整图片大小时的高度变化bug
#### 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#4985
#### Special notes for your reviewer:
似乎是因为横纵比aspectRatio在调整大小的doDrag函数中被动态的更新数值,导致依赖aspectRatio来计算的高度也会出现问题。直接把aspectRatio移动到函数外,只在挂载后更新一次值即可解决。
#### 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
这会修复当前console的editor中图片比例拉伸的bug
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.12.x
#### What this PR does / why we need it:
Upgrade to SpringDoc 2.3.0. See https://github.com/springdoc/springdoc-openapi/releases/tag/v2.3.0 for more.
#### Does this PR introduce a user-facing change?
```release-note
升级 SpringDoc 至 2.3.0
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
This will resolve the error log output when running dev environment of Console
#### Which issue(s) this PR fixes:
Fixes#4963
#### 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 console
/milestone 2.12.x
#### What this PR does / why we need it:
修复在默认编辑器中无法使用拼音输入法输入标题的问题,此问题由 https://github.com/halo-dev/halo/pull/4909 引发。
#### Which issue(s) this PR fixes:
Fixes#4970
#### Special notes for your reviewer:
在编辑器中,使用拼音输入法输入标题(heading),观察是否可以正常输入。
#### 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:
Bump versions to 2.12.0-SNAPSHOT for next development.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.11.0
#### What this PR does / why we need it:
This PR adds role templates for posts in user center for recreating more flexible roles. Related to <https://github.com/halo-dev/halo/pull/4866>.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area core
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
新增使用邮箱地址找回密码功能
#### Which issue(s) this PR fixes:
Fixes#4940
#### Does this PR introduce a user-facing change?
```release-note
新增使用邮箱地址找回密码功能
```
#### What type of PR is this?
/area core
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
优化个人中心相关的角色模板:
1. 暂时使用简体中文描述,等待 https://github.com/halo-dev/halo/issues/3573 获得支持。
2. 移除未使用的 post-attachment-viewer
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area console
/kind bug
/milestone 2.11.0
#### 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?
/area console
/kind feature
/milestone 2.11.x
#### What this PR does / why we need it:
支持为自定义角色配置 **禁止访问 Console** 的选项。
#### Special notes for your reviewer:
测试方式:
1. 创建一个新角色,勾选禁止访问 Console 的选项,并赋予给某个用户。
2. 登录之后,尝试访问 /console 观察是否能够正常访问。
3. 检查个人中心左下角是否有进入 Console 的按钮。
4. 测试其他未设置这个选项的角色是否正常。
#### Does this PR introduce a user-facing change?
```release-note
支持为自定义角色配置 **禁止访问 Console** 的选项。
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善遗漏的编辑器上传图片的 UI 权限控制,以及部分 i18n。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area core
/milestone 2.11.0
#### What this PR does / why we need it:
更新默认主题至 https://github.com/halo-dev/theme-earth/releases/tag/v1.7.1
#### Does this PR introduce a user-facing change?
```release-note
更新默认主题至 1.7.1
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.11.0
#### What this PR does / why we need it:
为 repeater 中的 addButton 点击事件增加校验 disabled 属性。
#### How to test it?
在 safari 浏览器下测试具有 max repeater 的组件,当其 addButton 按钮变灰之后继续点击。查看是否不再添加新的项。
#### Which issue(s) this PR fixes:
Fixes#4948
#### Does this PR introduce a user-facing change?
```release-note
修复 safari 浏览器下,repeater 的 max 属性无效的问题
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善个人中心相关页面的 i18n。
#### Special notes for your reviewer:
测试各个语言的个人中心相关页面。
#### Does this PR introduce a user-facing change?
```release-note
完善个人中心相关页面的 i18n。
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.11.0
#### What this PR does / why we need it:
This PR resolves the problem of incorrect old data passed to watcher during updates. As shown in the following line, the old value should be `old` instead of `extension` from outside.
7a84f55300/application/src/main/java/run/halo/app/extension/ReactiveExtensionClientImpl.java (L172)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.0
#### What this PR does / why we need it:
在 Console 和 UC 轮询 /actuator/health 接口保持登录会话,目前是 5min 请求一次。
#### Which issue(s) this PR fixes:
Fixes#4947
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 的登录会话保活机制。
```
* Support managing posts in user center
Signed-off-by: John Niang <johnniang@foxmail.com>
* Adapt post management in user center
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: John Niang <johnniang@foxmail.com>
Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善系统概览页面的 UI 权限控制。
#### Does this PR introduce a user-facing change?
```release-note
完善系统概览页面的 UI 权限控制。
```
* chore: provide an out-of-the-box gitpod config file
* test: add e2e test cases of user, role, and plugin
---------
Co-authored-by: rick <LinuxSuRen@users.noreply.github.com>
Co-authored-by: John Niang <johnniang@foxmail.com>
#### What type of PR is this?
/area console
/area editor
/milestone 2.11.0
/kind improvement
#### What this PR does / why we need it:
升级编辑器依赖,并将其全局注册,此 PR 合并之后,插件如果需要扩展编辑器,则不必引入其中依赖,可以完全排除。
#### Which issue(s) this PR fixes:
- https://github.com/halo-sigs/richtext-editor/pull/71 Fixes https://github.com/halo-dev/halo/issues/4868
#### Does this PR introduce a user-facing change?
```release-note
升级默认编辑器版本。
```
#### What type of PR is this?
/kind feature
/area core
/milestone 2.11.x
#### What this PR does / why we need it:
新增用户邮箱验证机制
#### Which issue(s) this PR fixes:
Fixes#4656
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
新增用户邮箱验证机制
```
#### What type of PR is this?
/area console
/kind feature
/milestone 2.11.x
#### What this PR does / why we need it:
支持为自定义的角色配置登录之后默认跳转位置。
#### Special notes for your reviewer:
1. 创建一个新的角色,设置跳转位置。
2. 为一个用户赋予这个角色。
3. 测试登录之后是否正常跳转到设置的位置。
#### Does this PR introduce a user-facing change?
```release-note
支持为自定义的角色配置登录之后默认跳转位置。
```
#### What type of PR is this?
/kind feature
/area core
/area console
#### What this PR does / why we need it:
新增用户站内消息删除功能
<img width="588" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/6034e43c-0dbc-4e4e-88c6-4848c8b25e0c">
#### Which issue(s) this PR fixes:
Fixes#4706
#### Does this PR introduce a user-facing change?
```release-note
新增用户站内消息删除功能
```
#### What type of PR is this?
/kind feature
/area core
/milestone 2.11.x
#### What this PR does / why we need it:
暴露 Actuator 指标端点以便监控服务状态
暴露了 Actuator 端点并提供角色模板,用户可创建 PAT 用于获取 Halo 运行状态数据或分配给其他用户
#### Which issue(s) this PR fixes:
Fixes#4894
#### Does this PR introduce a user-facing change?
```release-note
暴露 Actuator 指标端点以便监控服务状态
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
在默认编辑器中,自动为 heading 类型元素生成有意义的 id,而不是原来的 `heading-x`。
<img width="1602" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/665e0acc-cb22-44d3-a4d5-c5b913687f32">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4838
#### Special notes for your reviewer:
需要测试在默认编辑器中编写若干 heading 类型的元素,发布之后查看元素的 id。
#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器中 heading 类型元素生成有意义的 id。
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
升级 FormKit 的版本至 1.3.0
see https://formkit.com/changelog#_130
#### Does this PR introduce a user-facing change?
```release-note
升级 FormKit 的版本至 1.3.0
```
#### What type of PR is this?
/kind feature
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
添加 `<StickyBlock />` 组件,用于将元素固定在顶部或者底部。
此外,此 PR 针对主题设置、插件设置、系统设置等表单可能较长的页面使用了此组件。
<img width="1214" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/abc849eb-a9a9-4d0a-b81c-d7430815660d">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4548
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
添加 `<StickyBlock />` 组件,用于将元素固定在顶部或者底部,并为主题 / 插件 / 系统设置的底部保存按钮区域做了适配。
```
#### What type of PR is this?
/kind bug
/area core
#### What this PR does / why we need it:
Reset base Docker image of builder to eclipse-temurin to fix the problem of OOM while building multi-platform Docker image. See https://github.com/halo-dev/halo/actions/runs/6976331252/job/18984676251 for more.
#### Does this PR introduce a user-facing change?
```release-note
None
```
* fix: OOM occured when using ab to test custom endpoints provided by plugin
* refactor: custom endpoints to rotuer function register for plugin
* refactor: bean post processor register
* Register AggregatedRouterFunction bean instead of adding bean factory post processor
* Remove debug lines
---------
Co-authored-by: John Niang <johnniang@foxmail.com>