Commit graph

738 commits

Author SHA1 Message Date
dongmucat
c330db0bf3 feat(ui): display user ID on dashboard and profile settings pages 2026-04-27 14:54:39 +08:00
dongmucat
1591ee02b5 feat(ui): add dependencies and i18n for version diff 2026-04-23 11:08:33 +08:00
dongmucat
17b30c8f30 docs(namespace): clarify intentional no-transaction on batchAddMembers 2026-04-22 16:47:18 +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
7ab2fd5e64 test(namespace): add batch member import controller tests 2026-04-22 16:04:42 +08:00
dongmucat
65b9b8b609 feat(namespace): add batch member import endpoint 2026-04-22 15:43:23 +08:00
dongmucat
4f7cdc48cb feat(namespace): add batch member import DTOs 2026-04-22 15:42:12 +08:00
dongmucat
62028e9f55
Merge pull request #337 from iflytek/fix/search-page-400
fix(search): harden portal query parsing
2026-04-22 13:53:46 +08:00
dongmucat
60a30190bf
Merge pull request #336 from iflytek/fix/s3-bucket-access-check
fix(storage): lazily create missing s3 buckets on upload
2026-04-22 09:52:33 +08:00
dongmucat
701ef12d33 test(e2e): wait for search cards before counting 2026-04-21 17:55:53 +08:00
dongmucat
f902c6f59b fix(search): restore clawhub namespace-only access 2026-04-21 17:28:05 +08:00
dongmucat
3c047fce8a
Merge pull request #334 from iflytek/fix/namespace-search-visibility
fix(search): restore clawhub namespace-only access
2026-04-21 16:47:19 +08:00
dongmucat
1e9d22b528 fix(storage): stage retryable s3 upload bodies 2026-04-21 13:09:20 +08:00
dongmucat
37aa366233 fix(storage): retry put after lazy bucket creation 2026-04-21 12:57:24 +08:00
dongmucat
e01c987a82 fix(search): restore clawhub namespace-only access 2026-04-21 09:45:39 +08:00
dongmucat
2c519c8efd fix(search): harden portal search query parsing 2026-04-20 16:57:47 +08:00
dongmucat
acc8899abb
Merge pull request #328 from iflytek/fix/gitlab-oauth-release-env
fix(env): add gitlab oauth release example config
2026-04-20 14:04:25 +08:00
dongmucat
1d0d6be816 fix(env): add gitlab oauth release example config 2026-04-20 13:54:41 +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
XiaoSeS
080be28eef
fix(search): align portal visibility for private skills (#323)
* feat(ci): add AI-powered release notes generation

- Add GitHub Models integration for automated release notes
- Support bilingual (EN) release notes with highlights extraction
- Fallback to conventional commit grouping when LLM unavailable
- Trigger on tag push or manual workflow dispatch
- Zero configuration: uses GitHub Models (gpt-4o-mini) by default

* chore: pin action versions and update gitignore

- Pin checkout and setup-deno to commit hashes matching project convention
- Add .playwright-mcp/ and .mcp.json to gitignore

* fix(search): keep private skills out of portal discovery

- remove super admin expanded visibility from portal search
- exclude all private skills from portal search results
- keep namespace-only skills visible only to namespace members
- reserve private skill access for my-skills and future admin surfaces

* test(search): update test to reflect portal visibility policy

- rename test from platformWideAccessShouldBypass... to platformWideAccessShouldNotBypass...
- verify that platformWideAccess flag does not grant extra visibility in portal search
- verify PRIVATE skills are excluded from search SQL
- aligns test with new requirement: portal search uses standard visibility rules

* test(search): update app service test for portal visibility policy

- rename test from search_shouldGrantPlatformWideAccessToSuperAdmin to search_shouldNotGrantPlatformWideAccessToSuperAdminInPortal
- verify super admin does not get platformWideAccess in portal search
- aligns with requirement: portal uses standard visibility, admin features reserved for dedicated interface
2026-04-17 17:46:05 +08:00
wowo
c03790a11e
Fix runtime Postgres password drift (#321)
- start postgres before bringing up application services
- sync the database role password from .env.release
- verify TCP auth with the synced password before startup
2026-04-17 17:45:34 +08:00
XiaoSeS
5bf8750658
feat(ci): add AI-powered release notes generation (#322)
* feat(ci): add AI-powered release notes generation

- Add GitHub Models integration for automated release notes
- Support bilingual (EN) release notes with highlights extraction
- Fallback to conventional commit grouping when LLM unavailable
- Trigger on tag push or manual workflow dispatch
- Zero configuration: uses GitHub Models (gpt-4o-mini) by default

* chore: pin action versions and update gitignore

- Pin checkout and setup-deno to commit hashes matching project convention
- Add .playwright-mcp/ and .mcp.json to gitignore
2026-04-17 15:19:48 +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
xiose
edcc248244 fix(portal): keep skill detail on viewer permissions 2026-04-14 16:42:22 +08:00
dongmucat
ccf7e3840d test(e2e): harden namespace selection for publish flows 2026-04-14 16:16:08 +08:00
xiose
a1e4904d97 fix(i18n): update version delete error message to include UPLOADED and SCAN_FAILED
The error message for unsupported version deletion still referenced only
DRAFT/REJECTED. Updated both EN and ZH messages to reflect the actual
deletable statuses: DRAFT, UPLOADED, REJECTED, SCAN_FAILED.

Also updated OSS-02 design doc to mark all blocking items as completed.
2026-04-14 15:49:25 +08:00
dongmucat
a6a3bdc5f3 test(e2e): verify publish via response and list 2026-04-14 15:29:47 +08:00
dongmucat
3f43915af9
Merge pull request #246 from iflytek/fix/security-hardening-unauth
fix(security): harden metrics exposure and namespace/private-skill auth
2026-04-14 14:57:49 +08:00
dongmucat
9491eb2c34
Merge pull request #296 from FenjuFu/docs/add-discord-link-only
docs: add discord server link to READMEs
2026-04-14 14:56:19 +08:00
dongmucat
5c8b33684f docs: add discord server link to READMEs 2026-04-14 14:44:12 +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
9a6f649e6f Merge remote-tracking branch 'origin/main' into feat/oss-02-uploaded-status-semantic
# Conflicts:
#	README.md
#	README_zh.md
2026-04-14 13:53:47 +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