> **Warning**
>
> 此 PR 的改动来自:<https://github.com/halo-dev/halo/pull/3498>
> 因为目前 Console 仓库已经合并到 Halo 主仓库,但主仓库的 release-2.3 分支不包含 Console,所以如果需要发布 2.3.x 的 patch 版本,依旧需要在此仓库修改。
#### What type of PR is this?
/kind improvement
/milestone 2.3.2
#### What this PR does / why we need it:
支持强制保存文章和单页面的设置,绕开后端 version 锁的机制,因为目前发现在后端 Reconcile 处理文章较慢时会影响文章的保存。
需要注意的是,这是一个不太合理的处理方式,但目前别无选择。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3339
#### Special notes for your reviewer:
测试方式:
1. 同时打开多个同文章的编辑页面的窗口。
2. 编辑任意一个窗口的文章设置。
3. 然后再去其他窗口保存,观察是否有异常。
#### Does this PR introduce a user-facing change?
```release-note
支持强制保存文章和页面的设置,避免因为 Version 锁的机制导致保存失败。
```
> **Warning**
>
> 此 PR 的改动来自:<https://github.com/halo-dev/halo/pull/3516>
> 因为目前 Console 仓库已经合并到 Halo 主仓库,但主仓库的 release-2.3 分支不包含 Console,所以如果需要发布 2.3.x 的 patch 版本,依旧需要在此仓库修改。
#### What type of PR is this?
/kind bug
/milestone 2.3.2
#### What this PR does / why we need it:
修复在新建文章时,首次切换编辑器后没有设置内容 rawType 资源为对应编辑器类型的问题。
#### Which issue(s) this PR fixes:
Fixes#3512
#### Special notes for your reviewer:
测试方式:
1. 安装任意一个编辑器插件,比如:https://github.com/halo-sigs/plugin-stackedit
1. 新建文章,选择安装的编辑器。
1. 发布文章。
1. 卸载或者停止编辑器。
1. 重新编辑刚刚创建的文章,如果提示 `未找到符合 markdown 格式的编辑器,请检查是否已安装编辑器插件` 则代表正常。
#### Does this PR introduce a user-facing change?
```release-note
修复在新建文章时,首次切换编辑器后没有设置内容 rawType 资源为对应编辑器类型的问题。
```
> **Warning**
>
> 此 PR 的改动来自:<https://github.com/halo-dev/halo/pull/3468>
> 因为目前 Console 仓库已经合并到 Halo 主仓库,但主仓库的 release-2.3 分支不包含 Console,所以如果需要发布 2.3.x 的 patch 版本,依旧需要在此仓库修改。
#### What type of PR is this?
/kind bug
/milestone 2.3.2
#### What this PR does / why we need it:
在编辑器初始化前赋值,可以保证缓存的历史数据附在StackEdit的url上。
#### Which issue(s) this PR fixes:
Fixes (https://github.com/halo-dev/halo/issues/3105)
#### Screenshots:
![test](https://user-images.githubusercontent.com/88016243/222957520-b7980ff9-aeeb-4e98-9dde-50eb307f02eb.gif)
#### Special notes for your reviewer:
+ 新建文章,切换为 StackEdit 编辑器
+ 输入一些内容保存/发布文章
+ 回到文章列表,重新点进刚才的文章
+ 重复步骤3,输入的内容还在
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端在使用三方编辑器插件编辑文章时可能出现无法加载内容的问题。
```
#### What type of PR is this?
/kind documentation
#### What this PR does / why we need it:
目前此仓库已经合并到了 Halo 主仓库,所以现在修改 README 以提示。
#### 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:
使用 [TanStack Query](https://github.com/TanStack/query) 重构评论管理相关数据请求的相关逻辑。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3360
#### Special notes for your reviewer:
测试方式:
1. 测试评论管理列表的数据请求 + 条件筛选无异常即可。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/milestone 2.3.0
#### What this PR does / why we need it:
发布 2.3.0。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/milestone 2.3.x
#### What this PR does / why we need it:
发布 2.3.0-rc.1
#### 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:
使用 [TanStack Query](https://github.com/TanStack/query) 重构页面相关数据请求的相关逻辑。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3360
#### Special notes for your reviewer:
测试方式:
1. 测试页面管理列表的数据请求 + 条件筛选无异常即可。
#### 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:
修改评论和回复的创建时间字段。适配:https://github.com/halo-dev/halo/pull/3341
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3330
#### Special notes for your reviewer:
None
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复新建分类和标签之后再次打开表单,别名显示为 undefined 的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3382
#### Special notes for your reviewer:
测试方式:
1. 新建分类或者标签,创建完成之后再次打开创建表单,检查别名是否还为 undefined。
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端新建分类和标签之后再次打开表单,别名显示为 undefined 的问题。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
优化分类和标签管理页面自动刷新的条件,现在支持检测 `status.permalink` 是否已经生成完毕,如果没有会自动刷新列表。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3376
#### Special notes for your reviewer:
测试方式:
1. 测试添加若干分类和标签,观测在没有生成 permalink 的情况下,是否会自动刷新列表。
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 端分类和标签管理的自动刷新条件,支持检测固定链接是否已经生成。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
使用 [TanStack Query](https://github.com/TanStack/query) 重构文章相关数据请求的相关逻辑。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3360
#### Special notes for your reviewer:
测试方式:
1. 测试文章相关联的页面,包括文章管理、分类、标签。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/milestone 2.3.x
/area console
#### What this PR does / why we need it:
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3357
#### Special notes for your reviewer:
测试使用主题/插件自定义的元数据信息,是否能够在 console 中显示默认值。
#### Does this PR introduce a user-facing change?
```release-note
使用主题/插件配置的元数据将能够展示默认值
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
使用 [TanStack Query](https://github.com/TanStack/query) 重构附件相关数据请求的相关逻辑。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3360
#### Special notes for your reviewer:
测试方式:
1. 测试附件管理页面的筛选、存储策略、分组等业务。
2. 测试附件选择模态框组件。
#### 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:
优化用户名的校验规则,目前采用 DNS 名称的规则,即:必须以字母(a-z或A-Z)开头,并包含字母数字字符(a-z,A-Z,0-9)和连字符(-)。每一段名称以字母结尾(a-z或A-Z)。名称以点(.)分隔
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3239
#### Screenshots:
#### Special notes for your reviewer:
测试方式:
1. 新建用户,检查用户名输入规则是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 端新建用户时,用户名的校验规则。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
使用 [TanStack Query](https://github.com/TanStack/query) 重构插件管理列表的数据请求相关逻辑。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3360
#### Special notes for your reviewer:
测试方式:
1. 需要 `pnpm install`
2. 插件管理页面,安装若干插件。
3. 测试分页、条件筛选等逻辑是否正常。
#### Does this PR introduce a user-facing change?
```release-note
None
```
What type of PR is this?
/kind bug
What this PR does / why we need it:
将ghost用户从用户列表隐藏。
Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3317
```release-note
NONE
```
#### What type of PR is this?
/kind improvement
#### 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 improvement
#### What this PR does / why we need it:
将 https://github.com/halo-sigs/api-client 移动到 Console 的仓库进行管理。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3302
#### Special notes for your reviewer:
测试方式:
1. 需要先 `pnpm install && pnpm build:packages`
2. 测试开发环境(pnpm dev)和构建之后(pnpm build)是否能够正常使用。
#### 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:
静默请求所有角色信息,用于显示 displayName。(临时解决方案)
#### 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:
将 @LIlGG 添加到 Reviewer 列表。
#### Does this PR introduce a user-facing change?
```release-note
None
```