Commit Graph

192 Commits

Author SHA1 Message Date
Jerry
897558f08c fix: Error detection method in the MIMEType and file extension matching stage (#7922)
### What type of PR is this?

/kind bug

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

Ref: #7903 

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

Fixes #7661
Fixes #7903 

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

```release-note
修复因文件类型与文件拓展名匹配导致无法上传部分文件的问题
```
2025-11-11 02:00:40 +00:00
柳意梧情
5a47be9783 Add protected usernames restriction to sign-up (#7887)
#### What type of PR is this?

/kind feature

#### What this PR does / why we need it:
- 自定义设置限制用户名注册

<img width="500" alt="image" src="https://github.com/user-attachments/assets/b4e72734-4740-4f5e-93d5-3745a2d58136" />
<img width="500" alt="803e971cf23cebb212379cbc35c5d3a2" src="https://github.com/user-attachments/assets/c6429096-d600-4539-9b65-9a0670dc6197" />

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

Fixes #7165

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

```release-note
用户注册支持设置受保护用户名
```
2025-10-31 08:10:19 +00:00
John Niang
ef896539a8 Remove unused fields from User and UserVo classes (#7880)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.22.x

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

This PR removes unused fields(`status.loginAt` and `status.loginHistory`) from User and UserVo classes.

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

```release-note
None
```
2025-10-28 13:52:19 +00:00
John Niang
9c211d7e7a Add built-in plugins initializer and refactor plugin manager integration 2025-10-28 18:19:17 +08:00
John Niang
dc7cd46d36 Refactor RequestSynchronizer to list all names in batches for improved performance (#7860)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.22.x

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

This PR refactors RequestSynchronizer to list all names in batches for improved performance and refactors reconciler classes to replace DefaultExtensionMatcher with syncAllListOptions for improved query handling.

See https://github.com/halo-dev/halo/pull/6145 for more.

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

```release-note
None
```
2025-10-23 09:30:14 +00:00
John Niang
470cd3cc02 Refactor index engine to improve indexing and query performance (#7822)
#### What type of PR is this? 
 
/kind bug 
/kind improvement 
/kdin api-change 
/area core 
/area plugin 
/milestone 2.22.x 
 
#### What this PR does / why we need it: 
 
This PR refactors index engine entirely to improve indexing and query performance. 
 
Meanwhile, these changes allow developers to configure various index types instead of String only, such as Boolean, Integer, Instant an so on. 
 
#### Which issue(s) this PR fixes: 
 
This PR also fixes some potential bugs, such as <https://github.com/halo-dev/halo/issues/7622>, <https://github.com/halo-dev/halo/pull/6934>, <https://github.com/halo-dev/halo/issues/6466> and so on. 
 
Fixes https://github.com/halo-dev/halo/issues/7622 
 
#### Special notes for your reviewer: 
 
Make sure these changes are backwardly compatible for old data. 
 
#### Does this PR introduce a user-facing change? 
 
```release-note 
优化索引引擎以提升索引和查询性能 
```
2025-10-22 10:04:16 +00:00
John Niang
90b292288e Upgrade Checkstyle to version 12.1.0 and standardize plugin declaration (#7828) 2025-10-20 11:16:54 +08:00
John Niang
b5b448d842 Upgrade thumbnailator to version 0.4.21 and remove imgscalr and metadata-extractor dependencies (#7818)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.22.x

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

This PR upgrades thumbnailator to version 0.4.21 and remove unused imgscalr and metadata-extractor dependencies.

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

```release-note
None
```
2025-10-17 10:09:52 +00:00
John Niang
033117cd9c Refactor image attachment thumbnail feature 2025-10-02 10:29:30 +08:00
John Niang
6992f1788c Add context propagation dependency to build.gradle (#7744)
#### What type of PR is this?

/kind improvement
/area core
/area plugin
/milestone 2.21.x

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

This PR adds `io.micrometer:context-propagation` dependency to assist with context propagation across different types of context mechanisms, such as ThreadLocal, Reactor Context, and others.

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

```release-note
None
```
2025-09-09 08:54:44 +00:00
John Niang
a32cd4b551 Upgrade to Spring Boot 3.5.5 (#7715)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

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

This PR is a regular update for Spring Boot. See https://github.com/spring-projects/spring-boot/releases/tag/v3.5.5 for more.

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

```release-note
升级依赖 Spring Boot 至 3.5.5
```
2025-08-29 03:28:14 +00:00
John Niang
956e23dd7f Allow deserializing ListResult (#7711)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

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

This PR allows ListResult to be deserialized with JSON. So we can resolve ListResult response of APIs correctly.

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

```release-note
None
```
2025-08-21 10:15:48 +00:00
Ryan Wang
3487132154 Add support for hidden comments (#7679)
* Add 'hidden' field to comment and reply requests

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Add support for filtering comments with hidden

* Specify hidden=false and approved=true for anonymous users

* Set default hidden flag only if null in comments

* Add 'private reply' option to comment modals

* Add private tag for hidden comments and replies

* Allow hiding comments only

* Enhance comment visibility logic to allow owners to view hidden comments

* Remove hidden input for reply form

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Refine i18n

Signed-off-by: Ryan Wang <i@ryanc.cc>

---------

Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: John Niang <johnniang@foxmail.com>
2025-08-19 14:47:37 +08:00
Ryan Wang
59030f839a Refactor SEO meta tag processors and update help texts for ui (#7665)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.21.x

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

This PR optimizes SEO tag generation with the following changes:

1. Site description and keywords settings now only apply to the homepage and are no longer inserted on other pages.
2. Added meta description tags for category archive pages, using the category description as content.
3. Improved the help text descriptions for SEO options in system settings.

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

Fixes #7662 

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

```release-note
优化页面的 SEO 标签的生成
```
2025-08-08 12:42:41 +00:00
John Niang
17643bc451 Fix existence check of posts in some cases (#7673)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.21.x

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

This PR fixes the internal check of selector converter `NotEquals`, which might lead to failing check of `metadata.name!=1`.

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

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

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

```release-note
修复极端场景下无法检查文章别名是否存在的问题
```
2025-08-08 11:22:40 +00:00
John Niang
3a50fdc4e5 Optimize homepage post loading by eliminating N+1 queries for user data (#7668)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

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

This PR refactors posts query to reduce database queries significantly.

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

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

Supersedes https://github.com/halo-dev/halo/pull/7644

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

```release-note
优化首页、归档页加载速度
```
2025-08-06 16:08:37 +00:00
John Niang
ae9dd6f3d3 Fix the problem that synchronizer might be started multiple times (#7642)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.21.x

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

This PR fixes the problem of starting synchronizer multiple times while configuring multiple workers.

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

```release-note
None
```
2025-07-29 06:49:50 +00:00
Ryan Wang
a4a418b22e feat: add support for remote URL attachment downloads (#7602)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.21.x

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

Add support for remote URL attachment downloads

<img width="1031" alt="image" src="https://github.com/user-attachments/assets/f85eee2f-a40b-49ff-9ced-31136f59e67c" />

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

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

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

```release-note
支持通过远程地址下载到附件库
```
2025-07-04 04:37:40 +00:00
John Niang
21e115165f Reduce application size by removing unused JPA dependency (#7549)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.21.x

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

This PR removes unused JPA dependency to reduce application size about 14.6% off.

```bash
# Before
❯ ll application/build/libs
total 123M
-rw-r--r--. 1 johnniang johnniang 123M Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang   64 Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar.sha256
```

```bash
# After
❯ ll application/build/libs
total 105M
-rw-r--r--. 1 johnniang johnniang 105M Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang   64 Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar.sha256
```

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

```release-note
移除无用的依赖,软件包的体积减少近 15%
```
2025-06-13 11:44:43 +00:00
John Niang
033764ea63 Migrate maven publish with publishing by using the Portal Publisher API 2025-05-29 11:44:26 +08:00
John Niang
301bbfb7c9 Remove deprecated code 2025-05-26 15:38:03 +08:00
柳意梧情
5c27a0484b Add shared events for listening user login and logout in plugins (#7440)
#### What type of PR is this?
/kind improvement

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

This PR adds UserLoginEvent and UserLogoutEvent which are shared to plugins.

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

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

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

```release-note
添加用户登录/登出事件
```
2025-05-23 08:54:12 +00:00
John Niang
3df117511c Remove deprecation warnings from Gradle (#7468) 2025-05-23 16:08:38 +08:00
John Niang
fb2fc31cdd Bump Spring Boot to 3.5.0 (#7467)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

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

This PR bumps Spring Boot to [3.5.0](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.0).

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

```release-note
升级依赖 Spring Boot 至 3.5.0
```
2025-05-23 04:22:12 +00:00
John Niang
e9011eb3ec Add support for configuring external URL online 2025-05-22 00:00:55 +08:00
Ryan Wang
d382b45236 Merge branch 'main' into refactor/libs-versions 2025-05-20 10:07:25 +08:00
John Niang
0c4be85467 Set Java 21 as minimal version (#7451)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

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

This PR sets Java 21 as minimal version. After doing that, Halo can only run on Java 21 or newer version.

Fortunately, all plugins and themes won't be affected by the restriction.

> https://docs.gradle.org/current/userguide/toolchains.html#sec:release-flag-toolchain

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

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

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

```release-note
[Action Required] 更新最低运行环境为 Java 21
```
2025-05-20 02:05:25 +00:00
John Niang
e6f753bb5d Refactor dependencies and plugins with version catelog 2025-05-19 16:05:56 +08:00
mwwcdk
3a9e5d2010 Fix the deprecation warning of support for convention-base @Component names (#7433)
#### What type of PR is this?

/kind improvement

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

过期的Spring @Component API

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

Fixes #7431

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

```release-note
None
```
2025-05-14 16:38:36 +00:00
John Niang
747ca05d90 Rearrange system initialization by phase (#7417)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR refactors system initialization process using [SmartLifecycle](https://docs.spring.io/spring-framework/docs/6.2.x/javadoc-api/org/springframework/context/SmartLifecycle.html). All the initializations will run in the same thread sequentially and  complete before web server startup.

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

Potentially fix https://github.com/halo-dev/halo/issues/6264

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

```release-note
None
```
2025-05-09 07:25:48 +00:00
John Niang
5a6f1ef641 Use Argon2 password encoder as default to remove password limit (#7407)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR makes Argon2 password encoder as default to remove password limit of 72.

Please note that there is no compatibility issue for old passwords.

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

Fixes #7405 

#### Special notes for your reviewer:

1. Try to login as admin
2. Create a password having the length of 73 or more for a new user
3. See the result

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

```release-note
修复无法设置长度超过72个字符的密码的问题
```
2025-05-06 09:19:36 +00:00
guqing
0676551c77 feat: support configuring default locale in system setting (#7365)
#### What type of PR is this?
/kind feature
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
系统设置新增首选语言设置

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

Fixes #7047
Fixes https://github.com/halo-dev/halo/issues/7172
Fixes https://github.com/halo-dev/halo/issues/4086
Fixes https://github.com/halo-dev/halo/issues/7336

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

```release-note
系统设置新增首选语言设置
```
2025-04-27 04:04:50 +00:00
John Niang
23951de314 Support resolving javadoc for SpringDoc (#7390)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR adds therapi-runtime-javadoc dependency and annotationProcessor for api and application projects. After doing that, SpringDoc will introspect Javadoc annotations and comments. See https://springdoc.org/#javadoc-support for more.

For support in plugin, just add an annotationProcessor like below:

```gradle
dependencies {
    implementation platform('run.halo.tools.platform:plugin:2.20.8-SNAPSHOT')
    compileOnly 'run.halo.app:api'

    annotationProcessor 'com.github.therapi:therapi-runtime-javadoc-scribe:0.13.0'
}
```

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

```release-note
None
```
2025-04-25 15:17:54 +00:00
guqing
ee064f505b fix: equals and hash code for unstructured metadata (#7382)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
修复 Unstructured Metadata 的 equals hashcode  排除 version,这可能是之前误操作提交的

ed50a0224d/api/src/main/java/run/halo/app/extension/Unstructured.java (L75)

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

```release-note
None
```
2025-04-24 03:11:13 +00:00
John Niang
3a5e4f82b4 Extract PAT operation with service (#7341)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR refactors UserScopedPatHandlerImpl with PAT service to make PAT operations flexible.

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

```release-note
None
```
2025-04-14 10:22:12 +00:00
John Niang
fb7a09738a Fix the repeat registration with the email already verified (#7323)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR fixes the repeat registration with the email already verified.

![Screenshot From 2025-04-02 16-33-22](https://github.com/user-attachments/assets/1caf0550-f80f-42e4-8db6-747ff1035f63)

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

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

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

```release-note
修复注册时未验证邮箱是否已被占用的问题
```
2025-04-02 10:25:54 +00:00
John Niang
802666a7ce Fix the problem of unit test failure under Java 21 (#7304)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR adjusts the order of checking instance of ExecutorService and AutoCloseable interfaces. Because the ExecutorService extends AutoCloseable in Java 21. As a result, unit tests against the method won't be passed in Java 21.

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

```release-note
None
```
2025-03-21 06:21:25 +00:00
guqing
6e6bb42778 feat: allow theme preview for theme admins when preview is disabled (#7277)
#### What type of PR is this?
/kind feature
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
支持禁用主题预览功能,但拥有主题管理权限的用户不受此功能影响

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

Fixes #7204

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

```release-note
支持禁用主题预览功能,但拥有主题管理权限的用户不受此功能影响
```
2025-03-12 08:39:04 +00:00
Ryan Wang
4ad97cd58e feat: add support for disabling/enabling user accounts (#7273)
#### What type of PR is this?

/kind feature
/area ui
/milestone 2.20.x

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

Add support for disabling/enabling user accounts

<img width="1207" alt="image" src="https://github.com/user-attachments/assets/a298e6f7-21a1-4b1c-86c3-1064a136e28c" />

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

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

#### Special notes for your reviewer:

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

```release-note
支持在管理控制台禁用指定用户
```
2025-03-10 15:15:02 +00:00
John Niang
00c8cbb7bb Enable Virtual Thread when running on JVM 21 (#7261)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR enables Virtual Thread for instances running on JVM 21. This won't affect instances running on JVM 17.

References:
- https://spring.io/blog/2023/10/31/what-new-is-coming-in-reactor-core-3-6-0
- https://spring.io/blog/2022/10/11/embracing-virtual-threads
- https://docs.spring.io/spring-boot/3.4/reference/features/task-execution-and-scheduling.html

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

```release-note
None
```
2025-03-05 02:32:57 +00:00
edops973
8305822c09 Update deprecated default string function (#7239)
#### What type of PR is this?
/kind cleanup

#### What this PR does / why we need it:
Replaces deprecated functions (`String defaultString(final String str, final String nullDefault)`) with its recommended alternatives

See 29ccc7665f/src/main/java/org/apache/commons/lang3/StringUtils.java (L1635) for more.

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

```release-note
None
```
2025-02-26 10:12:54 +00:00
guqing
1491c5bb07 refactor: generate summaries only for content changes (#7200)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
自动生成摘要仅对内容变更时生效

see https://github.com/halo-dev/halo/issues/7193#issuecomment-2581699190 for more details

避免对资源造成浪费如 AI 摘要生成

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

Fixes #7193

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

```release-note
自动生成摘要仅对内容发生变更时生效
```
2025-01-20 03:23:27 +00:00
guqing
24f8d7b571 fix: XSS vulnerability due to polyglot file type upload (#7149)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
修复文件类型限制能通过混合文件类型绕过检测的问题

参考:https://github.com/halo-dev/halo/security/advisories/GHSA-99mc-ch53-pqh9

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

```release-note
修复文件类型限制能通过混合文件类型绕过检测的问题
```
2025-01-03 09:32:13 +00:00
John Niang
348e7c906f Fix failing checks of staging repository when releasing to Maven (#7114)
#### What type of PR is this?

/kind bug
/area core

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

When I tried to publish Maven publications into OSSHR <https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/>, I couldn't close and release the opening staging repository because our Maven publications didn't meet the requirements of OSSHR, for example, `Sign Files with GPG/PGP` and `Project Name, Description and URL`.

This PR tries to fix those problem and all checks will pass. You can check it from <https://central.sonatype.com/artifact/run.halo.app/api/overview>.

> https://central.sonatype.org/publish/requirements/

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

```release-note
None
```
2024-12-05 08:45:15 +00:00
guqing
ead667683c feat: add system info getter for plugin (#7103)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
为插件提供 SystemInfoGetter 用于获取站点基本信息

站点标题描述和系统版本这些信息对于插件来说是很有必要的避免插件要直接查询 system ConfigMap 来获取,如 RSS 和 通知器扩展等插件都会需要用到

```json
{
  "title" : "guqing's blog",
  "subtitle" : "副标题",
  "logo" : "/upload/myavatar.png",
  "favicon" : "/upload/myavatar.png",
  "url" : "http://localhost:8090",
  "version" : {
    "majorVersion" : 2,
    "minorVersion" : 20,
    "normalVersion" : "2.20.10",
    "preRelease" : true,
    "publicApiStable" : true,
    "patchVersion" : 10,
    "preReleaseVersion" : "SNAPSHOT",
    "buildMetadata" : "",
    "stable" : false
  },
  "seo" : {
    "blockSpiders" : false,
    "keywords" : "keyword1,keyword2",
    "description" : "站点描述"
  },
  "locale" : "zh_CN_#Hans",
  "timeZone" : "Asia/Shanghai",
  "activatedThemeName" : "theme-earth"
}
```

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

```release-note
开发者相关:为插件提供 SystemInfoGetter 用于获取站点基本信息
```
2024-12-04 07:53:10 +00:00
John Niang
d985b7a768 Upgrade to SpringDoc 2.7.0 (#7072)
* Upgrade to SpringDoc 2.7.0

Signed-off-by: John Niang <johnniang@foxmail.com>
2024-11-25 10:45:05 +08:00
guqing
0d1a099223 refactor: hide essential notifications to prevent accidental disabling (#6972)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
隐藏关键通知项设置以避免用户意外禁用而无法收到通知

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

#### Does this PR introduce a user-facing change?
```release-note
隐藏关键通知项设置以避免用户意外禁用而无法收到通知

```
2024-10-30 06:14:39 +00:00
John Niang
a0b352ac2d Support hooking user creation (#6945)
#### What type of PR is this?

/kind feature
/area core
/milestone 2.20.x

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

This PR adds support for hooking user creating. Plugin developers can define extension points of `UserPreCreatingHandler` and `UserPostCreatingHandler` to do something else.

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

```release-note
支持在插件中定义用户创建的前置和后置处理器
```
2024-10-25 07:55:54 +00:00
guqing
17e9f2be1f fix: leading zeroes incorrect for index key comparator (#6934)
#### What type of PR is this?
/kind bug
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
修复索引比较会因为全是 0 的字符串与其他字符串可能相等的问题

原因是遇到了全是 0 的字符串会因为跳过前导 0 的逻辑导致全部忽略了

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-10-23 12:32:20 +00:00
John Niang
3570353ce2 Bind sign up data instead of building by hand (#6895)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR refactors sign up data binding using internal `bind` method in `ServerRequest` instead of binding my hand. It's more convenient and simpler.

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

```release-note
None
```
2024-10-18 07:55:39 +00:00