Commit Graph

4969 Commits (ccbe18567f731b00a25e2dff09b1615567f129ff)

Author SHA1 Message Date
John Niang 796ffac55f
Merge pull request #4864 from halo-dev/feature-user-center
Support user center project
2023-11-16 16:51:15 +08:00
John Niang c7a94a8211
Merge branch 'main' into feature-user-center 2023-11-16 16:36:30 +08:00
John Niang a0ea21175c
Revert "ci: push image to GHCR for pull_request event" (#4865)
Reverts halo-dev/halo#4588

According to https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#using-secrets-in-a-workflow, we cannot obtain secrets in pull requests, so that we are not able to push docker image for every pull request.

```release-note
None
```
2023-11-16 08:36:07 +00:00
Ryan Wang a951a34a1b
feat: refine user center feature (#4857)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2023-11-16 15:51:19 +08:00
John Niang 96a01cccc7
Merge branch 'main' into feature-user-center 2023-11-16 15:41:27 +08:00
John Niang c5dd569aa7
Disable code scanning for pull requests (#4863) 2023-11-16 15:37:59 +08:00
John Niang 206fdfa1ae
Merge pull request #4856 from JohnNiang/chore/integrate-with-sonarcloud
Integrate with SonarCloud
2023-11-15 15:55:22 +08:00
John Niang 08898bf100 Integrate with SonarCloud 2023-11-15 15:14:55 +08:00
Ryan Wang d356b65671 Merge branch 'main' into feature-user-center 2023-11-15 13:47:25 +08:00
John Niang b04496e4f3
Upgrade to SpringDoc 2.2.1-SNAPSHOT (#4854)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.11.x

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

This PR upgrades to SpringDoc 2.2.1-SNAPSHOT to resolve the problem of Swagger API doc display errors.

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

```release-note
升级 SpringDoc 至 2.2.1-SNAPSHOT 以解决部分 API 文档无法正常使用的问题
```
2023-11-15 03:04:09 +00:00
John Niang 65a7e970cd
Upgrade to Spring Boot 3.2.0-RC2 (#4850)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.11.x

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

- Upgrade to Spring Boot 3.2.0-RC2.
- Fix unit test errors due to upgrading.

See https://github.com/spring-projects/spring-boot/releases/tag/v3.2.0-RC2 for more.

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

Anyone who is using H2 database and wants to upgrade this version has to backup and restore Halo or upgrade old h2 database file manually.

```release-note
[Action Required] 升级 Spring Boot 至 3.2.0-RC2
```
2023-11-13 09:28:08 +00:00
Ryan Wang b0aec48c7c
feat: basic implementation of personal center (#4851)
#### What type of PR is this?

/area console
/milestone 2.11.x
/kind feature

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

个人中心的基础实现,此 PR 已完成:

1. 个人中心基础布局。
2. 将个人相关的功能移动到个人中心,包括个人资料修改、密码修改、PAT、通知配置、通知中心等。
3. 个人中心和管理控制台的切换入口。

<img width="1920" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/2db810dc-c467-4b6d-86ad-dd7473fa8ef6">

注意:此 PR 仅包含基础实现,其他的 UI 更改和 i18n 完善会放在后面的 PR。

#### Special notes for your reviewer:

测试方式:

1. 使用开发模式启动 Halo 后端。
2. 在 Console 目录运行 `pnpm dev`。
3. 测试 /console 的功能。
4. 测试 /uc 的功能。

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

```release-note
None
```
2023-11-13 08:56:08 +00:00
John Niang 70402994fa
Fix unit test errors on Windows environment (#4842)
#### What type of PR is this?

/kind cleanup
/area core

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

This PR fixes the unit test errors on Windows environment, mainly caused by different file systems.

```bash
PS C:\Users\johnniang\IdeaProjects\halo> ./gradlew check

> Task :application:checkstyleTest
Checkstyle rule violations were found. See the report at: file:///C:/Users/johnniang/IdeaProjects/halo/application/build/reports/checkstyle/test.html
Checkstyle files with violations: 16
Checkstyle violations by severity: [warning:43]


> Task :application:checkstyleMain
Checkstyle rule violations were found. See the report at: file:///C:/Users/johnniang/IdeaProjects/halo/application/build/reports/checkstyle/main.html
Checkstyle files with violations: 135
Checkstyle violations by severity: [warning:218]


> Task :application:test


BUILD SUCCESSFUL in 1m 39s
25 actionable tasks: 5 executed, 20 up-to-date
```

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

```release-note
None
```
2023-11-13 05:32:08 +00:00
inkslab 4a6ce88b7f
feat: add devices mock preview for post and single page (#4846)
#### What type of PR is this?
/kind feature
/area console


#### What this PR does / why we need it:
为文章以及页面预览增加终端切换功能,类似于预览主题的终端切换

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

Fixes #4789

#### Special notes for your reviewer:
测试方式:
本地运行halo,预览文章和页面,切换不同终端,各个界面正常显示且功能正常。


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

```release-note
文章预览支持模拟不同设备尺寸。
```
2023-11-13 04:06:08 +00:00
John Niang 841aa96e59
Upgrade to Lombok gradle plugin 8.4 (#4849)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.11.x

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

Upgrade to Lombok gradle plugin 8.4.

See https://docs.freefair.io/gradle-plugins/8.4/reference/#_installation and https://docs.freefair.io/gradle-plugins/8.4/reference/#_system_requirements for more.

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

```release-note
升级 Lombok Gradle 插件至 8.4
```
2023-11-13 03:08:09 +00:00
John Niang 9963ad359c
Upgrade to Gradle 8.4 (#4848)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.11.x

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

Upgrade to Gradle 8.4 by executing command `./gradlew wrapper --gradle-version 8.4 --distribution-type all`.

See https://docs.gradle.org/8.4/release-notes.html for more.

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

```release-note
升级 Gradle 至 8.4
```
2023-11-13 03:06:08 +00:00
John Niang ee52adf24c
Fix the problem where some Windows developers are unable to build project (#4844)
#### What type of PR is this?

/kind bug
/area core

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

Currently, some Windows developers using GBK as character encoding are unable to build project, please see https://github.com/halo-dev/halo/issues/4771 for more. 

Because the source code are using UTF-8 character encoding, the `javadoc`, `compileJava`, `compileTestJava` and `delombok` tasks will use the default character encoding GBK to handle the sources, which prevents the `:api:javadoc` task from running properly.

At the same time, we thank to @DaiYuANg for his first proposed solution in https://github.com/halo-dev/halo/pull/4517.

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

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

#### Special notes for your reviewer:

Validate the result by executing command `./gradlew clean build -x check` on Windows environment.

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

```release-note
修复在部分 Windows 开发者无法正常构建 Halo 的问题
```
2023-11-12 04:30:08 +00:00
Ryan Wang 52d064381f
refactor: improve project structure for user center feature (#4839)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.11.x

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

重构前端的目录结构,以便在后续让个人中心的代码支持复用部分代码。

https://github.com/ruibaby/halo/tree/refactor/file-structure/console/docs/project-structure

#### Special notes for your reviewer:

测试方式:

1. 启动最新的 Halo 后端。
2. 在 Console 目录运行 `pnpm dev`,可以观察到同时监听了 3000 和 4000 端口,分别代理原本的 /console 和新加的 /uc
3. 访问 /console 和 /uc。
4. 测试 `pnpm build`,完成之后检查主项目的 `src/main/resources` 目录是否包含 console 和 uc 目录。
5. 使用生产环境运行 Halo,访问 /console 和 /uc

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

```release-note
None
```
2023-11-09 06:56:06 +00:00
John Niang 4ea20142f5
Add generator meta into head (#4821)
#### What type of PR is this?

/kind feature
/area core
/milestone 2.11.x

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

Please see https://html.spec.whatwg.org/multipage/semantics.html#meta-generator for more.

This PR add the generator meta into head, so that we can know what sites are using Halo.

```bash
http localhost:8090/ | grep generator

<meta name="generator" content="Halo 2.11.0-SNAPSHOT"/>
```

If someone want to disable the generator meta, they can configure the property `halo.theme.generator-meta-disabled` to `true`.

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

```release-note
添加 Generator 元数据标识
```
2023-11-06 02:52:48 +00:00
John Niang caa4d44907
Upgrade to SnakeYAML 2.2 (#4819)
#### What type of PR is this?

/kind cleanup

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

Upgrade to SnakeYAML 2.2.

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

This PR fixes CVE-2022-1471(High-severity vulnerabilities).

<img width="643" alt="image" src="https://github.com/halo-dev/halo/assets/16865714/65a3c2e3-09bb-4592-a9f1-07f72ae05263">

See https://hub.docker.com/layers/halohub/halo/sha-2ccf811/images/sha256-e11fe7550a6b7eef42166b53373b6fe889538db54921fbd83623558286d9270c?context=explore for more.

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

```release-note
升级 SnakeYAML 至 2.2
```
2023-11-04 04:48:42 +00:00
guqing b8755ff3b4
chore: update the waiting time for publishing post (#4814)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.11.x

#### What this PR does / why we need it:
修改发布文章的等待时间以防止因数据库执行延迟较高导致的错误提示

最大等待时间为:`100ms * 2 ^ (retryNum - 1)` = `25600ms`
总共需等待时间为:`100ms * (2 ^ retryNum - 1)` = `31900ms` = `31.9 s`

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

```release-note
None
```
2023-11-02 09:16:05 +00:00
Ryan Wang 8c56093ee2
feat: build infrastructure for user center feature (#4806)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.11.x

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

添加前端部分的个人中心的基础设施,将通过改造 Console 项目的结构实现对个人中心页面的隔离。意味着 Console 项目的意义将转变为 frontend,其中包含 Console 和 UC。

#### Special notes for your reviewer:

测试方式:

1. 启动最新的 Halo 后端。
2. 在 Console 目录运行 `pnpm dev`,可以观察到同时监听了 3000 和 4000 端口,分别代理原本的 /console 和新加的 /uc
3. 访问 /console 和 /uc。
4. 测试 `pnpm build`,完成之后检查主项目的 `src/main/resources` 目录是否包含 console 和 uc 目录。
5. 使用生产环境运行 Halo,访问 /console 和 /uc

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

```release-note
None
```
2023-11-02 09:00:28 +00:00
Takagi 57b24261e7
fix: resolve the issue of receiving duplicate key error after deleting metadata (#4815)
#### What type of PR is this?

/kind bug
/area console
/milestone 2.11.x

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

重构去重元数据的逻辑,解决删除元数据后仍旧提示 key 不能重复的问题。

#### How to test it?

1. 在文章列表点击设置按钮
2. 添加两个个空的元数据,不保存直接关闭设置框。
3. 再次打开设置框,点击删除空的元数据,查看是否会提示 key 重复。

#### Does this PR introduce a user-facing change?
```release-note
解决删除元数据后仍旧提示 key 不能重复的问题
```
2023-11-02 07:50:48 +00:00
Ryan Wang a8a5413460
refactor: add t parameter for plugin bundle resources (#4804)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.11.x

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

为插件的 bundle.css 和 bundle.js 重定向请求添加时间戳参数,防止被浏览器、Nginx、CDN 服务缓存,导致插件的资源不能及时更新。

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

Fixes #4803 

#### Special notes for your reviewer:

测试方式:

1. 在 Firefox 浏览器测试启动和停止若干插件,观察插件提供的 UI 样式是否正常即可。

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

```release-note
优化 Console 端插件捆绑资源的请求,防止在操作插件状态之后无法及时更新资源。
```
2023-11-02 07:44:48 +00:00
guqing 2d743123bf
chore: update the waiting time for publishing post (#4810)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.11.x

#### What this PR does / why we need it:
修改发布文章的等待时间以防止因数据库执行延迟较高导致的错误提示

最大等待时间为:`100ms * 2 ^ (retryNum - 1)` = `1600ms`
总共需等待时间为:`100ms * (2 ^ retryNum - 1)` = `3100ms`

#### Does this PR introduce a user-facing change?
```release-note
修改发布文章的等待时间以防止因数据库执行延迟较高导致的错误提示
```
2023-11-02 03:47:58 +00:00
Takagi 691cd38c51
fix: optimize editor performance and resolve freezing issues (#4805)
#### What type of PR is this?

/kind bug

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

优化了编辑器的性能,并解决了卡死现象。具体措施如下:

1. 编辑器异步加载时,由于其 component 并不会使用响应式,所以也无需进行代理,因此使用 `markRaw` 将其转为普通对象,可以优化 vue 性能。
2. 由于 `DefaultEditor` 有多个根节点导致透传的 attrs 无法设置,因此新增一个 div 节点将其原有节点包裹。参见 https://cn.vuejs.org/guide/components/attrs.html#attribute-inheritance-on-multiple-root-nodes 。
3. 原有编辑器实例在切换路由之后不会释放,此次修改之后,将在 vue 的 `onBeforeUnmount` 时间中手动释放编辑器实例。

#### How to test it?

1. 新建文章,新建一个表格。
2. 不要保存,点击文章路由跳出编辑器界面,再次点击上一次所编辑器的文章,查看是否会卡死。

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

Fixes #4798 

#### Does this PR introduce a user-facing change?
```release-note
优化编辑器性能并解决切换页面所造成的卡死现象
```
2023-11-02 02:54:50 +00:00
John Niang b9c0a1f1d0
Support user-center route (#4797)
#### What type of PR is this?

/kind feature
/area core
/area console

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

This PR add a route to support user-center.

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

```release-note
None
```
2023-11-01 03:18:02 +00:00
John Niang dcf099691f
Fix the problem of creating PAT with hidden roles (#4800)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.11.x

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

Fix the problem that we will encounter "insufficient roles" error while creating PAT with hidden roles.

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

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

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

```release-note
修复因部分角色导致无法正常创建个人令牌的问题
```
2023-11-01 03:00:09 +00:00
exialin f2d7376d9f
fix: correct the tooltip of view type in the Attachments page (#4785)
#### What type of PR is this?

/kind bug

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

console附件页面List Mode和Grid Mode的tooltip写反了:
<img width="1172" alt="image" src="https://github.com/halo-dev/halo/assets/4889894/6645b29f-7e92-4c42-9938-892e53f92115">


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

Fixes #

#### Special notes for your reviewer:

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

```release-note
修复附件管理布局切换按钮的提示文字。
```
2023-10-28 16:15:38 +00:00
guqing b5094d6e6f
refactor: autofill if post is published but no publish time (#4775)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.10.x

#### What this PR does / why we need it:
如果文章是发布状态但没有发布时间则自动填充

#### Does this PR introduce a user-facing change?
```release-note
None
```
2023-10-27 09:37:54 +00:00
Roozen 3905ec8b8d
fix: change the ref parameter type in the list method of comment finder api to map (#4773)
<!--  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
<!--
添加其中一个类别:
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:
在主题使用如下FinderAPI时
![image](https://github.com/halo-dev/halo/assets/93673944/723e9f4e-0192-48e4-be18-2300579215bd)
将产生如下错误
![image](https://github.com/halo-dev/halo/assets/93673944/d36c9dd7-d754-4d41-a6d2-06027359bb4e)
因为方法定义为
![image](https://github.com/halo-dev/halo/assets/93673944/a3b95df3-96f8-427e-b9c0-7e97e5d2335d)
所以修改方法参数
#### 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:

#### 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-10-27 08:54:56 +00:00
Takagi 921518aef3
fix: cannot change the user's own avatar (#4777)
#### What type of PR is this?

/kind bug

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

当前用户上传头像时的接口中名字应该是 `-` 而不是具体的 metadata name。

#### How to test it?

使用无用户管理权限的用户登录,查看是否能上传头像。

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

Fixes #4776 

#### Does this PR introduce a user-facing change?
```release-note
解决无用户管理权限的用户无法上传头像的问题
```
2023-10-27 08:50:53 +00:00
Takagi 2dbfbd1bd0
fix: resolve the issue of occasional blank annotation and error occurrences (#4772)
#### What type of PR is this?

/kind bug

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

在获取自定义元数据时,将空白 key 与重复的 key 过滤,用于解决可能出现的额外空白元数据及报错问题。

#### How to test it?

尝试点击编辑文章 -> 设置,查看是否有额外空白元数据的出现。

由于是概率性问题,因此若本地环境未复现,则需要使用生产环境进行验证。

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

Fixes #4764 

#### Does this PR introduce a user-facing change?
```release-note
解决文章设置中可能出现空白元数据的问题
```
2023-10-26 07:58:15 +00:00
Ryan Wang e20ab8f880
refactor: use new api to change plugin status (#4747)
#### What type of PR is this?

/area console
/kind improvement

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

适配 https://github.com/halo-dev/halo/pull/4745 ,使用新的接口启动/停止插件。

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

Fixes #4744 

#### Special notes for your reviewer:


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

```release-note
None
```
2023-10-26 02:56:14 +00:00
guqing baca058bb3
fix: incorrect results when filtering unpublished posts (#4736)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.10.x

#### What this PR does / why we need it:
修复筛选未发布文章时结果不正确的问题

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

#### Does this PR introduce a user-facing change?
```release-note
修复筛选未发布文章时结果不正确的问题
```
2023-10-23 08:13:24 +00:00
guqing 772c7fcf97
refactor: provide API for change plugin motion status synchronously (#4745)
#### What type of PR is this?
/kind improvement
/area core
/area console

#### What this PR does / why we need it:
提供允许同步更改插件运行状态的 API

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

#### Does this PR introduce a user-facing change?
```release-note
提供允许同步更改插件运行状态的 API
```
2023-10-23 03:07:13 +00:00
John Niang 21e975d60a
Upgrade to Spring Boot 3.1.5 (#4758)
#### What type of PR is this?

/kind cleanup

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

Upgrade to Spring Boot 3.1.5. See https://github.com/spring-projects/spring-boot/releases/tag/v3.1.5 for more.

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

```release-note
升级依赖 Spring Boot 至 3.1.5
```
2023-10-20 03:24:44 +00:00
zjy4fun 4af82712e1
Fix the display error in the comments page status filter text (#4743)
#### What type of PR is this?

/kind bug
/area console

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

![fix-status-filter-2](https://github.com/halo-dev/halo/assets/106857035/e1f0a7ea-1328-45f2-ad06-cf14e91b8e4a)


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

Fixes #4731

#### Special notes for your reviewer:


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

```release-note
修复 Console 端评论状态筛选无法显示筛选结果的问题
```
2023-10-19 08:36:25 +00:00
longjuan ff7af9f0d9
fix: plugin extension tab cannot be displayed when only having plugin view permissions (#4746)
<!--  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:
修复用户仅拥有插件查看权限时,有setting的插件会导致无法加载插件扩展tab的问题
#### 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 #4732

#### Special notes for your reviewer:
1. 使用如下测试版 s3 插件
[plugin-s3-1.5.0-SNAPSHOT.jar.zip](https://github.com/halo-dev/halo/files/12914987/plugin-s3-1.5.0-SNAPSHOT.jar.zip)
<https://github.com/longjuan/halo-plugin-s3os/tree/aaa>
2. 创建一个用户,仅赋予 S3 Link 权限(依赖于插件查看和附件管理权限)
3. 登录这个新用户,打开 s3 插件详情
4. 观察 关联S3文件 功能是否正常出现
#### 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
修复部分场景下插件详情的扩展 tab 不能正常显示的问题
```
2023-10-19 05:32:25 +00:00
John Niang 493c599eaa
Fix typo of authentication document (#4717)
#### What type of PR is this?

/kind documentation

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

Correct `metadata.annotations.security.halo.run/access-token` into `security.halo.run/access-token`.

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

```release-note
None
```
2023-10-12 10:00:39 +00:00
Takagi 9e33a81e2d
refactor: refactor the repeater component using the schema approach (#4702)
#### What type of PR is this?

/kind improvement

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

对 Formkit Repeater 组件使用 schema 的方式进行重构,重构后的 Repeater 组件将支持条件判断,按照下述方式定义即可。

```
const formSchema = [
  {
    $formkit: "repeater",
    name: "testing",
    min: 1,
    max: 2,
    addLabel: "添加",
    children: [
      {
        $formkit: "select",
        name: "things",
        id: "things",
        label: "Things",
        placeholder: "Select",
        options: ["Something", "Else"],
      },
      {
        $formkit: "number",
        if: "$value.things === Something",
        name: "show_1",
        id: "show_something_1",
        label: "Show something",
      },
      {
        $formkit: "number",
        if: "$value.things === Something",
        name: "show_2",
        id: "show_something_2",
        label: "Also show something",
      },
    ],
  },
];
```

同时额外增加了对 `addLabel`、`addButton`、`upControl`、`downControl`、`insertControl`、`removeControl`  属性的支持。

#### How to test it?

- 测试原有使用 `Repeater` 组件可否正常使用。
- 对 `Repeater` 条件判断功能进行测试。
- 查看保存的数据格式是否正确

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

Fixes #4603 

#### Does this PR introduce a user-facing change?
```release-note
重构 Repeater 组件,使其支持条件判断
```
2023-10-12 08:08:33 +00:00
AirboZH 767aa53a22
pref: improve the structure of ContributorVo (#4645) (#4705)
<!--  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 improvement
/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:
优化ContributorVo格式,支持更多信息。
#### 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 #4645

#### Special notes for your reviewer:
none
#### 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
contributorFinder 支持返回用户元数据、注册信息、用户权限等。
```
2023-10-11 09:12:34 +00:00
John Niang 5742a7d5d5
Prepare for next development 2.11.0 (#4709)
#### What type of PR is this?

/kind cleanup

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

Bump all versions.

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

```release-note
None
```
2023-10-11 06:46:30 +00:00
guqing 72e5cf293c
chore: modify the name in the notification template (#4703) 2023-10-09 23:21:51 -05:00
John Niang 63be25173d
Fix the problem that OAuth2 users cannot create PATs (#4701)
#### What type of PR is this?

/kind bug
/area core

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

If someone logs in Halo via OAuth2, they will be prohibited from creating PATs. See https://github.com/halo-dev/halo/issues/4697 for more.

This PR also checks for UsernamePasswordAuthenticationToken while checking whether the current session was created by a real user.

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

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

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

```release-note
None
```
2023-10-10 04:18:28 +00:00
guqing 1ff1b4f2a5
fix: incorrect unsubscribe link for email notification (#4695)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.10.x

#### What this PR does / why we need it:
修复邮件通知中取消订阅链接不正确的问题

#### Does this PR introduce a user-facing change?
```release-note
修复邮件通知中取消订阅链接不正确的问题
```
2023-10-10 04:12:32 +00:00
Ryan Wang d97c1e6e3d
chore: bump default theme version to 1.6.0 (#4700)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.10.x

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

升级默认主题 Earth 的版本至 [1.6.0](https://github.com/halo-dev/theme-earth/releases/tag/v1.6.0)


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

```release-note
None
```
2023-10-10 03:44:28 +00:00
Ryan Wang a81b073ab3
chore: bump app store plugin version to 1.0.0-beta.2 (#4699)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.10.x

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

修改应用市场插件的版本为 [1.0.0-beta.2](https://github.com/halo-dev/plugin-app-store/releases/tag/v1.0.0-beta.2)


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

```release-note
None
```
2023-10-10 03:30:28 +00:00
Ryan Wang ab99d109d9
chore: bump @halo-dev/components version to 1.9.0 (#4698)
#### What type of PR is this?

/area console
/milestone 2.10.x
/kind improvement

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

修改 @halo-dev/components 的版本号为 1.9.0,将在 2.10.0 发布之后推送到 npmjs.com

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

```release-note
None
```
2023-10-10 03:14:28 +00:00
Ryan Wang 0b8e0d9b99
feat: display add icon when user avatar is not setting (#4694)
#### What type of PR is this?

/area console
/kind improvement
/milestone 2.10.x

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

当用户未设置头像时,头像显示添加图标,能够更好的提示用户如何设置头像。

<img width="528" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/380ed906-2d76-41bd-ae17-6c31ca7c444a">

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

Fixes #4693 

#### Special notes for your reviewer:

1. 测试未设置头像时,是否添加添加图标。
2. 测试设置头像之后,鼠标移动到头像时,是否显示修改图标。

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

```release-note
优化 Console 端个人资料的头像显示,未设置头像时显示添加图标。
```
2023-10-10 03:12:36 +00:00