Commit graph

958 commits

Author SHA1 Message Date
XiaoSeS
9c778d5cc3 feat: add user profile update feature with moderation support
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main

* feat: add profile review admin workflow

* feat(web): add pagination to skill review list

- useReviewList now passes page/size to backend and returns paginated response
- reviews.tsx maintains per-tab page state with prev/next controls
- namespace-reviews.tsx adapted to new response shape
- Added i18n keys for pagination (en/zh)

* feat(web): lazy-load review tabs and adjust profile review pagination

- Skill review tabs only fetch data when activated (not all 3 on mount)
- Tabs component now supports controlled mode via value prop
- Profile review page size reduced from 20 to 10
- Profile review pagination bar always visible regardless of page count

* feat(web): lazy-load profile review tabs

- useProfileReviewList now accepts enabled parameter
- Profile review tabs only fetch data when activated

* remove unnecessary file

* remove unnecessary file
2026-03-19 20:15:26 +08:00
xiose
cf19f33f5c remove unnecessary file 2026-03-19 20:13:04 +08:00
xiose
5032b57fb1 chore(merge): merge main into feat-0315
Resolve conflicts in review list hooks and pages, keeping feat-0315
lazy-load behavior (enabled flag per active tab) and PAGE_SIZE=10.
2026-03-19 20:07:47 +08:00
yun-zhi-ztl
9e7c6d4563 feat: show pending skill detail in review flow 2026-03-19 20:01:47 +08:00
xiose
84804b0839 remove unnecessary file 2026-03-19 19:58:25 +08:00
yun-zhi-ztl
57c181a26e Merge remote-tracking branch 'origin/main' into feature/project-fixbug319 2026-03-19 19:42:32 +08:00
yun-zhi-ztl
e2c225de27 docs: add review skill detail design spec 2026-03-19 19:40:58 +08:00
vsxd
7cabe0196e fix(review): defer skill visibility changes until approval 2026-03-19 19:09:43 +08:00
xiose
4d0a55957a feat(web): lazy-load profile review tabs
- useProfileReviewList now accepts enabled parameter
- Profile review tabs only fetch data when activated
2026-03-19 19:01:28 +08:00
xiose
9cdd200bc2 feat(web): lazy-load review tabs and adjust profile review pagination
- Skill review tabs only fetch data when activated (not all 3 on mount)
- Tabs component now supports controlled mode via value prop
- Profile review page size reduced from 20 to 10
- Profile review pagination bar always visible regardless of page count
2026-03-19 18:54:33 +08:00
vsxd
b9551dcb6e fix(search): keep Chinese summaries searchable 2026-03-19 18:49:30 +08:00
Xudong Sun
4bdaebe3b4 chore(test): silence spring logs in backend tests (#116) 2026-03-19 18:38:59 +08:00
vsxd
e60bee8aa1 fix(db): recreate search vector before search column alters 2026-03-19 18:37:18 +08:00
vsxd
b657a53f37 fix(search): tighten index field boundaries and storage 2026-03-19 18:31:10 +08:00
vsxd
a7f8b0afcf fix(search): expand keyword storage for rebuild safety 2026-03-19 18:31:10 +08:00
vsxd
cc4782c16d test: stabilize request logging filter assertions 2026-03-19 18:30:54 +08:00
vsxd
8c23102e0f fix(search): harden rebuild against null frontmatter values 2026-03-19 18:13:01 +08:00
vsxd
aa8f7afc8b test(search): cover latest-version reindex flow 2026-03-19 17:39:38 +08:00
vsxd
b10a9f76db feat(search): improve Chinese PostgreSQL full-text search 2026-03-19 17:39:38 +08:00
vsxd
f86f04a2d3 docs: align clawhub env vars with public docs 2026-03-19 17:39:38 +08:00
yun-zhi-ztl
5748018f8b Merge pull request #108 from iflytek/feature/project-fixbug319
fix: paginate governance views and add my skills filters
2026-03-19 17:37:32 +08:00
dongmucat
44936b9b11 feat: Initialize Vite configuration for React development with path aliases, server settings, and API proxies. 2026-03-19 17:32:27 +08:00
dongmucat
d6913d28aa feat(web): refine app shell layout polish
变更摘要:

- 优化应用壳布局,统一 search 与 dashboard 的内容宽度与切换时机

- 恢复 search 与 dashboard 页面的上浮入场动画,并保留 sticky header 阴影效果

- 将本次新增前端测试收纳到 web/test/app,并纳入 TypeScript 检查范围

- 同步调整 landing quick start 文案字号与本地开发代理地址

关键文件:

- web/src/app/layout.tsx

- web/src/app/layout-main-content.ts

- web/src/app/page-shell-style.ts

- web/test/app/layout-main-content.test.ts

- web/vite.config.ts
2026-03-19 17:32:27 +08:00
XiaoSeS
f2cf22b3e1 feat: add user profile update feature with moderation support
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main

* feat: add profile review admin workflow

* feat(web): add pagination to skill review list

- useReviewList now passes page/size to backend and returns paginated response
- reviews.tsx maintains per-tab page state with prev/next controls
- namespace-reviews.tsx adapted to new response shape
- Added i18n keys for pagination (en/zh)
2026-03-19 17:23:05 +08:00
vsxd
2047b72cc4 docs: rename CLAWHUB_REGISTRY env var in docs 2026-03-19 17:17:39 +08:00
xiose
f6c72030b6 feat(web): add pagination to skill review list
- useReviewList now passes page/size to backend and returns paginated response
- reviews.tsx maintains per-tab page state with prev/next controls
- namespace-reviews.tsx adapted to new response shape
- Added i18n keys for pagination (en/zh)
2026-03-19 17:15:27 +08:00
xiose
f50e5c9156 Merge remote-tracking branch 'origin/main' into feat-0315 2026-03-19 17:14:24 +08:00
yun-zhi-ztl
4d827204bb fix: refine my skills empty states 2026-03-19 17:10:09 +08:00
yun-zhi-ztl
296c713652 fix: add my skills status filters 2026-03-19 17:06:26 +08:00
Xudong Sun
b9c4b05a0f fix: environment variable name for the registry
Signed-off-by: Xudong Sun <sun.xd@hotmail.com>
2026-03-19 17:01:16 +08:00
yun-zhi-ztl
234d5d83b9 Merge remote-tracking branch 'origin/main' into feature/project-fixbug319 2026-03-19 16:58:44 +08:00
vsxd
b168749ceb fix: optimize skill search listing performance 2026-03-19 16:56:37 +08:00
yun-zhi-ztl
3ba6d22c18 fix: paginate governance queries 2026-03-19 16:51:09 +08:00
yun-zhi-ztl
8665413650 fix: clamp governance inbox subtitles 2026-03-19 16:37:05 +08:00
yun-zhi-ztl
ae91e7ead2 Merge remote-tracking branch 'origin/main' into feature/project-fixbug319 2026-03-19 16:35:32 +08:00
yun-zhi-ztl
ab40cb406a docs(notification): fix service names, module deps, and minor review items 2026-03-19 16:20:29 +08:00
xiose
0b1fe6c77c Merge branch 'main' into feat-0315
# Conflicts:
#	server/skillhub-app/src/main/java/com/iflytek/skillhub/config/ProfileModerationProperties.java
#	server/skillhub-app/src/main/java/com/iflytek/skillhub/controller/UserProfileController.java
#	server/skillhub-app/src/main/java/com/iflytek/skillhub/dto/PendingChangesResponse.java
#	server/skillhub-app/src/main/java/com/iflytek/skillhub/dto/UpdateProfileRequest.java
#	server/skillhub-app/src/main/java/com/iflytek/skillhub/dto/UserProfileResponse.java
#	server/skillhub-app/src/main/resources/application.yml
#	server/skillhub-app/src/main/resources/messages.properties
#	server/skillhub-app/src/main/resources/messages_zh.properties
#	server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/UserProfileControllerTest.java
#	server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/user/ProfileChangeRequestRepository.java
#	server/skillhub-infra/src/main/java/com/iflytek/skillhub/infra/jpa/ProfileChangeRequestJpaRepository.java
#	web/src/api/client.ts
#	web/src/i18n/locales/en.json
#	web/src/i18n/locales/zh.json
#	web/src/pages/dashboard/reviews.tsx
#	web/src/pages/settings/profile.tsx
#	web/src/shared/components/user-menu.tsx
2026-03-19 16:20:07 +08:00
yun-zhi-ztl
120f01189d docs(notification): address spec review feedback 2026-03-19 16:16:49 +08:00
xiose
27c5e5bd07 feat: add profile review admin workflow 2026-03-19 16:11:24 +08:00
yun-zhi-ztl
9f9c87fdec docs(notification): add notification system design spec 2026-03-19 16:11:14 +08:00
dongmucat
e00eb84234 chore(web): remove doc injection and add crawler metadata (#102)
变更摘要:

- 移除 inject-docs 构建注入链路,build 脚本不再执行文档注入

- 删除注入脚本并移除 marked 依赖,同步更新 pnpm lockfile

- 新增 robots.txt 与 sitemap.xml,显式暴露 registry/skill.md 抓取入口

关键文件:

- web/package.json

- web/pnpm-lock.yaml

- web/scripts/inject-docs.mjs

- web/public/robots.txt

- web/public/sitemap.xml
2026-03-19 15:33:06 +08:00
vsxd
25de227f1b refactor: consolidate backend workflow and security policies 2026-03-19 15:20:08 +08:00
vsxd
024e66d747 feat: add search index rebuild workflow 2026-03-19 15:20:08 +08:00
yun-zhi-ztl
049f5acb64 refactor(server): slim down request logging to core parameters only 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
cd570ed208 fix(web): swap password visibility toggle eye icons 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
4365a9363c fix(web): remove default focus outline on user menu trigger button 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
db92d17b25 fix(web): remove misleading visibility statement from publish review description 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
245d92a4c1 test(server): add unit test for visibility update on republish 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
ea75670224 fix(server): update skill visibility on each version publish 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
7d8915fc7a fix(web): prevent version badges from overlapping action buttons in version list 2026-03-19 14:54:04 +08:00