Commit graph

394 commits

Author SHA1 Message Date
dongmucat
284b0992af test(subscription): add frontend unit and e2e tests 2026-04-29 09:52:54 +08:00
dongmucat
d0e79266f1 feat(subscription): add i18n for subscription notification events 2026-04-29 09:52:54 +08:00
dongmucat
78b7e4f0c2 chore(api): regenerate OpenAPI types for subscription endpoints 2026-04-28 11:15:57 +08:00
dongmucat
f707cfee61
Merge pull request #342 from iflytek/feature/batch-member-import
feat(namespace): batch member import via CSV upload
2026-04-28 09:44:53 +08:00
dongmucat
c667cab280 fix(subscription): replace any type with explicit type assertion 2026-04-27 17:29:31 +08:00
dongmucat
658c44603b feat(subscription): add Chinese i18n for subscription feature 2026-04-27 17:21:39 +08:00
dongmucat
e70de0fc2e feat(subscription): add English i18n for subscription feature 2026-04-27 17:19:50 +08:00
dongmucat
12ed6f9146 feat(subscription): add subscriptions card to dashboard 2026-04-27 17:18:07 +08:00
dongmucat
6b3855e061 feat(subscription): add subscriptions menu item to user menu 2026-04-27 17:17:24 +08:00
dongmucat
6eee7342f3 feat(subscription): add /dashboard/subscriptions route 2026-04-27 17:16:48 +08:00
dongmucat
f0c2403134 feat(subscription): add MySubscriptionsPage component 2026-04-27 17:15:24 +08:00
dongmucat
1afb2085d9 feat(subscription): add SubscribeButton to skill detail page 2026-04-27 17:14:53 +08:00
dongmucat
b0623660c9 feat(subscription): add SubscribeButton component 2026-04-27 17:13:49 +08:00
dongmucat
0175897f45 feat(subscription): add useSubscription and useToggleSubscription hooks 2026-04-27 17:13:19 +08:00
dongmucat
d6ea91e069 feat(subscription): add useMySubscriptions query hooks 2026-04-27 17:12:52 +08:00
dongmucat
ebc3280d65 feat(subscription): add meApi subscriptions methods 2026-04-27 17:12:23 +08:00
dongmucat
c330db0bf3 feat(ui): display user ID on dashboard and profile settings pages 2026-04-27 14:54:39 +08:00
dongmucat
c1241ff83a test(namespace): fully mock search api in pagination e2e test
Root cause: two issues caused CI failure:
1. publishSkill hit 429 rate limit from other tests in the suite
2. glob pattern '?' was ambiguous for matching literal '?' in URLs

Fix: remove publishSkill dependency, use regex route matching, and
return fully mocked API responses with fake skill data. This tests
the frontend pagination UI behavior without needing real published
skills.
2026-04-27 11:42:43 +08:00
dongmucat
548ded0ad0 test(namespace): fix pagination e2e rate limit by intercepting search api 2026-04-27 11:25:07 +08:00
dongmucat
0020989ccb fix(namespace): add pagination to namespace skill list
The namespace detail page hardcoded a limit of 20 skills with no
pagination controls, so namespaces with more than 20 skills appeared
truncated. Add page state, wire it into the search query, and render
the shared Pagination component when total exceeds PAGE_SIZE. Also
reset page to 0 when the namespace param changes.

Closes #350
2026-04-27 10:54:57 +08:00
dongmucat
0cc3c46831
Merge pull request #340 from iflytek/feature/web-update-skill
feat(dashboard): add Update button to My Skills with publish prefill
2026-04-24 15:25:04 +08:00
dongmucat
df85ea0e18 fix(search): preserve empty-query discovery results 2026-04-23 16:24:23 +08:00
dongmucat
1591ee02b5 feat(ui): add dependencies and i18n for version diff 2026-04-23 11:08:33 +08:00
dongmucat
068cdaf84c test(namespace): add batch import members E2E tests
Adds Playwright E2E tests for batch member import dialog:
- Opens dialog and verifies upload step UI elements
- Uploads CSV with mixed valid/invalid rows and verifies preview with validation messages

Uses admin context pattern to create namespace and add test user as ADMIN member.
2026-04-22 16:36:18 +08:00
dongmucat
ee8ca10b3a feat(namespace): add batch import button to members page 2026-04-22 16:18:40 +08:00
dongmucat
ebb873e8b3 test(namespace): add batch import CSV parsing and validation tests 2026-04-22 16:16:27 +08:00
dongmucat
ca29994816 feat(namespace): add batch import members dialog component 2026-04-22 16:15:03 +08:00
dongmucat
5f3e7a0441 feat(namespace): add batch member import i18n keys 2026-04-22 16:12:07 +08:00
dongmucat
7baf059783 feat(namespace): add useBatchAddNamespaceMembers mutation hook 2026-04-22 16:11:17 +08:00
dongmucat
4b538bde04 feat(namespace): add batchAddMembers API client method 2026-04-22 16:10:14 +08:00
dongmucat
0da51a63ea feat(namespace): add batch member import frontend types 2026-04-22 16:09:23 +08:00
dongmucat
dc5759fad3 chore(api): regenerate OpenAPI types for batch member endpoint 2026-04-22 16:07:01 +08:00
dongmucat
230b915194 feat(dashboard): add Update button to My Skills with publish prefill
Add an "Update" button to each skill card on the My Skills dashboard
page. Clicking it navigates to the Publish page with the skill's
namespace and visibility pre-selected, reducing manual steps when
re-publishing a skill package.

