XiaoSeS
|
6770be22c5
|
test(security): verify retry row locking
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:45:44 +08:00 |
|
XiaoSeS
|
697bb952a4
|
fix(security): harden scan retry lifecycle
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:45:44 +08:00 |
|
XiaoSeS
|
0fb00f01b6
|
chore(api): refresh security scan retry schema
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:45:16 +08:00 |
|
XiaoSeS
|
680a5d1b94
|
feat(security): retry failed scans
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:45:16 +08:00 |
|
XiaoSeS
|
e02c22e678
|
fix(i18n): align scanner failure reason keys
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:32:37 +08:00 |
|
XiaoSeS
|
ccc13291b2
|
fix(scanner): keep failure details private
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:32:37 +08:00 |
|
XiaoSeS
|
8b09c23dc4
|
fix(scanner): make terminal failures recoverable
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:32:37 +08:00 |
|
XiaoSeS
|
4bfb5e2692
|
fix(scanner): expire unavailable pending tasks
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:32:37 +08:00 |
|
XiaoSeS
|
2e697d1581
|
test(scanner): reproduce unbounded unavailable task
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 19:32:37 +08:00 |
|
XiaoSeS
|
d6afc43364
|
Merge pull request #807 from iflytek/codex/refactor/issue-622-notification-polling
refactor(notification): replace SSE with HTTP polling
|
2026-09-03 13:48:57 +08:00 |
|
XiaoSeS
|
47f3d33c65
|
Merge pull request #806 from iflytek/codex/docs/issue-795-clawhub-compat
docs(compat): clarify supported ClawHub workflows
|
2026-09-03 13:48:33 +08:00 |
|
XiaoSeS
|
1d63d101fa
|
Merge pull request #805 from iflytek/codex/fix/issue-800-detail-return
fix(web): preserve dashboard return path from skill details
|
2026-09-03 13:48:04 +08:00 |
|
XiaoSeS
|
4d71a16ddd
|
fix(notification): complete polling migration
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 11:38:02 +08:00 |
|
XiaoSeS
|
efa3c1ae65
|
refactor(notification): replace SSE with HTTP polling
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 11:38:02 +08:00 |
|
XiaoSeS
|
4670edf817
|
docs(compat): align slug validation guidance
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 11:27:54 +08:00 |
|
XiaoSeS
|
3cbf622c14
|
docs(compat): clarify canonical slug validation
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 11:24:56 +08:00 |
|
XiaoSeS
|
5191110514
|
docs(compat): avoid incomplete support list
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:52:26 +08:00 |
|
XiaoSeS
|
f5b67ea310
|
docs(compat): document first-party publish token
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:48:07 +08:00 |
|
XiaoSeS
|
20d20c16d0
|
docs(compat): separate ClawHub and SkillHub authentication
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:44:15 +08:00 |
|
XiaoSeS
|
923c1df4e1
|
docs(compat): remove unsupported publish guidance
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:40:35 +08:00 |
|
XiaoSeS
|
0e16df8163
|
docs(compat): align ClawHub support guidance
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:28:46 +08:00 |
|
XiaoSeS
|
5045901c9e
|
fix(web): retain dashboard pagination on detail return
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 10:27:51 +08:00 |
|
XiaoSeS
|
e43fa82af8
|
docs(compat): clarify supported ClawHub workflows
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 09:43:23 +08:00 |
|
XiaoSeS
|
b62a487037
|
fix(web): preserve dashboard return path from skill details
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-03 09:42:00 +08:00 |
|
XiaoSeS
|
fc7c59534a
|
fix(platform): harden sessions, scanner recovery, and CLI guidance (#801)
* fix(auth): recover from unreadable sessions
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(scanner): defer unavailable scan tasks safely
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(web): prefer the SkillHub CLI install command
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(auth): decode session cookies during recovery
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(runtime): address scanner and session review findings
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(scanner): defer all server-side outages
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* docs(scanner): clarify deferred failure semantics
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(scanner): cover recovery boundaries
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(scanner): register startup hook on router
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(e2e): align install defaults and reuse auth session
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-02 20:15:42 +08:00 |
|
XiaoSeS
|
2b831f31a9
|
fix(cli): enforce fingerprint-safe install and sync (#804)
* fix(cli): validate downloaded skill fingerprint
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): guard namespace sync version drift
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): preserve sync safety guards under force
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): fail blocked sync checks
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-02 18:58:17 +08:00 |
|
XiaoSeS
|
45d341f144
|
feat(review): add skill comments and user feedback (#793)
* feat(review): add skill review domain model
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* feat(review): expose skill reviews in API and UI
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): preserve moderation under concurrent edits
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): scope concurrent write conflicts
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): restore web build compatibility
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): keep author cleanup available
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): preserve author cleanup access
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): require review score contract
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(review): strengthen failure and concurrency coverage
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(review): tighten persistence assertions
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(review): disambiguate repository ports
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): enable request validation
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(review): align validation and postgres coverage
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(namespace): verify invalid batch has no side effects
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(web): align accessibility and plural assertions
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(i18n): require complete plural references
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): wrap editor actions on mobile
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): wrap long mobile labels
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): disable edits for archived skills
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(review): enforce archived mutation guard
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-02 11:15:52 +08:00 |
|
XiaoSeS
|
15dad68740
|
test(promotion): cover global download after approval (#792)
* test(promotion): cover global download after approval
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(promotion): align smoke setup with current API
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(promotion): make download smoke repeatable
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(promotion): wait for member review readiness
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(promotion): verify denied approval state
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-02 11:15:10 +08:00 |
|
XiaoSeS
|
6ab8faa6b9
|
feat(cli): add source-safe skill upgrades (#796)
* feat(cli): add source-safe skill upgrades
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): harden skill upgrade lifecycle
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): make multi-target upgrades failure-safe
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): cover upgrade selection and fallback boundaries
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): use a dead pid for stale lock recovery
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): prove upgrade safety invariants
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): prove manual ownership remains untouched
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): bind ownership sentinels to each fixture
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): keep upgrade assertions registry-scoped
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): close upgrade commit races
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): keep rollback backup path narrowed
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): reject upgrade targets removed after planning
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): serialize remove with target upgrades
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): prove shared target lock cleanup
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): make stale target lock recovery ownership-safe
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): use proven cross-process target locks
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): synchronize target lock contenders
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): bound target lock worker cleanup
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): satisfy target lock worker lint
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): serialize inventory and alias target mutations
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): cover lock root safety boundaries
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): keep target lock identity stable
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): report partial upgrade failures
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): preserve committed upgrade results
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): surface install lifecycle warnings
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): prove lifecycle warning outputs
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): assert structured upgrade failures
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): keep portable install paths
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* fix(cli): unify aliased target identity
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): accept canonical relative paths
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): verify portable target identity
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
* test(cli): synchronize stale lock contenders
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---------
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-02 10:50:09 +08:00 |
|
XiaoSeS
|
08723fd01a
|
Merge pull request #791 from iflytek/codex/validate/issues620-621-20260901
feat(review): add progress history and light-dark themes
|
2026-09-01 18:05:52 +08:00 |
|
XiaoSeS
|
ea1ebb99d7
|
test(web): stabilize theme and review browser flows
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
2e11705ebd
|
fix(theme): harden responsive switch semantics
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
0d48945fd2
|
fix(theme): polish dark header and toggle
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
fa13dd54ee
|
test(review): validate progress query on postgres
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
83599f9317
|
fix(review): prevent progress offset overflow
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
39861bc6d8
|
test(review): strengthen exact-sha coverage
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:42 +08:00 |
|
XiaoSeS
|
918ef9d265
|
test(review): filter known CSP browser warning
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
a568d22526
|
fix(review): restrict version history to reviewers
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
3e77365a5d
|
fix(review): complete progress history workflow
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
b8b0fba3d4
|
fix(theme): polish dark notification states
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
7995c00683
|
feat(review): add author review progress and attempt history
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
ebac94a043
|
feat(theme): add browser-local light and dark mode
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-09-01 17:53:41 +08:00 |
|
XiaoSeS
|
ac42c2346c
|
Merge pull request #786 from iflytek/fix/issue-613-oauth-concurrency-20260831
fix(auth): converge concurrent identity binding
|
2026-08-31 18:49:41 +08:00 |
|
XiaoSeS
|
bdb42b1be9
|
Merge pull request #787 from iflytek/fix/issue-615-audit-atomicity-20260831
fix(governance): make mutations and audit atomic
|
2026-08-31 18:48:30 +08:00 |
|
XiaoSeS
|
a73997c672
|
Merge pull request #784 from iflytek/fix/concurrent-publish-coordinate-race
fix(publish): return deterministic conflict on concurrent coordinate race
|
2026-08-31 18:47:19 +08:00 |
|
XiaoSeS
|
3a29f6d750
|
fix(auth): converge concurrent identity binding
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-08-31 16:30:33 +08:00 |
|
XiaoSeS
|
b22b92fcbc
|
fix(governance): make mutations and audit atomic
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-08-31 16:30:33 +08:00 |
|
XiaoSeS
|
182f7bacef
|
fix(publish): flush concurrent coordinate writes
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
|
2026-08-31 16:30:33 +08:00 |
|
XiaoSeS
|
13510609a0
|
Merge pull request #783 from iflytek/fix/auth-stale-session-public-routes
fix(auth): allow public routes after session expiry
|
2026-08-31 15:25:01 +08:00 |
|
XiaoSeS
|
d1cd3d2afe
|
Merge pull request #782 from FenjuFu/fix/audit-detail-json
fix(audit): render audit detail JSON with Jackson instead of string concatenation
|
2026-08-31 15:24:06 +08:00 |
|