Stephen Zhou
ea758ca2b2
feat: allow link to social provider with different email ( #3355 )
2025-03-30 04:52:34 +00:00
Stephen Zhou
0a1f9c4216
chore: update hono type
2025-03-30 12:02:10 +08:00
Stephen Zhou
90320f23b5
build: update better-auth ( #3344 )
2025-03-30 07:56:40 +08:00
Innei
936dfa9082
fix: setting sync queue
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-29 22:00:05 +08:00
DIYgod
0f384b0c73
fix(mobile): inline description translation
2025-03-28 20:03:03 +08:00
DIYgod
1b96cc913a
docs: update changelog
2025-03-28 18:32:11 +08:00
DIYgod
0e2b550a4b
feat(mobile): social view translation separator
2025-03-28 18:17:01 +08:00
DIYgod
614fc7356a
feat(mobile): change translation separator
2025-03-28 18:03:42 +08:00
DIYgod
10baaa9bde
fix: types
2025-03-28 17:44:24 +08:00
Innei
28a6a5d5d3
fix: add email verification to users table and update related migrations
...
- Added `email_verified` column to the `users` table in the SQL migration.
- Updated migration imports to include the new migration for `0019_wonderful_shape`.
- Modified the user schema to include `emailVerified` field.
- Updated user handling in the store to manage the new `emailVerified` property.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-28 17:25:17 +08:00
Stephen Zhou
879d6dfa28
fix(mobile): translation separator, translate for entry title
2025-03-28 16:28:12 +08:00
DIYgod
48bae78253
release(mobile): release v0.1.3
2025-03-28 16:11:32 +08:00
Stephen Zhou
abc35be47c
feat: translate on server, global action setting ( #3294 )
...
* refactor: translate on server
* refactor: remove summary and translation action
* enable summary and translation from settings
* remove translate and summary from action
* follow setting
* ignore whitespace change
* correct content translation for social item
* update
* update
* fix content
* global setting for summary on mobile
* translation store
* show and cache translation
* update migrate sql
* token header for social sign in
* remove readabilityContent in web view
* ci debug
* check repository
* ci check condition
* fix readability
* show entry content translation
* update
* update
* translation for social item
* Revert "remove translate and summary from action"
This reverts commit c8a195a9b224b308cbcd86a6293ffae03e946a72.
* update text
* support global,once,action summary and translation
* fix condition
* refactor
* refactor: extract use entry translation hook
* update
* rename
* Revert "rename"
This reverts commit 672092f88c04670c7e1017aaf8b9caa6499f1877.
* update
* update
* fix
* translation header action
* unsave prompt
* chore: auto-fix linting and formatting issues
* connect and row
* prompt on mobile before leave
* update
* follow action setting
* hide button when follow action
* update changelog
2025-03-28 15:14:03 +08:00
DIYgod
11b1023bea
docs: add changelog
2025-03-28 13:36:29 +08:00
DIYgod
e4d5dbd7a7
feat: firebase analytics
2025-03-28 00:01:07 +08:00
Whitewater
446733450a
fix: add locale support for balance formatting ( #3319 )
...
* fix: add locale support for balance formatting
* refactor: rewrite toScientificNotation function with locale support and tests
* test: add locale-specific tests for toScientificNotation function
* chore: update usage
2025-03-27 14:04:04 +00:00
DIYgod
ea4a99d1d5
feat(mobile): add login track
2025-03-27 20:27:36 +08:00
DIYgod
bf127de547
feat(mobile): use firebase analytics together with track
2025-03-27 19:52:55 +08:00
DIYgod
d2af10f366
feat(mobile): set op user agent in analytics init
2025-03-27 17:46:59 +08:00
Stephen Zhou
ed86426728
Revert "fix(mobile): token header for social sign in"
...
This reverts commit dd0058e4aa .
2025-03-27 17:44:41 +08:00
DIYgod
962c31ffed
feat(mobile): user agent
2025-03-27 17:40:24 +08:00
Innei
2558fe656d
fix(mobile): adjust margin for email section in edit-email screen
...
- Reduced top margin from 8 to 4 for the email section to improve layout consistency.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-27 14:56:24 +08:00
Stephen Zhou
dfd52756a4
build: update mgc icon to 1.36 ( #3310 )
2025-03-27 11:35:43 +08:00
Stephen Zhou
dd0058e4aa
fix(mobile): token header for social sign in
2025-03-27 11:10:04 +08:00
Innei
883d21a7df
feat(mobile): register InvitationScreen in sitemap for modal navigation
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 23:24:56 +08:00
Whitewater
92f76b93d5
fix(mobile): adjust truncate styles in navigation header title ( #3282 )
2025-03-26 22:02:45 +08:00
DIYgod
7b6950185a
feat(mobile): nativate to invitation screen for api invitation error
2025-03-26 21:54:54 +08:00
DIYgod
3f551c6fcf
feat(mobile): invitation screen
2025-03-26 21:44:13 +08:00
DIYgod
537ef01c83
feat(mobile): get user role
2025-03-26 21:44:12 +08:00
Innei
62e83822bd
chore(mobile): update iOS deployment target and podspec platform versions
...
- Removed the deployment target for iOS in app.config.ts.
- Updated the iOS and tvOS platform versions in FollowNative.podspec from '17.0' to '15.1'.
- Cleaned up unused spacing in ProfileView.swift.
These changes ensure compatibility with older iOS versions while maintaining code clarity.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 21:15:05 +08:00
DIYgod
680a0fd7db
feat(mobile): optimize verification email sending
2025-03-26 19:52:12 +08:00
Innei
1cd67cdac5
feat(mobile): enhance image sharing functionality with URL support
...
- Updated UIImage extension to include URL handling in the activity item source.
- Modified HelperModule to accept an optional URL parameter when sharing images.
- Adjusted ImageContextMenu to pass the image URL during sharing actions.
This improves the image sharing experience by allowing users to share images along with their associated URLs.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 18:29:01 +08:00
Innei
9cfd4aacfd
refactor(mobile): replace SafeModalScrollView with SafeNavigationScrollView across multiple screens
...
- Removed SafeModalScrollView component and replaced it with SafeNavigationScrollView in various files including FollowList, EditCondition, EditRewriteRules, EditWebhooks, and EditEmail screens.
- Updated import statements accordingly to reflect the changes.
This change enhances consistency in the navigation handling across the application.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 16:59:22 +08:00
Innei
7ce1242f30
fix: image context menu actions via native code, fixed #3262
...
- Introduced a new UIImage extension to create a UIActivityItemSource, allowing images to be shared with titles and URLs.
- Enhanced HelperModule with new functions to save, share, copy images, and retrieve base64 from UIImageView.
- Updated MediaCarousel to use preview_image_url for video context menus.
- Refactored Image and ImageContextMenu components for improved image handling and context menu actions.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 16:50:21 +08:00
Whitewater
b89fe51b96
fix(mobile): replace SafeModalScrollView with SafeNavigationScrollView in SelectReadingModeScreen ( #3300 )
2025-03-26 08:48:07 +00:00
DIYgod
0bee60c02a
fix(mobile): header title overflow
2025-03-26 12:58:44 +08:00
DIYgod
5b0bf7d630
chore: fix firebase deps
2025-03-26 11:36:08 +08:00
DIYgod
acc55bbc18
build(deps): bump the patch group
2025-03-26 11:08:11 +08:00
dependabot[bot]
2eaf1bbf3a
build(deps): bump the minor group across 1 directory with 25 updates ( #3288 )
...
Bumps the minor group with 25 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks ) | `2.11.1` | `2.12.1` |
| [vite-bundle-analyzer](https://github.com/nonzzz/vite-bundle-analyzer ) | `0.17.3` | `0.18.1` |
| [@electron-forge/cli](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/maker-appx](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/maker-dmg](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/maker-pkg](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/maker-squirrel](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/maker-zip](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/plugin-fuses](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [@electron-forge/publisher-github](https://github.com/electron/forge ) | `7.7.0` | `7.8.0` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm ) | `0.40.0` | `0.41.0` |
| [electron](https://github.com/electron/electron ) | `34.2.0` | `34.3.4` |
| [electron-vite](https://github.com/alex8088/electron-vite ) | `3.0.0` | `3.1.0` |
| [@tanstack/query-sync-storage-persister](https://github.com/TanStack/query/tree/HEAD/packages/query-sync-storage-persister ) | `5.68.0` | `5.69.0` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.68.0` | `5.69.0` |
| [@tanstack/react-query-persist-client](https://github.com/TanStack/query/tree/HEAD/packages/react-query-persist-client ) | `5.68.0` | `5.69.0` |
| [lru-cache](https://github.com/isaacs/node-lru-cache ) | `11.0.2` | `11.1.0` |
| [react-native-video](https://github.com/TheWidlarzGroup/react-native-video ) | `6.10.2` | `6.11.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `9.5.0` | `9.9.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router ) | `7.3.0` | `7.4.0` |
| [@hono/node-server](https://github.com/honojs/node-server ) | `1.13.8` | `1.14.0` |
| [@sentry/electron](https://github.com/getsentry/sentry-electron ) | `6.1.0` | `6.3.0` |
| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools ) | `5.68.0` | `5.69.0` |
| [firebase](https://github.com/firebase/firebase-js-sdk ) | `11.4.0` | `11.5.0` |
| [react-scan](https://github.com/aidenybai/react-scan ) | `0.2.14` | `0.3.3` |
Updates `simple-git-hooks` from 2.11.1 to 2.12.1
- [Release notes](https://github.com/toplenboren/simple-git-hooks/releases )
- [Changelog](https://github.com/toplenboren/simple-git-hooks/blob/master/CHANGELOG.md )
- [Commits](https://github.com/toplenboren/simple-git-hooks/compare/2.11.1...2.12.1 )
Updates `vite-bundle-analyzer` from 0.17.3 to 0.18.1
- [Release notes](https://github.com/nonzzz/vite-bundle-analyzer/releases )
- [Changelog](https://github.com/nonzzz/vite-bundle-analyzer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nonzzz/vite-bundle-analyzer/compare/v0.17.3...v0.18.1 )
Updates `@electron-forge/cli` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/maker-appx` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/maker-dmg` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/maker-pkg` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/maker-squirrel` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/maker-zip` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/plugin-fuses` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `@electron-forge/publisher-github` from 7.7.0 to 7.8.0
- [Release notes](https://github.com/electron/forge/releases )
- [Changelog](https://github.com/electron/forge/blob/main/CHANGELOG.md )
- [Commits](https://github.com/electron/forge/compare/v7.7.0...v7.8.0 )
Updates `drizzle-orm` from 0.40.0 to 0.41.0
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases )
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.40.0...0.41.0 )
Updates `electron` from 34.2.0 to 34.3.4
- [Release notes](https://github.com/electron/electron/releases )
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md )
- [Commits](https://github.com/electron/electron/compare/v34.2.0...v34.3.4 )
Updates `electron-vite` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/alex8088/electron-vite/releases )
- [Changelog](https://github.com/alex8088/electron-vite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/alex8088/electron-vite/compare/v3.0.0...v3.1.0 )
Updates `@tanstack/query-sync-storage-persister` from 5.68.0 to 5.69.0
- [Release notes](https://github.com/TanStack/query/releases )
- [Commits](https://github.com/TanStack/query/commits/v5.69.0/packages/query-sync-storage-persister )
Updates `@tanstack/react-query` from 5.68.0 to 5.69.0
- [Release notes](https://github.com/TanStack/query/releases )
- [Commits](https://github.com/TanStack/query/commits/v5.69.0/packages/react-query )
Updates `@tanstack/react-query-persist-client` from 5.68.0 to 5.69.0
- [Release notes](https://github.com/TanStack/query/releases )
- [Commits](https://github.com/TanStack/query/commits/v5.69.0/packages/react-query-persist-client )
Updates `lru-cache` from 11.0.2 to 11.1.0
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v11.0.2...v11.1.0 )
Updates `react-native-video` from 6.10.2 to 6.11.0
- [Release notes](https://github.com/TheWidlarzGroup/react-native-video/releases )
- [Changelog](https://github.com/TheWidlarzGroup/react-native-video/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TheWidlarzGroup/react-native-video/compare/v6.10.2...v6.11.0 )
Updates `@sentry/react` from 9.5.0 to 9.9.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/9.5.0...9.9.0 )
Updates `react-router` from 7.3.0 to 7.4.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.4.0/packages/react-router )
Updates `@hono/node-server` from 1.13.8 to 1.14.0
- [Release notes](https://github.com/honojs/node-server/releases )
- [Commits](https://github.com/honojs/node-server/compare/v1.13.8...v1.14.0 )
Updates `@sentry/electron` from 6.1.0 to 6.3.0
- [Release notes](https://github.com/getsentry/sentry-electron/releases )
- [Changelog](https://github.com/getsentry/sentry-electron/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-electron/compare/6.1.0...6.3.0 )
Updates `@tanstack/react-query-devtools` from 5.68.0 to 5.69.0
- [Release notes](https://github.com/TanStack/query/releases )
- [Commits](https://github.com/TanStack/query/commits/v5.69.0/packages/react-query-devtools )
Updates `firebase` from 11.4.0 to 11.5.0
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases )
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md )
- [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@11.4.0...firebase@11.5.0 )
Updates `react-scan` from 0.2.14 to 0.3.3
- [Release notes](https://github.com/aidenybai/react-scan/releases )
- [Commits](https://github.com/aidenybai/react-scan/compare/v0.2.14...v0.3.3 )
---
updated-dependencies:
- dependency-name: simple-git-hooks
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: vite-bundle-analyzer
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/cli"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/maker-appx"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/maker-dmg"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/maker-pkg"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/maker-squirrel"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/maker-zip"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/plugin-fuses"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@electron-forge/publisher-github"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: drizzle-orm
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: electron
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: electron-vite
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@tanstack/query-sync-storage-persister"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@tanstack/react-query"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@tanstack/react-query-persist-client"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: lru-cache
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: react-native-video
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@sentry/react"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: react-router
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@hono/node-server"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@sentry/electron"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@tanstack/react-query-devtools"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: firebase
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: react-scan
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 11:00:57 +08:00
Innei
b5fc2f6a70
feat: add some tracker
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 22:26:10 +08:00
Innei
549d76285a
refactor(tracker): add tracker package
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 21:17:12 +08:00
Innei
359093dcf1
refactor(mobile): streamline app structure and enhance navigation
...
- Removed unnecessary FullWindowOverlay from App component.
- Introduced sitemap registration in main.tsx for better navigation management.
- Updated NoLoginInfo component to use Pressable for navigation to LoginScreen.
- Added DropdownMenu for environment profile selection in DebugButton.
- Created new sitemap.tsx file to manage navigation components.
This refactor improves code organization and enhances user experience in navigation.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 21:17:12 +08:00
Innei
626e54dd84
fix(mobile): image preview can dismiss if image load error
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 14:48:51 +08:00
Innei
81fc94c946
feat(mobile): don't need to swipe from the far left to go back to the previous page
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 14:15:05 +08:00
Vikas
1a9f273606
feat: add PDF export functionality ( #3264 )
...
* feature add: export article as pdf (issue: 1314)
* reverted pnpm-lock.yaml, deleted unwanted code, ensured some checks
* chore: update icon
* update changelog
---------
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2025-03-25 01:10:38 +00:00
Konv Suu
78ba2c34aa
fix(mobile): handle durationInSeconds format ( #3259 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2025-03-25 00:15:01 +08:00
Innei
9ac2e169c8
refactor(mobile): enhance stack navigation structure and add state handling
...
- Introduced AttachNavigationScrollViewProvider for better context management.
- Added StateHandler component to manage screen name updates based on navigation events.
- Updated imports and optimized component structure for improved readability.
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-24 23:47:37 +08:00
Innei
6c325d7cb8
feat: optimize user profile modal style
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-24 21:05:51 +08:00
Innei
149ca034f6
fix(mobile): profile modal header style
...
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-24 15:44:07 +08:00
Stephen Zhou
8a5f92d0e7
refactor: translation language -> action language ( #3154 )
...
* refactor: action language -> action language
* type
* mobile
* type
* fix
* prefer local settings, drop backward compatibility
* update
* update
* update
* chore: auto-fix linting and formatting issues
* update
* update
* update
* follow ui
* update
* add description
* fix build
* update
* update
* update
2025-03-24 10:10:48 +08:00