Commit graph

674 commits

Author SHA1 Message Date
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
yun-zhi-ztl
7222ff0f37 fix(web): add rejected badge for skill versions that failed review 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
a4cb9f0cf9 fix(web): disable report button after successful submission 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
1a5b8de196 fix: handle archived skill version deletion 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
ac94930c94 fix: hide governance entry for unauthorized users 2026-03-19 14:54:04 +08:00
vsxd
f26a06d42f docs: simplify skillhub registry guide 2026-03-19 14:18:46 +08:00
vsxd
729b1c0498 docs: enrich frontend code documentation 2026-03-19 13:37:21 +08:00
vsxd
8ef53d0fdd docs: enrich backend code documentation 2026-03-19 13:37:21 +08:00
Xudong Sun
6a62fec9e8 feat: allow spaces in profile display names (#97) 2026-03-19 11:13:52 +08:00
Xudong Sun
d126af15d8 fix:change 'Start Building' to 'Publish Skill' (#96) 2026-03-19 10:54:44 +08:00
Xudong Sun
c90199183a feat: refine skill detail author badge and landing publish CTA (#95)
* Replace skill author monogram with icon

* Update landing publish CTA copy
2026-03-19 10:49:54 +08:00
Xudong Sun
2daddab217 fix: user profile test isolation and app module docs (#94) 2026-03-19 10:44:13 +08:00
XiaoSeS
626e00219e feat: add user profile update feature with moderation support (#90)
* 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
2026-03-19 10:16:40 +08:00
xiose
405aa53996 merge main 2026-03-19 10:08:58 +08:00
xiose
e7b452f428 Merge branch 'main' into feat-0315 2026-03-19 10:08:06 +08:00
vsxd
ed07472dad fix: resolve duplicate flyway migration versions 2026-03-19 10:06:25 +08:00
yun-zhi-ztl
e42f3950bf fix(web): remove starred badge from skill card
The starred badge in the top-right corner of skill cards looked
cluttered. Removed it while keeping the subtle star highlight
in the bottom stats area.
2026-03-19 09:41:53 +08:00
vsxd
93b264309f feat(skill-detail): show author display name 2026-03-19 09:32:13 +08:00
vsxd
5f8a411852 fix(web): avoid stretching markdown badge images 2026-03-19 09:32:13 +08:00
xiose
386874d676 version sql 2026-03-19 09:26:43 +08:00
xiose
297feb59fc 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
2026-03-18 18:09:33 +08:00
vsxd
012ed35a10 Serve registry skill docs from nginx 2026-03-18 17:56:53 +08:00
何时
d5abcfcf29 Update README.md (#85)
Signed-off-by: 何时 <93520596+likes1234-bro@users.noreply.github.com>
2026-03-18 17:24:54 +08:00
dongmucat
18b064a8d0 Merge pull request #86 from iflytek/fix/publish-toast-pending-review
fix(web): show pending review toast for non-admin skill publish
2026-03-18 17:22:34 +08:00
dongmucat
42e6fff693 feat: Implement core web application structure including landing page, skill registry, layout, routing, and internationalization. (#87) 2026-03-18 17:20:49 +08:00
yun-zhi-ztl
7f5793ac77 fix(web): show pending review toast for non-admin skill publish
Non-admin users now see "Submitted for Review" instead of "Published
Successfully" after uploading a skill, based on the status returned
by the backend.
2026-03-18 17:18:20 +08:00
vsxd
f5db6edde9 test: align my skill app service star timestamps 2026-03-18 17:16:55 +08:00
vsxd
f4b9a26f6f fix: preserve local timezone in token expiration UI 2026-03-18 17:16:55 +08:00
vsxd
0814b8939c refactor: unify backend time handling in utc 2026-03-18 17:16:55 +08:00
yun-zhi-ztl
6b2d8ce7ef fix: skill upload constraints, rejected label, and last-version guard (#82)
* fix: keep download counts consistent across skill pages

* fix: stabilize empty search ordering across sorts

* fix: show disabled-account reason on login redirect

* fix: mute report input placeholder text

* fix: return skill detail to my skills page

* test: stabilize auth context filter coverage

* feat(publish): increase single file limit to 10MB

* feat(publish): expand allowed file extensions

* feat(publish): extend secret scanning to new text file types

* feat(publish): add content validation for new file types

* refactor(publish): inject configurable limits into SkillPackageArchiveExtractor

* feat(publish): support zip with single root directory wrapper

* feat(publish): expand determineContentType for new file types

* test(publish): update tests for new upload constraints

* fix(web): add REJECTED status label and styling to my-skills page

The resolveStatusLabel and resolveStatusClassName functions were missing
the REJECTED case, causing rejected skills to show raw status string
with no color styling.


* fix: prevent deleting the last remaining version of a skill

Backend: added version count check in SkillGovernanceService.deleteVersion()
Frontend: hide delete button when only one version remains


* test: fix and add tests for last-version deletion guard

- Fix deleteVersion_removesDraftFilesAndBundle: mock findBySkillId to
  return 2 versions so the new guard doesn't block the happy path
- Add deleteVersion_rejectsLastRemainingVersion: verify that deleting
  the only remaining version is rejected with the correct error code

---------
2026-03-18 16:40:51 +08:00
dongmucat
b7fd95459c feat(web): improve skill detail overview UX and markdown highlighting 2026-03-18 16:30:21 +08:00
yun-zhi-ztl
82fe91adde feat(publish): relax skill upload constraints (#80)
* fix: keep download counts consistent across skill pages

* fix: stabilize empty search ordering across sorts

* fix: show disabled-account reason on login redirect

* fix: mute report input placeholder text

* fix: return skill detail to my skills page

* test: stabilize auth context filter coverage

* feat(publish): increase single file limit to 10MB

* feat(publish): expand allowed file extensions

* feat(publish): extend secret scanning to new text file types

* feat(publish): add content validation for new file types

* refactor(publish): inject configurable limits into SkillPackageArchiveExtractor

* feat(publish): support zip with single root directory wrapper

* feat(publish): expand determineContentType for new file types

* test(publish): update tests for new upload constraints
2026-03-18 15:27:51 +08:00
vsxd
377de504f9 feat: harden download and storage resilience 2026-03-18 14:30:40 +08:00
Xudong Sun
4aa3d29599 refactor: skill lifecycle projection and docs (#78)
* Refactor skill lifecycle projection and docs

* Improve owner lifecycle visibility on skill detail

* Track download counts per skill version
2026-03-18 13:39:22 +08:00
Xudong Sun
c2284d8acf feat: add anonymous download rate limiting (#76) 2026-03-18 11:31:10 +08:00