- Add visibility field to SkillSummaryResponse so the list API exposes
  each skill's current visibility setting
- Add publish-prefill module to normalize and validate URL search params
- Wire TanStack Router validateSearch on the publish route
- Add E2E tests covering the prefill flow and invalid-param fallback
2026-04-22 14:59:01 +08:00
dongmucat
701ef12d33 test(e2e): wait for search cards before counting 2026-04-21 17:55:53 +08:00
dongmucat
2c519c8efd fix(search): harden portal search query parsing 2026-04-20 16:57:47 +08:00
wrj97
7be6a36960
feat(auth): add GitLab OAuth2 provider support (#264)
* feat(auth): add GitLab OAuth2 provider support

Add GitLab as an additional OAuth2 authentication provider alongside
GitHub. This includes:

- GitLab OAuth2 client configuration with customizable base URL
- GitLabClaimsExtractor for handling GitLab-specific user claims
- Multi-provider login UI with provider-specific icons
- Updated localization to use OAuth-agnostic terminology
- JSON type annotation for IdentityBinding entity

* fix(auth): restore oauth redirect and gitlab email checks

* test(auth): align oauth login handler expectation

---------

Co-authored-by: wowo-zZ <zhenggui5228@126.com>
2026-04-17 19:56:32 +08:00
dongmucat
89bc58d29e
Merge pull request #311 from iflytek/fix/public-skill-detail-anon
fix(web): allow anonymous access to public skill detail
2026-04-15 16:58:45 +08:00
XiaoSeS
4619e546bf
fix(search): show default discovery list on empty query (#312) 2026-04-15 16:58:21 +08:00
dongmucat
3c4c33ad95 fix(web): allow anonymous access to public skill detail 2026-04-15 16:16:08 +08:00
dongmucat
2cfd4a730b
Merge pull request #302 from iflytek/fix/rerelease-precheck-warnings
fix(rerelease): support precheck warning confirmation flow
2026-04-14 20:28:00 +08:00
dongmucat
5d87a0ccd3
Merge pull request #304 from iflytek/feat/oss-02-super-admin-visibility
feat(access): add SUPER_ADMIN platform role support
2026-04-14 20:27:39 +08:00
xiose
7c2f06d1b6 test(rerelease): add confirmWarnings coverage and sync generated schema
- Add domain tests for rerelease with precheck warnings (reject + confirm)
- Add controller test verifying confirmWarnings passthrough
- Sync SkillVersionRereleaseRequest generated type with backend DTO
2026-04-14 17:55:56 +08:00
dongmucat
1246cca930
Merge pull request #279 from iflytek/fix/issue-276-review-own-namespace
fix(review): allow namespace admins to review own submissions
2026-04-14 17:22:08 +08:00
dongmucat
ccf7e3840d test(e2e): harden namespace selection for publish flows 2026-04-14 16:16:08 +08:00
dongmucat
a6a3bdc5f3 test(e2e): verify publish via response and list 2026-04-14 15:29:47 +08:00
dongmucat
4d67403e59 test(e2e): relax publish navigation check 2026-04-14 14:32:17 +08:00
xiose
9801b549fc feat(access): add SUPER_ADMIN platform role support
- Add platformRoles parameter to VisibilityChecker.canAccess() for platform-level access control
- SUPER_ADMIN can access all skills regardless of visibility or publication status
- Add archived namespace check to SkillQueryService.getSkillDetail()
- Extract platformRoles from AuthContext in SkillController
- Replace VisibilityChecker mock with real instance in SkillQueryServiceTest
- Add 5 new tests for SUPER_ADMIN access scenarios
- Add version-status-badge.tsx component for frontend status display

Tests: 347 domain tests + 16 app tests passing
2026-04-14 14:18:43 +08:00
dongmucat
cc8b56e26c test(e2e): avoid load-event wait in publish flow 2026-04-14 14:17:57 +08:00
dongmucat
7dff8dc697 test(e2e): stabilize publish and search waits 2026-04-14 13:55:33 +08:00
xiose
b597a6f511 merge: resolve conflicts after merging origin/main
- Remove duplicate useSubmitForReview/useConfirmPublish in hooks and client
- Restore resolveVersionStatusLabel (version-status-badge not in this branch)
- Fix missing Card closing tag in versions tab
2026-04-14 13:44:30 +08:00