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
7063a6d348
test(subscription): add SkillSubscriptionService unit tests
2026-04-27 17:02:48 +08:00
dongmucat
9bc5d0c784
feat(subscription): notify subscribers on skill publish and version yank
2026-04-27 16:51:40 +08:00
dongmucat
6f0103f013
feat(subscription): publish SkillVersionYankedEvent on version yank
2026-04-27 16:50:38 +08:00
dongmucat
4e62698231
feat(subscription): add /me/subscriptions endpoint for user subscription list
2026-04-27 16:49:26 +08:00
dongmucat
4713e864bd
feat(subscription): add SkillSubscriptionController REST endpoints
2026-04-27 16:47:56 +08:00
dongmucat
a2aa4c3fb1
feat(subscription): update subscription count on subscribe/unsubscribe
2026-04-27 16:47:14 +08:00
dongmucat
9d4422cd6c
feat(subscription): add increment/decrement subscription count methods
2026-04-27 16:46:34 +08:00
dongmucat
79f1aa4db1
feat(subscription): add subscriptionCount field to Skill entity
2026-04-27 16:44:34 +08:00
dongmucat
7da8ffdb1b
feat(subscription): add JPA implementation for SkillSubscriptionRepository
2026-04-27 16:43:34 +08:00
dongmucat
1567a67bdd
feat(subscription): add SkillSubscriptionService domain service
2026-04-27 16:43:15 +08:00
dongmucat
7391c26843
feat(subscription): add subscription and version yanked domain events
2026-04-27 16:42:50 +08:00
dongmucat
9c05e91a6c
feat(subscription): add SkillSubscription entity and repository interface
2026-04-27 16:40:34 +08:00
dongmucat
8c75409b72
feat(subscription): add skill_subscription table migration V40
2026-04-27 16:39:46 +08:00
dongmucat
c71e4c197a
Merge pull request #354 from iflytek/fix/namespace-skill-pagination
...
fix(namespace): add pagination to namespace skill list
2026-04-27 16:06:19 +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
bb9f8915e2
feat(auth): support oidc login
2026-04-24 13:45:20 +08:00
dongmucat
c5c76d3bb0
Merge pull request #346 from iflytek/fix/search-empty-keyword-results
...
fix(search): preserve empty-query discovery results
2026-04-23 16:48:23 +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
3739c7879b
Merge pull request #305 from iflytek/fix/bootstrap-admin-role-backfill
...
fix(auth): backfill bootstrap admin role binding
2026-04-23 10:11:43 +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
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
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