Commit Graph

4731 Commits (15f7fe2d4fdd2a10a73b7a7e11cdb6ed66466cab)

Author SHA1 Message Date
Hilary Liu e13563bad0
feat: add strategy setting for post slug generation (#4551)
#### What type of PR is this?

/kind improvement

#### What this PR does / why we need it:

添加文章别名自动生成策略

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/1790

#### Special notes for your reviewer:

需要后端提供支持在globalInfo里面添加`gSlugMode`字段。它的类型为(后续可能会支持更多的模式)
<img width="582" alt="image" src="https://github.com/halo-dev/halo/assets/110895612/586c4742-6172-4bbc-a601-ca04c2a9a281">

#### Does this PR introduce a user-facing change?


```release-note
文章支持多别名生成策略。
```
2023-09-10 14:08:13 +00:00
Ryan Wang 31675dbbba
fix: i18n key of theme remote download tab label (#4576)
#### What type of PR is this?

/area console
/kind bug
/milestone 2.10.x

#### What this PR does / why we need it:

修复了主题远程下载标签的英文语言包键,使其可以正确显示标签标题。

#### Does this PR introduce a user-facing change?

```release-note
修复 Console 端主题远程下载标签的英文语言包键名,使其可以正确显示标签标题。
```
2023-09-08 02:48:13 +00:00
John Niang 0098654344
Prevent basic authentication from popping up (#4556)
#### What type of PR is this?

/kind improvement
/kind api-change
/area core
/milestone 2.10.x

#### What this PR does / why we need it:

See https://github.com/halo-dev/halo/issues/4547 for more.

This PR creates header `WWW-Authenticate` like `FormLogin realm="console"` instead of `Basic realm="realm"` while unauthorized.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4547

#### Special notes for your reviewer:

```bash
curl --head 'http://localhost:8090/actuator/info'
HTTP/1.1 401 Unauthorized
transfer-encoding: chunked
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
WWW-Authenticate: FormLogin realm="console"
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 0
Referrer-Policy: no-referrer
```


#### Does this PR introduce a user-facing change?

```release-note
防止浏览器弹出基础认证弹窗
```
2023-09-07 08:52:10 +00:00
Takagi f3cf3ca283
pref: do not auto save when the setting modal is open (#4567)
#### What type of PR is this?

/kind improvement
/area console

#### What this PR does / why we need it:

当设置模态框打开时,禁用自动保存功能。

#### How to test it?

1. 新建一篇文章,随意输入内容。
2. 打开保存或发布表单,填写文章标题等内容
3. 切换至其他 tab 页
4. 再切换回来,查看文章标题是否没有被覆盖。

#### Which issue(s) this PR fixes:

Fixes #4566 

#### Does this PR introduce a user-facing change?
```release-note
当文章或页面设置窗口打开时,禁用自动保存功能。
```
2023-09-07 07:20:10 +00:00
guqing 87ca74cb64
refactor: complete default values for global settings (#4562)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.10.x

#### What this PR does / why we need it:
补全系统全局设置的默认值

how to test it?
1. 初始化 halo
2. 安装评论组件
3. 到文章页面可以评论

#### Which issue(s) this PR fixes:
Fixes #4561

#### Does this PR introduce a user-facing change?
```release-note
补全系统全局设置的默认值
```
2023-09-07 07:18:15 +00:00
guqing 98d0c342f3
refactor: set cache-control for bundle resources of plugin (#4557)
#### What type of PR is this?
/kind improvement
/milestone 2.10.x
/area core

#### What this PR does / why we need it:
为插件捆绑资源设置 cache-control 以优化静态资源加载

如获取插件 bundle.js 会自动携带参数缓存时间为 7 天,当有插件停止或新增时 v 参数会变化浏览器则使用新的 key 缓存静态资源,旧的 key 将在一天内失效
```
/apis/api.console.halo.run/v1alpha1/plugins/-/bundle.js?v=6c5956f37e7207ab1c0f2f2340f51a101f46b748233992d73729415cd58f3587
```
#### Which issue(s) this PR fixes:
Fixes #4543

#### Does this PR introduce a user-facing change?
```release-note
为插件捆绑资源设置 cache-control 以优化静态资源加载
```
2023-09-07 07:12:11 +00:00
John Niang 9c3e603bda
Fix the problem of username being case-insensitive and logging in without permissions (#4552)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.10.x

#### What this PR does / why we need it:

This PR fixes the problem of username being case-insensitive and logging in without permissions. Please note that the problem only occurs with MySQL.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4549

#### Special notes for your reviewer:

```bash
docker run -it --rm --name halodb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=openmysql -e MYSQL_DATABASE=halo mysql:8

./gradlew bootRun --args="--spring.profiles.active=dev,mysql --halo.plugin.runtime-mode=deployment"
```

#### Does this PR introduce a user-facing change?

```release-note
修复因大小写问题导致登录后无权限的问题
```
2023-09-07 05:52:11 +00:00
Ryan Wang eea575c1e2
fix: operation items render issue in theme list (#4563)
#### What type of PR is this?

/area console
/kind bug

#### What this PR does / why we need it:

修复主题管理列表的更多操作项在某些情况下无法打开的问题。

<img width="384" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/2bbea045-2e04-46bc-be55-d9499c87624b">


#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4559

#### Special notes for your reviewer:

测试方式:

1. 安装若干主题,测试每一项主题的更多操作按钮是否可以正常打开。
2. 删除某一个主题,测试每一项主题的更多操作按钮是否可以正常打开。

#### Does this PR introduce a user-facing change?

```release-note
修复 Console 端主题管理列表的更多操作项在某些情况下无法打开的问题。
```
2023-09-07 04:22:14 +00:00
Ryan Wang a1ea355fdb
feat: add supports for check started status after start plugin operation (#4558)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.10.x

#### What this PR does / why we need it:

支持在启动插件之后检测插件的启动状态,防止直接刷新之后 bundle.js 的内容没有及时更新。

#### Does this PR introduce a user-facing change?

```release-note
优化 Console 端启动插件的逻辑
```
2023-09-07 04:10:10 +00:00
John Niang 2baf6aeb31
Prepare for developing Halo 2.10.0 (#4533)
#### What type of PR is this?

/kind cleanup
/area core

#### What this PR does / why we need it:

Bump Halo to 2.10.0-SNAPSHOT.

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-09-01 04:06:12 +00:00
Ryan Wang 272e279891
feat: make field items of post data list extendable (#4528)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

文章数据列表的显示字段支持通过插件扩展。

<img width="717" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/3b3b7e1f-4626-4878-a234-48915dd34e8d">

#### Special notes for your reviewer:

需要测试文章管理功能是否正常。

#### Does this PR introduce a user-facing change?

```release-note
Console 端文章数据列表的显示字段支持通过插件扩展。
```
2023-09-01 03:02:12 +00:00
Ryan Wang 6dd77af7f8
feat: add restore by backup record supports (#4511)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

支持选择已有备份进行恢复。

<img width="1628" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/5e3169f7-a604-4e20-9c4e-f6bc68c58d59">

#### Special notes for your reviewer:

需要测试在恢复界面通过选择已有备份进行恢复的功能是否正常。

#### Does this PR introduce a user-facing change?

```release-note
系统恢复功能支持选择已有备份进行系统恢复。
```
2023-09-01 03:00:19 +00:00
Josue Ferreira 799a897622
Add Spanish (ES) locale (#4460) 2023-08-31 21:48:35 -05:00
Hilary Liu 178c0704c8
feat: add support for saving post by shortcut keys (#4510)
#### What type of PR is this?
/area editor
/area console


#### What this PR does / why we need it:
1. mac: 在编辑器中添加command+s保存文章
2. windows: 在编辑器中添加ctrl+s保存文章
#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4340

#### Does this PR introduce a user-facing change?

```release-note
Console 端支持通过快捷键保存文章
```
2023-09-01 02:30:12 +00:00
Ryan Wang 1892dce64b
refactor: operation and entity field extension points (#4530)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.9.x

#### What this PR does / why we need it:

重构数据列表操作项和显示字段扩展点的类型定义和条件判断:

1. `EntityDropdownItem` 改为 `OperationItem` 以适配不同的场景,最开始仅仅是为了提供给 Entity 组件,但后面发现如主题管理列表并没有使用 Entity 组件,所以定义统一改为 Operation 。
2. 修改 `OperationItem` 和 `EntityFieldItem` 的 `visible` 字段为 `hidden`,方便渲染的时候判断,并方便调用方默认不设置值。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-31 10:36:12 +00:00
Ryan Wang 8eaedd6ee8
feat: make theme list item operations extendable (#4523)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

主题管理列表项的操作按钮支持被插件扩展。

![image](https://github.com/halo-dev/halo/assets/21301288/fd605aa5-91a9-49dc-9f8d-14eeabd4fb93)

#### Which issue(s) this PR fixes:

Fixes #4522 

#### Special notes for your reviewer:

测试已有的操作按钮功能正常即可。

#### Does this PR introduce a user-facing change?

```release-note
Console 主题管理列表项的操作按钮支持被插件扩展。
```
2023-08-31 07:02:12 +00:00
John Niang 58eac2e30b
Fix the problem that deletable extensions created by plugins cannot be recycled (#4526)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

As I mentioned in <https://github.com/halo-dev/halo/issues/4519>, some extensions which are deletable cannot be recycled by GC. This PR provides an ability to watch scheme changes and recycles deletable extensions.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4519

#### Does this PR introduce a user-facing change?

```release-note
修复因重启后部分可被回收的资源一直处于删除中的状态
```
2023-08-31 04:12:12 +00:00
Ryan Wang 329b389d60
feat: add entity param for list item operation extension point (#4515)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

Halo 在 https://github.com/halo-dev/halo/pull/4452 中为数据列表的操作选项添加了拓展点,用于通过插件扩展操作选项。但忽略了操作选项的组件需要自定义并且自行处理点击事件,这个时候组件应该比较难拿到数据列表项的数据。

此 PR 对此进行优化,在扩展点方法传入了需要的数据。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-31 03:36:13 +00:00
Ryan Wang 9c875e1731
refactor: disable auto dispose feature of dropdown component (#4518)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.9.x

#### What this PR does / why we need it:

禁用 Dropdown 组件的自动销毁 dom 节点功能,以适配 https://github.com/halo-dev/halo/pull/4452 中拓展操作选项的场景。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-31 03:34:14 +00:00
Ryan Wang aa95bbbf4e
feat: add extension point for extend field items of data list (#4514)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

添加扩展数据列表中字段的基础能力,并为插件管理列表的字段添加扩展点以测试此扩展能力。

<img width="1650" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/0b43d7fe-c1d3-4df5-913b-77cc6dc899eb">

文档:https://github.com/halo-dev/halo/pull/4514/files#diff-3fa20be5b2061cc7b68fb5581f1f9ba64daac5831c6ccfdc9ff99f1b4b77a0a4


todo:

- [x] 场景测试
- [x] 文档 

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4497


#### Does this PR introduce a user-facing change?

```release-note
Console 端的插件列表的显示字段支持扩展。
```
2023-08-31 03:32:22 +00:00
Ryan Wang 28d62aeed7
fix: style issue of tabbar component of default type (#4521)
#### What type of PR is this?

/kind bug
/area console
/milestone 2.9.x

#### What this PR does / why we need it:

修复 Console 端 Tabbar 组件默认类型的样式问题。

before:

<img width="295" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/ae0f9114-4708-48ec-817c-2808f8fbf582">

after:

<img width="285" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/f955be60-223d-443c-ad04-98fe86c55a55">

#### Does this PR introduce a user-facing change?

```release-note
修复 Console 端 Tabbar 组件默认类型的样式问题。
```
2023-08-31 03:24:12 +00:00
zhengkunwang ed98a163fa
feat: add schema-mariadb.sql file (#4524)
#### What type of PR is this?
/kind feature

#### What this PR does / why we need it:
spring.sql.init.platform 增加 mariadb 参数支持
适配 1Panel 安装 halo 时 选择 mariadb


```release-note
None
```
2023-08-31 02:36:12 +00:00
Ryan Wang 22571367fa
fix: failed to change plugin status (#4506)
#### What type of PR is this?

/area console
/kind bug
/milestone 2.9.x

#### What this PR does / why we need it:

修复可能因为 version 锁的原因导致无法正常切换插件状态,现在改为在调用切换状态接口前,获取一次最新的插件信息,并提供了 retry 的配置,即失败之后重试 3 次。

#### Special notes for your reviewer:

测试能否正常切换插件状态即可。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-30 04:56:10 +00:00
Ryan Wang a819296945
Refactor theme list modal to support extend (#4505)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

重构主题管理的界面,支持扩展选项卡,同时做了一些 UI 的变更。

https://github.com/halo-dev/halo/pull/4505/files#diff-e8824d75ad964eebf685ad33b915b77d3146cd04587ec53328bbb5b5602ff094

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4496

#### Special notes for your reviewer:

需要测试主题的本地上传和远程下载的安装的更新。

#### Does this PR introduce a user-facing change?

```release-note
重构 Console 端主题管理界面,支持通过插件扩展选项卡。
```
2023-08-30 04:54:15 +00:00
Takagi d0f223e4d2
fix: approved filter in comment management is ineffective (#4502)
#### What type of PR is this?

/kind bug
/area console
/milestone 2.9.x

#### What this PR does / why we need it:

解决评论管理中,根据是否已审核状态的筛选无效的问题

#### How to test it?

在评论列表上切换审核状态,查看是否有效。

#### Which issue(s) this PR fixes:

Fixes #4494 

#### Does this PR introduce a user-facing change?
```release-note
修复评论管理中审核状态筛选无效的问题
```
2023-08-30 03:56:10 +00:00
Takagi 6ec91ed78f
fix: resolve the display bug after publishing content (#4501)
#### What type of PR is this?

/kind bug
/area console
/milestone 2.9.x

#### What this PR does / why we need it:

更改自动保存的策略,仅当内容具有缓存时才会执行自动保存。

#### How to test it?

新建/更新一篇文章之后,点击发布,查看是否还存在“文章已保存但未发布” 的提示

#### Which issue(s) this PR fixes:

Fixes #4499 

#### Does this PR introduce a user-facing change?
```release-note
修复文章发布后,文章列表显示未发布的问题。
```
2023-08-30 03:02:10 +00:00
Ryan Wang 8afd50f84f
feat: make backup list item operations extendable (#4508)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

备份列表的操作列表支持被插件扩展。

#### Does this PR introduce a user-facing change?

```release-note
Console 端的备份列表的操作按钮列表支持扩展。
```
2023-08-29 03:36:16 +00:00
Ryan Wang 68658f9b3a
feat: add supports for system restore by remote url (#4507)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

系统恢复支持通过远程文件链接恢复

<img width="806" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/f9f2694d-b051-49c0-9f9f-695e04d4f13e">
<img width="1019" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/dc428f36-5620-4042-b7fc-cbcdb06db679">


#### Special notes for your reviewer:

测试远程恢复的功能是否正常即可。

#### Does this PR introduce a user-facing change?

```release-note
系统恢复功能支持通过远程文件链接恢复。
```
2023-08-29 03:12:16 +00:00
Ryan Wang e7f53fad05
feat: display total items text for plugins list (#4500)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.9.x

#### What this PR does / why we need it:

在 https://github.com/halo-dev/halo/pull/4473 中移除了插件管理的分页功能,但可能会造成列表底部看起来不协调,所以恢复总条数的文字显示。

#### Which issue(s) this PR fixes:

Fixes #4498 

#### Does this PR introduce a user-facing change?

```release-note
None 
```
2023-08-28 03:50:13 +00:00
Ryan Wang 24d1d9460c
chore: update repository config for console packages (#4495)
#### What type of PR is this?

/area console
/kind cleanup

#### What this PR does / why we need it:

更新 Console 中 package.json 文件的 repository 设置。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-28 03:30:14 +00:00
Takagi a28c9a9781
pref: optimize the caching functionality of content editing (#4458)
#### What type of PR is this?

/kind improvement

#### What this PR does / why we need it:

本 PR 优化了文章、内容编辑时的本地缓存功能,之前内容对于本地缓存的依赖性非常强,因此导致了部分问题,如 #3820 ,本 PR 计划之后本地缓存将仅用于特殊情况下的内容恢复,因此尝试做了如下修改:
1. 当前正在编辑的文章,会在正常模式(切换路由、刷新页面、失去当前窗口焦点、停止编写一定时间均属于正常模式)下进行自动保存后删除本地缓存。
2. 若本地具有缓存,则会在进入编辑页面时,比对一次 content 的 version,若缓存 version 小于线上 version,则抛弃缓存,若一致,则使用缓存。

但经过测试,本 PR 无法解决如下问题:
1. 同时编辑一篇文章时,内容会被覆盖的问题。
2. 对比版本后会抛弃缓存,而实际上应当将本地缓存加入历史版本中。

#### How to test it?

1. 新建一篇文章,编写任意内容,返回文章页查看是否已经具有新的文章,且内容已被保存。
2. 修改一篇文章的内容,然后返回文章页,查看是否不是从缓存中加载。
3. 断网模式下修改一篇文章的内容,然后返回文章页,联网后,再次打开此文章,查看是否显示从缓存中加载。
4. 断网模式下修改一篇文章的内容,然后返回文章页。在另一个浏览器或页面修改此文章并保存后,回到断网页面联网后,查看是否更新为最新内容。

#### Which issue(s) this PR fixes:

Fixes #3820 
Fixes #4223 

#### Does this PR introduce a user-facing change?
```release-note
减少内容编辑对本地缓存依赖,支持内容自动保存至服务端。
```
2023-08-25 16:18:16 +00:00
Ryan Wang 8ad59631b1
chore: bump @halo-dev/richtext-editor version to alpha.30 (#4490)
#### What type of PR is this?

/area console
/kind cleanup
/milestone 2.9.x

#### What this PR does / why we need it:

升级默认编辑器的版本,包含以下修改:

1. 图片支持修改 alt 属性。 https://github.com/halo-sigs/richtext-editor/pull/32
2. 拖拽修改图片大小的时候保持等比例。 https://github.com/halo-sigs/richtext-editor/pull/33
3. 优化在移动端下,编辑器右侧边栏的样式。 https://github.com/halo-sigs/richtext-editor/pull/35
4. 编辑器标题、段落及代码块增加 Tab 快捷键缩进。 https://github.com/halo-sigs/richtext-editor/pull/34

#### Does this PR introduce a user-facing change?

```release-note
升级默认编辑器的版本,包含以下更改:

1. 图片支持修改 alt 属性。 by @GodlessLiu in <https://github.com/halo-sigs/richtext-editor/pull/32>
2. 拖拽修改图片大小的时候保持等比例。 by @GodlessLiu in <https://github.com/halo-sigs/richtext-editor/pull/33>
3. 优化在移动端下,编辑器右侧边栏的样式。 by @ruibaby in <https://github.com/halo-sigs/richtext-editor/pull/35>
4. 编辑器标题、段落及代码块增加 Tab 快捷键缩进。 by @LIlGG in <https://github.com/halo-sigs/richtext-editor/pull/34>
```
2023-08-25 16:14:13 +00:00
Ryan Wang f01e04f5a0
feat: add batch operation feature for plugins (#4482)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

支持对插件进行批量操作。

<img width="577" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/ec3ed727-e151-44d0-8c18-b6ec8a309ea9">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4475

#### Special notes for your reviewer:

测试批量对插件进行启用、停用、卸载。

#### Does this PR introduce a user-facing change?

```release-note
Console 端的插件管理支持批量操作。
```
2023-08-25 16:00:13 +00:00
John Niang e40b5d2388
Refine search result by customizing analyzer (#4456)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

- Removes dependency `cn.shenyanchao.ik-analyzer:ik-analyzer:9.0.0` due to no significant effect for searching result.
- Customize our own analyzer with StandardTokenizer, HTMLStripCharFilter and LowerCaseFilterFactory.

Please be aware of that the default field to search has become to `content` instead of `title` + `excerpt` + `content`. If someone wants to search title only, use `title: halo` as query string. For more details, please refer to <https://lucene.apache.org/core/9_5_0/queryparser/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.html>.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4455

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
优化本地搜索引擎
```
2023-08-25 15:46:12 +00:00
Ryan Wang 138ffde7e2
refactor: remove the pagination feature of plugin management (#4473)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.9.x

#### What this PR does / why we need it:

移除插件管理列表的分页功能,默认列表出所有安装的插件。

#### Which issue(s) this PR fixes:

Fixes #4469 

#### Does this PR introduce a user-facing change?

```release-note
移除 Console 端插件管理列表的分页功能,默认列表出所有安装的插件。
```
2023-08-25 15:42:14 +00:00
guqing 401c3c79ce
fix: newly added setting item are not taking effect (#4486)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.9.x

#### What this PR does / why we need it:
修复新增加的配置项默认值没有填充的问题

how to test it?
测试插件和主题新增加的配置项(带默认值)在升级后是否具有默认值

#### Which issue(s) this PR fixes:
Fixes #4377

#### Does this PR introduce a user-facing change?
```release-note
修复新增加的配置项默认值没有填充的问题
```
2023-08-25 15:36:14 +00:00
Ryan Wang 03bf2aea7c
fix: setup state is not set due to an exception when initializing the data (#4484)
#### What type of PR is this?

/area console
/kind bug
/milestone 2.9.x

#### What this PR does / why we need it:

修复因为初始化数据异常导致没有记录初始化状态的问题,这个问题可能会导致失败之后无法再让系统正常访问。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2023-08-25 15:34:14 +00:00
Ryan Wang 63bbd4fa81
Refactor plugin installation modal to support extend (#4461)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

重构插件安装的界面,以支持扩展。

文档:https://github.com/halo-dev/halo/pull/4461/files?short_path=fe4adc6#diff-fe4adc66005d24150478d0919c5f330ee695c2b5657ee7baed56929830c7eb90

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4432

#### Special notes for your reviewer:

需要测试插件的本地上传和远程下载的安装的更新。

#### Does this PR introduce a user-facing change?

```release-note
重构 Console 端插件安装界面,支持通过插件扩展选项卡。
```
2023-08-25 15:28:12 +00:00
John Niang 7603b21dd2
Support restoring with downloadable URL or backup name (#4474)
#### What type of PR is this?

/kind feature
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

Currently, we only support restoring by uploading backup file. Downloading and uploading larger backup files can be cumbersome for users.

This PR supports restoring with downloadable URL or backup name as well.

#### Special notes for your reviewer:

```bash
# Replace ${BACKUP_NAME} by yourself.
curl -u admin:admin 'http://localhost:8090/apis/api.console.migration.halo.run/v1alpha1/restorations' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundary3Al7pC6AbBNfB1js' \
  --data-raw $'------WebKitFormBoundary3Al7pC6AbBNfB1js\r\nContent-Disposition: form-data; name="backupName"\r\n\r\n${BACKUP_NAME}\r\n------WebKitFormBoundary3Al7pC6AbBNfB1js--\r\n'
```

```bash
# Replace ${DOWNLOAD_LINK} by yourself.
curl -u admin:admin 'http://localhost:8090/apis/api.console.migration.halo.run/v1alpha1/restorations' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytv6cqgmANkCpSuZm' \
  --data-raw $'------WebKitFormBoundarytv6cqgmANkCpSuZm\r\nContent-Disposition: form-data; name="downloadUrl"\r\n\r\n${DOWNLOAD_LINK}\r\n------WebKitFormBoundarytv6cqgmANkCpSuZm--\r\n'
```

#### Does this PR introduce a user-facing change?

```release-note
新增提供下载链接或者备份名进行系统恢复的功能。
```
2023-08-25 15:22:11 +00:00
guqing 2aeeb3e463
fix: unable to use plugin development mode on Windows systems (#4480)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.9.x

#### What this PR does / why we need it:
修复 Windows 系统上的插件路径问题

how to test it?
1. 在 windows 系统上使用插件生成模式初始化 halo 插件可以正常运行,测试上传插件 jar 升级可以正常运行
2. 测试 windows 系统上使用插件开发模式可以正确运行插件

#### Which issue(s) this PR fixes:
Fixes #4466 

#### Does this PR introduce a user-facing change?
```release-note
修复 Windows 系统上的插件路径问题
```
2023-08-25 15:16:12 +00:00
Ryan Wang e5df695f9d
chore: bump uppy related packages version (#4487)
#### What type of PR is this?

/area console
/kind cleanup
/milestone 2.9.x

#### What this PR does / why we need it:

升级 Console 端上传组件(Uppy)相关依赖的版本。

#### Does this PR introduce a user-facing change?

```release-note
升级 Console 端上传组件(Uppy)相关依赖的版本。
```
2023-08-25 15:10:12 +00:00
Hilary Liu dcddf5a355
fix: avatar component cannot watch data updates (#4459)
#### What type of PR is this?
/kind bug
/area console
/kind improvement

#### What this PR does / why we need it:
当用户对头像进行删除或修改时,文章页面和用户页面的头像会出现显示错误。
#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4408
Fixes https://github.com/halo-dev/halo/issues/4352

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
修复 Console 端头像组件的图片更新问题
```
2023-08-25 15:06:13 +00:00
Takagi 1d9186c1db
pref: user list supports searching by username (#4451)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

用户列表搜索支持按用户名搜索

#### Which issue(s) this PR fixes:

Fixes #4256 

#### Does this PR introduce a user-facing change?
```release-note
用户列表搜索支持按用户名搜索
```
2023-08-25 15:04:12 +00:00
Hilary Liu 81cafb14bb
fix: style issue of post widget when post title is too long (#4416)
<!--  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 console
<!--
添加其中一个类别:
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:
文章标题过长时,面板“最近文章”会存在日期显示不完整
#### 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 https://github.com/halo-dev/halo/issues/4304

#### Special notes for your reviewer:
目前我的解决方案是将Entity加上一个flex-wrap,这样可以保证日期显示完整,但是这可能导致上下文章的布局结构不统一。不知是否可以采纳。
![image](https://github.com/halo-dev/halo/assets/110895612/45218eaf-7d7c-46ba-80ad-2d646e5b16dd)

#### 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
用户在仪表板页面为`最近文章`设置的宽度不够时,可以显示创建日期
```
2023-08-25 14:36:12 +00:00
guqing 637071b260
feat: support displaying private posts for owner on theme-side (#4412)
#### What type of PR is this?
/kind feature
/area core
/milestone 2.9.x

#### What this PR does / why we need it:
登录后支持在主题端展示作者的私有文章

how to test it?
1. 测试登录后是否能访问到自己创建的私有文章,退出登录后私有文章消失
2. 不能在在主题端看到别人创建的私有文章
3. 创建私有文章测试登录后使用主题端的上一页下一页功能是否正常

#### Which issue(s) this PR fixes:
Fixes #3016

#### Does this PR introduce a user-facing change?
```release-note
登录后支持在主题端展示作者的私有文章
```
2023-08-25 14:12:12 +00:00
longjuan 5e21909e36
chore: register AttachmentFileTypeIcon component globally (#4489)
<!--  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 feature
/area console
<!--
添加其中一个类别:
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:
将 AttachmentFileTypeIcon 在 Console 全局进行注册,以在插件中复用此组件。
#### 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 https://github.com/halo-dev/halo/issues/4413

#### Special notes for your reviewer:
我把组件放到 `@/components` 里了,不合适我改回去
#### 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
```
2023-08-25 13:24:11 +00:00
Ryan Wang 7a057679da
refactor: remove the confirmation box of the enable/disable plugin (#4472)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.9.x

#### What this PR does / why we need it:

移除启动/停止插件的确认弹框。

#### Which issue(s) this PR fixes:

Fixes #4471 

#### Special notes for your reviewer:

测试启动和停止插件是否正常工作即可。

#### Does this PR introduce a user-facing change?

```release-note
移除 Console 端启动/停止插件的确认弹框。
```
2023-08-25 09:26:13 +00:00
Ryan Wang 70eb039468
feat: add extension point for extend data list operation items (#4452)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.9.x

#### What this PR does / why we need it:

添加扩展数据列表中操作按钮列表的基础能力,并为文章和插件管理列表的操作按钮列表添加扩展点以测试此扩展能力。

todo:

- [x] 场景测试
- [x] 文档 

#### Which issue(s) this PR fixes:

Ref https://github.com/halo-dev/halo/issues/4177

#### Special notes for your reviewer:

可以使用以下插件进行测试:

- 源码:[plugin-export-md.zip](https://github.com/halo-dev/halo/files/12436956/plugin-export-md.zip)
- 可安装的 JAR 包:[plugin-export-md-1.0.0-SNAPSHOT.jar.zip](https://github.com/halo-dev/halo/files/12436950/plugin-export-md-1.0.0-SNAPSHOT.jar.zip)

安装之后可以在文章列表的操作按钮列表中新增一个 `导出为 Markdown 文档` 的按钮,点击之后会导出一个 Markdown 文档。

<img width="374" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/eb0b7c61-f5c8-4af3-bf13-579681d36097">


#### Does this PR introduce a user-facing change?

```release-note
Console 端的文章和插件列表的操作按钮列表支持扩展。
```
2023-08-25 09:02:12 +00:00
John Niang acb738a8ac
Upgrade Lucene to 9.7.0 (#4479)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

This PR upgrades Lucene to 9.7.0. See: 
- https://lucene.apache.org/core/corenews.html#apache-lucenetm-970-available
- https://lucene.apache.org/core/9_7_0/changes/Changes.html

for more. for more.

#### Does this PR introduce a user-facing change?

```release-note
升级依赖 Lucene 至 9.7.0
```
2023-08-25 08:50:12 +00:00
John Niang 229bcafe71
Upgrade Spring Boot to 3.1.3 (#4478)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.9.x

#### What this PR does / why we need it:

This PR upgrades Spring Boot to 3.1.3. See https://github.com/spring-projects/spring-boot/releases/tag/v3.1.3 for more.

#### Does this PR introduce a user-facing change?

```release-note
升级依赖 Spring Boot 至 3.1.3
```
2023-08-25 08:40:11 +00:00