XiaoSeS
b3b60b4894
Merge remote-tracking branch 'refs/remotes/origin/pr/581' into codex/validate/pr581-20260806
...
# Conflicts:
# server/skillhub-app/src/test/java/com/iflytek/skillhub/security/ApiAccessDeniedHandlerTest.java
# web/src/pages/dashboard/publish.tsx
2026-08-06 22:24:38 +08:00
philsun
34f244e7a4
feat(web): support configurable base-path deployment
...
Signed-off-by: philsun <xinyi.sun@daocloud.io>
2026-08-05 12:50:26 +08:00
Michael
a063090a52
fix(web): stop React 19 portal removeChild/insertBefore crashes ( #624 )
...
* fix(web): replace custom Dialog with Radix to stop portal races
Hand-rolled createPortal siblings on document.body raced with Radix
Select/DropdownMenu/Sonner under React 19 (insertBefore/removeChild).
Use @radix-ui/react-dialog like select/dropdown adapters and bail out
overview ResizeObserver setState when values are unchanged.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
* fix(web): stop portal removeChild races on search and shell
Move Radix portals to #skillhub-portals, drop language-switcher body
portal (match UserMenu), remove Select/Dropdown exit animations, and keep
previous search results while typing to avoid skeleton unmount churn.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
* fix(web): systemic overlay teardown for React 19 removeChild
Render Select/Dropdown in-tree (no Portal), translate=no on overlays,
dismiss overlays on pathname change, defer navigate after close, host
Toaster in #skillhub-portals, and add recoverable RouteError UI.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
* fix(web): harden overlay dismiss after code review
Clip decorative layer only, dismiss Dialog via overlay pointer events,
log RouteError once in useEffect, and defer skill-detail leave navigations.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
* fix(web): batch starred highlight and defer Sonner toasts
Avoid N× per-card star fetches on /search and flushSync toast races
during React 19 list re-renders (removeChild / insertBefore).
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
* fix(web): block Chrome Translate DOM races on skill overview
Keep html/#root notranslate, sync lang with i18n, and harden overview
expand so memoized markdown + quiet ResizeObserver avoid insertBefore crashes.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
---------
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
2026-08-04 13:59:37 +08:00
XiaoSeS
5be758846e
Merge pull request #625 from michael-xiii/feat/web-label-search-navigation
...
feat(web): link skill labels to search and wrap filter chips
2026-08-04 09:29:53 +08:00
Mikhail Neradkov
90ae071e44
feat(web): link skill labels to search and wrap filter chips
...
Make skill-detail label chips navigate to /search?label=… and allow
the search filter row to wrap when many labels are present.
Signed-off-by: Mikhail Neradkov <michael.neradkov@gmail.com>
2026-07-29 22:48:58 +03:00
dongmucat
7fc0e2226c
fix(namespace): refresh session roles for namespace visibility
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
1d216e73f0
fix(frontend): expose namespace picker value
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
9149227206
fix(frontend): preserve namespace picker selectors
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
f8df616480
fix(namespace): scope review entry queries
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
78cbe05ebe
fix(namespace): preserve bounded selection semantics
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
2bd358049b
fix(frontend): bound namespace selection
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
8f6941e31e
feat(frontend): add paged namespace picker
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
18c9370318
fix(frontend): bound namespace page queries
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
9de8a51d89
feat(namespace): filter paged namespace reads
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:08 +08:00
dongmucat
2fa7a53e2b
fix(namespace): preserve super admin skill reads
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
daba212271
fix(namespace): preserve my namespace compatibility
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
123d0d5f53
fix(namespace): page super admin visibility
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
669d341d51
fix(namespace): preserve review menu visibility
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
35e9ca588a
fix(namespace): allow super admin namespace detail reads
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
1577384ffb
fix(namespace): allow super admin namespace visibility
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 11:53:07 +08:00
dongmucat
ff37792981
fix(web): isolate ambient types (ISSUE-92)
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-29 10:44:49 +08:00
XiaoSeS
e4fb26d4ba
fix(nginx): trust forwarded proto only when configured
...
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-07-28 20:03:50 +08:00
XiaoSeS
bbf9e4e714
Merge remote-tracking branch 'origin/main' into review/pr443-fix
...
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-07-28 20:03:50 +08:00
1664940968@qq.com
1d679c526a
fix(auth): recover login page from stale lazy-loaded chunks after logout ( #560 )
...
* fix(auth): recover from stale login chunks after logout
* fix(auth): prevent repeated stale chunk reloads
Signed-off-by: ylhu16 <ylhu16@iflytek.com>
---------
Signed-off-by: ylhu16 <ylhu16@iflytek.com>
Co-authored-by: ylhu16 <ylhu16@iflytek.com>
2026-07-28 16:36:47 +08:00
FenjuFu
4fdc7e3dc5
fix(publish): delete review tasks of any status when replacing a version ( #601 )
...
Deploy Docs / build (push) Waiting to run
Deploy Docs / Deploy (push) Blocked by required conditions
Security / Dependency Review (push) Waiting to run
Security / CodeQL (java-kotlin) (push) Waiting to run
Security / CodeQL (javascript-typescript) (push) Waiting to run
Security / CodeQL (python) (push) Waiting to run
* fix(publish): delete review tasks of any status when replacing a version
Re-uploading a rejected version under the same version number returned
HTTP 500. deleteReplaceableVersionArtifacts only removed a PENDING review
task, but a rejected version owns a REJECTED one; that row kept a foreign
key on the skill_version, so the subsequent delete hit a constraint
violation that surfaced as a 500.
Delete every review task attached to the version instead.
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
* test(publish): drop the spring-test dependency from the new test
skillhub-domain has no spring-test on its test classpath, so
ReflectionTestUtils does not resolve there. Use plain JDK reflection for
setting the generated id and invoking the private method.
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
* fix(publish): constrain rejected version replacement
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(publish): verify replaced review is deleted
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(e2e): use generated API response types
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Co-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-07-28 13:57:35 +08:00
dongmucat
06cc523a0c
Merge pull request #557 from iflytek/fix/relative-link-nested-preview
...
Security / Dependency Review (push) Has been cancelled
Deploy Docs / build (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
Security / CodeQL (python) (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
fix(frontend): support nested preview links
2026-06-30 17:29:08 +08:00
dongmucat
db8aa36f89
fix(frontend): patch undici alerts and harden staging web
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-30 10:58:05 +08:00
dongmucat
0134da73b5
fix(frontend): support nested preview links
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-24 16:51:42 +08:00
dongmucat
8413ee3950
Merge pull request #554 from iflytek/fix/auth-password-settings
...
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
fix(auth): restore password settings access
2026-06-24 10:50:26 +08:00
dongmucat
e501be9cf8
feat(promotion): improve promotion review dashboard
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-24 09:28:43 +08:00
dongmucat
f61ce71daa
test(web): ISSUE-61 cover security settings real requests
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 17:22:19 +08:00
dongmucat
9f927c12b0
fix(PR): default deny security password changes
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 14:22:25 +08:00
dongmucat
54006e72a4
fix(web): ISSUE-62 gate security settings by capability
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 14:00:53 +08:00
dongmucat
665ee0499a
feat(auth): add ISSUE-60 password capability field
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 12:40:01 +08:00
dongmucat
47a0ef1f7f
chore(deps): patch dependabot security alerts
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-17 13:43:43 +08:00
dongmucat
a85298f7ae
Merge pull request #508 from iflytek/fix/security-review-hardening
...
fix(security): harden review findings
2026-06-17 11:08:38 +08:00
dongmucat
8527409742
fix(notification): keep SSE live push streams open ( #524 )
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-16 11:57:49 +08:00
dongmucat
a865960cf3
fix(notification): ISSUE-51 add profile review notifications
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-16 10:33:02 +08:00
dongmucat
40d7de8462
fix(security): harden review findings
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-12 14:40:30 +08:00
dongmucat
4776550391
Merge pull request #498 from iflytek/feature/cloud-url-builtin-skills
...
feat(bootstrap): sync built-in skills from cloud manifest
2026-06-11 17:27:26 +08:00
XiaoSeS
a88b09e51b
fix(publish): accept case-insensitive SKILL.md uploads
2026-06-11 16:34:13 +08:00
dongmucat
d58c934d64
Merge pull request #482 from iflytek/feature/namespace-search-download
...
feat(skill): add namespace search and bundle download
2026-06-10 20:10:32 +08:00
dongmucat
920e6889e7
fix(web): remove namespace download residuals
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-10 19:48:32 +08:00
dongmucat
201e636858
test(web): add namespace search-only regression
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-10 19:48:16 +08:00
dongmucat
04348f5022
chore: sync schema.d.ts — remove namespace bundle download paths and operations
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-10 19:48:06 +08:00
dongmucat
738e8f8cee
fix(web): stabilize frontend validation
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-10 18:00:10 +08:00
dongmucat
6779c1eecd
feat(web): preview relative markdown package links ( #502 )
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-10 16:31:22 +08:00
dongmucat
43d66a59e1
Merge remote-tracking branch 'origin/main' into HEAD
...
Signed-off-by: dongmucat <1127093059@qq.com>
# Conflicts:
# server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/skill/service/SkillDownloadServiceTest.java
2026-06-09 14:29:03 +08:00
dongmucat
b5edfb850e
fix(web): clarify namespace bundle download limits
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-09 10:02:26 +08:00
dongmucat
6e094f4199
fix(skill): cap namespace bundle downloads
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-08 10:46:30 +08:00