dongmucat
f0760a6416
fix(e2e): resolve strict mode violation in subscription tests
...
Use .first() for h1 heading locator since skill detail page
renders two h1 elements (page title + README heading).
Add page-ready wait in second test before locating Subscribe button.
2026-04-29 10:05:51 +08:00
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
fb3035e545
test(subscription): add SkillSubscriptionController integration tests
2026-04-29 09:52:50 +08:00
dongmucat
78b7e4f0c2
chore(api): regenerate OpenAPI types for subscription endpoints
2026-04-28 11:15:57 +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
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
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
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
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
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
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