Commit Graph

5404 Commits (7d8f30a3372f66bbe5ad4ef458480e7e9341aba8)

Author SHA1 Message Date
John Niang dd5f02e505
Fix the problem of redirecting to previous URI with fragment after authenticated (#6862)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR ignores URI fragment while removing redirect URI. Before that, users may be redirected to previous redirect URI that contains fragment.

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

```release-note
修复二次登录后重定向跳转至旧地址的问题
```
2024-10-14 07:09:16 +00:00
guqing 17eea823a5
fix: retain legacy enabled field for auth provider setting (#6861)
#### 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/pull/6846 中删除的 SystemSetting.AuthProvider#enabled 字段避免插件应用到了它可能会发生错误,将其标记为过时

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-10-14 06:17:16 +00:00
Ryan Wang f7b2dcf9fc
chore: bump preset theme version (#6860)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2024-10-14 12:25:35 +08:00
guqing 82498dcedf
refactor: auth provider sorting logic for better maintainability and clarity (#6846)
* refactor: auth provider sorting logic for better maintainability and clarity

* Refine UI

* chore: remove other auth type

* Remove other auth providers

---------

Co-authored-by: Ryan Wang <i@ryanc.cc>
2024-10-14 10:53:24 +08:00
Ryan Wang 4059f159b2
Merge pull request #6848 from ruibaby/feat/add-h2-alert-for-setup-page-2
feat: add H2 database usage warning for setup page
2024-10-14 10:18:51 +08:00
Ryan Wang eff73dca12 feat: add H2 database usage warning for setup page 2024-10-14 10:18:24 +08:00
johnniang 55f133396c Set usingH2database variable into setup template model 2024-10-14 10:18:03 +08:00
Ryan Wang b0d36b784e
feat: support toast a message for backend exceptions when sending emails (#6856)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

注册表单发送邮箱验证码时,支持显示来自后端的异常。

<img width="693" alt="image" src="https://github.com/user-attachments/assets/78d1d793-7673-4442-9b0b-1eb7c4d91ebd">


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

```release-note
None
```
2024-10-13 15:33:14 +00:00
Ryan Wang 0d8c4bb126
fix: set default value for attachment storage policy in user center (#6853)
#### What type of PR is this?

/area core
/kind bug
/milestone 2.20.x

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

修复首次初始化之后,个人中心使用的附件存储策略没有默认值的问题。

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

Fixes #6834 

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

```release-note
None
```
2024-10-13 15:11:14 +00:00
Ryan Wang a21413e080
fix: not redirect to /console after setup (#6852)
#### What type of PR is this?

/area core
/kind bug
/milestone 2.20.x

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

修复初始化登录之后,没有正确重定向到 /console 的问题。

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

Fixes #6850 

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

```release-note
None
```
2024-10-13 14:55:14 +00:00
Ryan Wang 149cb5d136
refactor: remove underline in h2 warning alert (#6849)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.20.x

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

before:

<img width="804" alt="image" src="https://github.com/user-attachments/assets/3d55d7d2-1dfa-4988-afbd-dd502e54fdb2">

after:

<img width="806" alt="image" src="https://github.com/user-attachments/assets/6194d995-b6f1-404a-820d-b667ccfab9f1">

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

```release-note
None
```
2024-10-13 14:49:14 +00:00
John Niang 7c6a8e9ce7
Fill operation ID while building setup route (#6857)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR fills operation ID while building setup route to prevent errors when generating OpenAPI docs.

```java
2024-10-13T22:09:46.997+08:00 ERROR 68966 --- [     parallel-4] a.w.r.e.AbstractErrorWebExceptionHandler : [88654f05-3]  500 Server Error for HTTP GET "/v3/api-docs/apis_aggregated.api_v1alpha1"

java.lang.IllegalStateException: You should either fill, the Operation or at least the bean class and the bean method
	at org.springdoc.core.fn.builders.operation.Builder.build(Builder.java:467) ~[springdoc-openapi-starter-common-2.6.0.jar:2.6.0]
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
```

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

```release-note
None
```
2024-10-13 14:21:14 +00:00
guqing 58488686a7
chore: ignore preset plugin installation errors to avoid initialization failure (#6855)
#### What type of PR is this?
/milestone 2.20.x
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
忽略预设插件安装时的错误避免无法初始化

可能因为没有预先 download 预设插件到项目目录而发生 IO 异常影响初始化流程

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

```release-note
None
```
2024-10-13 13:57:13 +00:00
guqing 3bdec9eacf
fix: vertical images are rotated to horizontal when generating thumbnails (#6842)
#### 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 #6802

#### Does this PR introduce a user-facing change?
```release-note
修复竖向图片生成缩略图后会丢失方向信息展示为横向图片的问题
```
2024-10-12 13:47:10 +00:00
John Niang b761fe2b79
Preserve remember-me option after authentication failure (#6844)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR preserves `remember-me` option after authentication failure.

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

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

#### Special notes for your reviewer:

1. Go to login page
2. Input invalid username or password and select `remember-me` option
3. Click `Login` button
4. See the result

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

```release-note
修复登录失败后记住我选项被重置的问题
```
2024-10-12 10:59:10 +00:00
Ryan Wang b9da9d05ea
refactor: improve login page ui (#6832)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

优化登录等页面的 UI,主要优化低分屏下的 UI 表现,防止元素过大。

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

```release-note
优化登录等页面的 UI,优化低分屏下的 UI 表现,防止元素过大。
```
2024-10-12 09:21:10 +00:00
John Niang 6d149ae3bb
Fix the problem of being able to configure invalid external URL (#6840)
#### 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 users not be able to configure a invalid external URL like `https:www/halo.run` even if it is an valid URL format.

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

Fixes #6837 

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

```release-note
修复可配置无效的外部访问地址的问题
```
2024-10-12 08:21:10 +00:00
Ryan Wang 91a69de849
refactor: improve accessibility for login page (#6839)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

提升登录页面的可访问性。

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

```release-note
None
```
2024-10-12 07:19:09 +00:00
Ryan Wang f40770ad64
chore: add prettier-plugin-organize-imports plugin to organize imports (#6836)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.20.x

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

使用 https://github.com/simonhaenisch/prettier-plugin-organize-imports 优化 UI 项目的模块导入,之前我们是通过[配置 VSCode](9468e8741f/ui/.vscode/settings.json (L34-L36)) 来实现导入优化,但这种方式局限于 VSCode 编辑器,在其他编辑器无法得到统一的支持。

并且我们为 UI 添加了 git pre commit hook,在提交代码前会对已修改的文件执行 prettier,这样能够更好的保证一致性。

<img width="1475" alt="image" src="https://github.com/user-attachments/assets/755e2aba-be07-4fba-8007-6210ef44a8ef">

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

```release-note
None
```
2024-10-12 07:05:09 +00:00
John Niang 9468e8741f
Add globalInfo into logout page (#6831)
#### 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 globalInfo data into logout template model.

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

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

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

```release-note
None
```
2024-10-12 04:21:09 +00:00
John Niang cecbfcfa4a
Disable CSRF protection for actuator endpoints (#6830)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR disables CSRF protection for actuator endpoints because they are not state-changing operations.

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

Fixes #6827 

#### Special notes for your reviewer:

Try to restore Halo.

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

```release-note
修复恢复备份后无法自动重启的问题
```
2024-10-12 04:15:09 +00:00
John Niang 0ad565f35c
Do not cache template result for pre-auth pages (#6829)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR prevents caching from cache plugin for pre-auth pages and logout page.

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

Fixes #6826 

#### Special notes for your reviewer:

1. Install `Page Cache Plugin` from <https://www.halo.run/store/apps/app-BaamQ>.
2. Open a private browser window
3. Access login page twice
4. Try to login
5. See the result

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

```release-note
解决因缓存插件缓存登录页面导致无法登录的问题
```
2024-10-12 04:11:09 +00:00
John Niang 98a131309c
Add globalInfo into templates model (#6823)
#### 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 globalInfo into template models and refactors password reset to adapt data binding.

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

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

```release-note
None
```
2024-10-11 09:51:06 +00:00
Ryan Wang d63eaed10f
fix: correct display of email verification message toast (#6822)
#### What type of PR is this?

/area core
/kind bug
/milestone 2.20.x

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

修复不能正常显示邮箱验证提示的问题。

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

```release-note
None
```
2024-10-11 09:27:05 +00:00
Ryan Wang 59a59715a1
refactor: improve password hint text on reset password page (#6820)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

优化重置密码页面的密码提示文本,以 aab8806f0d/application/src/main/resources/config/i18n/messages_zh.properties (L66) 为准。

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

```release-note
None
```
2024-10-11 08:23:07 +00:00
Ryan Wang 687c760288
feat: add password reset success message in login page (#6818)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

重置密码跳转到登录页面之后,在顶部添加重置成功的提示。

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

```release-note
None 
```
2024-10-11 08:21:07 +00:00
Ryan Wang 2de02c9ad4
refactor: improve ui of login page (#6809)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

优化登录页面的 UI。

<img width="1910" alt="image" src="https://github.com/user-attachments/assets/736b1f72-e7c1-4c19-a0d9-dc935c738931">


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

```release-note
None
```
2024-10-11 08:03:05 +00:00
guqing aab8806f0d
refactor: support locale-based validation messages based on users language (#6819)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
优化校验提示信息根据用户选择的语言代替 `Locale#getDefault()#getLanguage()`

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-10-11 07:11:05 +00:00
John Niang 99db7a6101
Support redirecting to URI with fragment (#6817)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

This PR supports redirecting to URI with fragment. e.g.: <http://localhost:8090/login?redirect_uri=%2F%23afragment>(redirect_uri is `/#afragment`).

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

Fixes #6767 

#### Special notes for your reviewer:

1. Request <http://localhost:8090/login?redirect_uri=%2F%23afragment>
2. Log in
3. See the redirection

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

```release-note
None
```
2024-10-11 02:45:05 +00:00
guqing 25c54d792e
perf: replace concatMap to flatMapSequential to improve parallelism and efficiency (#6706)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
将 concatMap 替换为 flatMapSequential 以提高并行度和执行效率

可以看一下这个场景示例来模拟像文章列表 API 的数据组装
假如每个步骤的执行时间是 1s 有 4 个步骤 同时 Flux 发出 4 条数据:

```java
@Test  
void test() {  
    var startMs = System.currentTimeMillis();  
  
    var monoA = Mono.fromSupplier(  
            () -> {  
                sleep();  
                return "A";  
            })        .subscribeOn(Schedulers.boundedElastic());  
  
    var monoB = Mono.fromSupplier(  
            () -> {  
                sleep();  
                return "B";  
            })        .subscribeOn(Schedulers.boundedElastic());  
  
    var monoC = Mono.fromSupplier(  
            () -> {  
                sleep();  
                return "C";  
            })        .subscribeOn(Schedulers.boundedElastic());  
  
    var monoD = Mono.fromSupplier(  
            () -> {  
                sleep();  
                return "D";  
            })        .subscribeOn(Schedulers.boundedElastic());  
  
    var convert = Mono.when(monoA, monoB, monoC, monoD);  

    Flux.just("1", "2", "3", "4")
        // concatMap(convert::thenReturn)
        .flatMapSequential(convert::thenReturn)  
        .collectList()  
        .block(); 

    System.out.println("Time: " + (System.currentTimeMillis() - startMs));  
}

private static void sleep() {  
    try {  
        Thread.sleep(1000);  
    } catch (InterruptedException e) {  
        throw new RuntimeException(e);  
    }
}
```
**结果:**
1. 如果每个步骤没有加  subscribeOn 且使用 concatMap 耗时: 16362 ms
2. 每个步骤使用 subscribeOn 且使用 concatMap 耗时: 4174 ms
3. 每个步骤使用 subscribeOn 且使用 flatMapSequential 耗时: 1185 ms

#### Does this PR introduce a user-facing change?
```release-note
提升页面访问速度
```
2024-10-10 09:49:01 +00:00
guqing 02c54846dc
refactor: head and footer tag injection to skip error pages (#6709)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
模板 head 和 footer 标签注入功能忽略错误页面避免当扩展发生错误时导致错误页面无法显示

#### Which issue(s) this PR fixes:
Fixes #6500 , #6750

#### Does this PR introduce a user-facing change?
```release-note
代码注入功能忽略对错误页面和登录注册等页面的注入
```
2024-10-10 09:45:01 +00:00
Ryan Wang 53b3124288
feat: improve built-in auth providers' i18n in detail page (#6816)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.20.x

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

完善内置的认证提供商详情页面的 i18n,在 https://github.com/halo-dev/halo/pull/6814 中遗漏了详情页面。

<img width="653" alt="image" src="https://github.com/user-attachments/assets/7d4b4789-91d0-45e5-b5e7-98324ddc0899">

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

```release-note
None
```
2024-10-10 09:31:01 +00:00
Ryan Wang d0f3933095
feat: improve built-in auth providers' i18n (#6814)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.20.x

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

完善内置的认证提供商的 i18n。

<img width="859" alt="image" src="https://github.com/user-attachments/assets/a145fc98-05f0-4d62-805a-f3b4f4380a04">

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

```release-note
None
```
2024-10-10 08:25:01 +00:00
Ryan Wang d6c914f4c6
refactor: improve ui of logout page (#6810)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

优化退出登录页面的 UI。

<img width="568" alt="image" src="https://github.com/user-attachments/assets/dd3b405b-e200-478a-ba87-b0d474e6ee1f">


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

```release-note
None
```
2024-10-10 08:23:01 +00:00
guqing fbe40c28fc
chore: restrict username and password length during user registration (#6808)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
为注册用户增加用户名和密码长度校验

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-10-10 07:57:00 +00:00
guqing 605d52a86e
refactor: optimize file type detection and support decision-making based on file name (#6675)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
优化文件类型检测并支持根据文件名作为决策依据

#### Does this PR introduce a user-facing change?
```release-note
优化文件类型检测并支持根据文件名作为决策依据
```
2024-10-10 07:45:00 +00:00
Ryan Wang 2b3badc8e1
refactor: update login-related page templates structure (#6813)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

重构登录、注册相关的模板结构,主要目的是为了解耦,修改页面时仅修改相关的模板和语言文件。

重构之后主题的引用方式如下:

login.html

```html
<div th:replace="~{gateway_fragments/login::form}"></div>
```

#### Special notes for your reviewer:

需要测试各个页面是否功能正常

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

```release-note
None
```
2024-10-10 07:33:00 +00:00
Ryan Wang 01a781c54a
feat: improve password confirmation validation for forms (#6807)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

完善部分表单的确定密码校验。

1. 封装单独的校验函数。
2. 完善 i18n。

<img width="676" alt="image" src="https://github.com/user-attachments/assets/af8a4edc-d6ba-419f-b7ba-baa9d488186d">

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

```release-note
None
```
2024-10-10 07:17:00 +00:00
John Niang cae871f9e6
Fix the problem of accessing logout page without authentication (#6812)
#### What type of PR is this?

/kind bug
/area core
/milestone 2.20.x

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

Currently, logout page is always visible for anyone whether the user is authenticated. This PR restricts the visibility of logout page to authenticated users but anonymous users.

#### Special notes for your reviewer:

```bash
> http http://localhost:8090/logout

HTTP/1.1 302 Found
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: 0
Location: /login?authentication_required
Pragma: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
content-length: 0
```

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

```release-note
修复未登录情况下依然能够访问登出页面的问题
```
2024-10-10 05:43:00 +00:00
guqing 9e3f77baf3
fix: avoid NPE by skipping nonexistent notifiers in user preferences (#6811)
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
修复当用户通知偏好设置中出现不存在的通知器名称时会导致 NPE 的问题

此问题可能发生在,通知器由插件或者专业版提供并且修改了偏好设置后禁用了插件或切换到开源版导致找不到该通知器的记录

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-10-10 05:27:00 +00:00
Ryan Wang 9cbd9b23d0
fix: username length validation in user creation form is not working (#6806)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.20.x

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

修复创建用户表单的用户名长度校验不生效的问题。

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

```release-note
修复创建用户表单的用户名长度校验不生效的问题。
```
2024-10-10 03:05:00 +00:00
John Niang 158c3e8a9e
Merge pull request #6804 from guqing/refactor/user-validation
refactor: unified validation for username and password format
2024-10-10 10:45:38 +08:00
Ryan Wang d7aba83485 Refine password validation 2024-10-10 10:43:20 +08:00
guqing d6df340fe4 refactor: unified validation for username and password format 2024-10-09 17:38:34 +08:00
John Niang ec75564f37
Refactor password reset for extensibility (#6803)
#### 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 password reset for extensibility. If we want to add another password reset method, first thing we need to do is adding a new password reset method into `halo.security.password-reset-methods[]` and then defining PasswordResetAvailabilityProvider bean.

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

```release-note
None
```
2024-10-09 09:04:57 +00:00
Ryan Wang 0e4a19d182
refactor: prevent password field from displaying encrypted text (#6801)
#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

在提交登录表单时,不在密码框中显示加密文本。

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

Fixes #6799 

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

```release-note
None
```
2024-10-09 09:02:58 +00:00
John Niang 5c50779693
Xor CSRF token (#6798)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.20.x

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

This PR makes XOR operation for CSRF token and changes the CSRF cookie `HttpOnly` to `true` to forbid JavaScript from accessing the cookie.

See https://docs.spring.io/spring-security/reference/servlet/exploits/csrf.html#csrf-token-request-handler-breach for more details.

#### Special notes for your reviewer:

```bash
http http://localhost:8090/login -ph

HTTP/1.1 200 OK
set-cookie: XSRF-TOKEN=6d5dd83f-f0a7-4d94-a33e-73f213d679ff; Path=/; HTTPOnly
```

```bash
http http://localhost:8090/login -pb | grep _csrf

><input type="hidden" name="_csrf" value="ctubmrEC3dAbxC5H_k_-VnVUtih2BrfjcPfLmVAyaP0a1kAdEb-t_IcwuLM29B11yGLKNRQxm0lFZILOFZX-_GcHWJ974iR5"/>
```

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

```release-note
None
```
2024-10-09 09:00:57 +00:00
Ryan Wang 845893944c
Merge pull request #6739 from guqing/refactor/6722
refactor: system initialization process to adapt to the new login method
2024-10-09 14:58:14 +08:00
Ryan Wang 82fb91fc7b
refactor: improve password input toggle button state display (#6800)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.20.x

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

优化密码输入框的明文切换图标的状态显示。

before:

<img width="508" alt="image" src="https://github.com/user-attachments/assets/5ae12beb-ce23-40a2-ad08-8e47c2eb6813">

after:

<img width="519" alt="image" src="https://github.com/user-attachments/assets/712e1735-a7ad-40f4-8900-a8c92eda7e54">


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

```release-note
优化密码输入框的明文切换图标的状态显示。
```
2024-10-09 06:52:56 +00:00
Ryan Wang 5df755d4a8 Refine setup page 2024-10-09 12:20:54 +08:00