Commit Graph
2513 Commits
Author SHA1 Message Date
Santiago fd9902b58b fix: search prints no results when a skills.sh row matches (#3379)
Normalize skills.sh installs into the canonical downloads field so released clients can parse and render mixed-source search results.
2026-08-03 19:10:44 -07:00
Patrick Erichsen d1f9b87f43 chore: refresh audited dependency pins (#3389)
Update the five newly vulnerable dependency pins and refresh the lockfile so repository CI remains enforceable.
2026-08-03 18:55:09 -07:00
Vyctor H. Brzezowski dc7a0f4de1 fix(home): contain app category scroller on mobile (#3281)
Constrain the mobile app-category strip to the available content width while preserving internal horizontal scrolling. Scope the CSS regression contract to the exact nested mobile rule.
2026-08-03 13:51:44 -03:00
Patrick Erichsen 4ae518011a fix: move skills.sh badge before download count (#3376) 2026-08-02 19:53:11 -07:00
Patrick Erichsen 3d3ac2942e test: isolate production menu smoke routes (#3374) deploy/prod/20260802-053000Z-3d3ac29 prod/v2026.08.02.1 2026-08-01 22:16:04 -07:00
Patrick Erichsen 632850f5a8 feat: refine skills.sh listing UI (#3373)
* feat: refine skills.sh listing UI

* test: fix skills.sh missing metric fixture
2026-08-01 21:43:09 -07:00
Patrick Erichsen 059cf01765 test: harden timing-sensitive unit fixtures (#3372) 2026-08-01 17:49:01 -07:00
Patrick Erichsen ec8a9ec508 fix: simplify skills.sh catalog presentation (#3371) 2026-08-01 17:40:19 -07:00
Patrick Erichsen 50c4ffc1a0 fix: bound prepublication scanner retries (#3353) 2026-08-01 17:26:49 -07:00
Patrick Erichsen 0fb07e5b99 feat: align skills.sh catalog presentation (#3370)
* feat: align skills.sh catalog presentation

* refactor: share skill detail shell with skills.sh

* test: seed skills.sh route fixtures locally

* refactor: share full skill detail page view

* feat: refine skills.sh detail presentation

* feat: refine skills.sh detail metadata

* fix: refine skills.sh detail spacing
2026-08-01 16:46:48 -07:00
Patrick Erichsen a643b75eca fix: reuse verified hourly native pools (#3368) 2026-08-01 00:34:03 -07:00
Patrick Erichsen c1cacaaed4 fix: refresh skills.sh sync authorization (#3367) 2026-07-31 23:54:39 -07:00
Patrick Erichsen c83f1711bd fix: verify bounded skills.sh Trending activation (#3366) 2026-07-31 19:46:16 -07:00
Patrick Erichsen a16ff751bb feat: notify plugin owners only for hard compatibility errors (#3365)
* chore: update plugin inspector to 0.3.20

* feat: gate plugin compatibility emails on hard errors
2026-07-31 17:37:52 -07:00
Patrick Erichsen d76c965480 refactor: simplify homepage catalog controls (#3364) 2026-07-31 16:11:32 -07:00
Patrick Erichsen a9d04bb009 fix: align trending list headers to edges (#3361) 2026-07-31 15:03:55 -07:00
Patrick Erichsen 6dcff11402 fix: persist native trending activation pool (#3360) 2026-07-31 15:02:23 -07:00
Patrick Erichsen fb99952312 fix: reconcile native trending preflight timeouts (#3358) 2026-07-31 14:33:49 -07:00
Vincent Koc 44cee65cac fix(deploy): preserve active rollout modes (#3357) 2026-08-01 01:36:35 +08:00
Vincent Koc 1a3ee6e015 fix(publish): wait for definitive package publication 2026-08-01 01:00:02 +08:00
Patrick Erichsen a9b4494807 fix: refresh Trending download snapshots (#3355) 2026-07-31 09:58:38 -07:00
Patrick Erichsen 476feb2af1 fix: show actual downloads in Trending (#3354) 2026-07-31 09:09:48 -07:00
Patrick Erichsen a15f97470f fix: reconcile skills.sh activation timeouts (#3352) 2026-07-31 08:35:07 -07:00
Patrick Erichsen a5ffae2196 fix: reuse ready native trending preflight (#3350) 2026-07-31 04:26:59 -07:00
Patrick Erichsen 1a0f165291 fix: accept direct workflow oidc claims (#3348) 2026-07-31 03:30:49 -07:00
Vincent Koc c762d8ec6d fix: keep inspector target cache in workspace (#3347) 2026-07-31 17:41:54 +08:00
MomoandVincent Koc e9316c1c7d fix: plugin publishing no longer fails on invalid temp paths (#3344)
* fix: keep plugin inspector workspaces writable

* test: cover inspector temp fallback by platform

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-31 16:55:56 +08:00
Patrick Erichsen 4187c7dd1c fix: retry transient legacy file downloads (#3346) 2026-07-31 01:54:45 -07:00
Patrick Erichsen 536674f49b fix: reconstruct large legacy scan packages (#3345) 2026-07-31 01:33:25 -07:00
Patrick Erichsen 110f92a0ef fix: normalize nested plugin manifests (#3343) 2026-07-30 23:28:55 -07:00
Patrick Erichsen 73eb44cd70 fix: normalize BOM-prefixed plugin manifests (#3342) 2026-07-30 23:13:21 -07:00
Patrick Erichsen 43a56d4f76 fix: normalize BOM-prefixed plugin manifests (#3341) 2026-07-30 23:01:16 -07:00
Patrick Erichsen 17bd74814d fix: pin BOM-compatible plugin inspector (#3339) 2026-07-30 22:49:14 -07:00
Patrick Erichsen c1f6ba2f07 fix: accept BOM-prefixed plugin package metadata (#3338) 2026-07-30 22:32:39 -07:00
Patrick Erichsen 41a7578990 fix: scan historical legacy package paths (#3337) 2026-07-30 21:59:30 -07:00
Patrick Erichsen aa23c7e44d fix: sanitize nightly scan fixture ids (#3336) 2026-07-30 21:19:47 -07:00
Patrick Erichsen 329783af96 fix: ignore legacy zip pax metadata (#3335) 2026-07-30 20:44:39 -07:00
Patrick Erichsen 29549947f6 fix: label trending counts as downloads (#3334) 2026-07-30 20:37:46 -07:00
Patrick Erichsen bd95e24030 fix: resolve production skills sync environment (#3333) 2026-07-30 20:25:37 -07:00
Patrick Erichsen 8b0e5b906e fix: bound canonical trending candidate memory (#3332) 2026-07-30 19:38:00 -07:00
Patrick Erichsen b7bd53a697 fix: advance plugin scan pagination between claims (#3331) 2026-07-30 19:15:16 -07:00
Patrick Erichsen e32c56b69e fix: bound native trending digest reads (#3330) 2026-07-30 18:35:39 -07:00
Patrick Erichsen e986ac3b02 fix: stream canonical trending sources (#3329) 2026-07-30 17:59:33 -07:00
Patrick Erichsen ee065b6d11 feat(admin): export plugin validation reports (#3326)
* feat(admin): add plugin validation report command

* test(admin): cover validation report edge cases

* test(admin): satisfy validation report static gate

* feat(admin): serve plugin validation reports
2026-07-30 16:08:40 -07:00
Patrick Erichsen 6afd21e1a2 feat: refresh beta plugin compatibility nightly (#3325)
* feat: reconcile nightly plugin validation state

* feat: refresh beta plugin validation nightly

* fix: scope nightly scan notification findings
2026-07-30 15:46:11 -07:00
Yiğit ERDOĞANandPatrick Erichsen 3979883360 fix: stop rejecting skills whose SKILL.md uses thematic breaks (#3297)
* fix: stop rejecting skills whose SKILL.md uses thematic breaks

The quality gate stripped frontmatter with a regex carrying the `m` flag, so
`^---` matched at every line start rather than only at the start of the
document. Frontmatter is optional when publishing, so a SKILL.md that opens
with a heading and uses `---` as an ordinary Markdown thematic break had
everything between its first two rules deleted before the body was measured.

The truncated body then fell under the word and character floors and the
publish was rejected outright with "Skill content is too thin or templated".
The same truncation also fed the structural fingerprint used for template-spam
detection.

The three other frontmatter parsers in the repository are all anchored to the
start of the document; this one is now consistent with them.

* fix: share canonical skill frontmatter parsing

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-30 15:00:56 -07:00
Patrick Erichsen f491d5bb34 fix: resolve owner-scoped skill scans (#3322) 2026-07-30 14:48:44 -07:00
Patrick Erichsen f8901222a4 feat: validate plugins against stable OpenClaw (#3321)
* test: preserve generic plugin inspector remediation

* feat: show exact plugin validation reproduction command

* feat: reproduce plugin findings against exact target

* test: preserve static and compatibility findings

* feat: validate plugins against stable OpenClaw

* test: seed reproducible plugin findings

* chore: pin merged plugin inspector

* fix: preserve mixed validation targets

* fix: show every validation target

* fix: label findings with validation target
2026-07-30 14:36:26 -07:00
Yiğit ERDOĞAN 2cd6317c00 fix: regenerate the skill changelog preview after the file set changes (#3296)
The publish form keyed its generated-changelog cache on the number of
selected paths rather than the paths themselves, and never reset that key
when the selection changed. Swapping one bundled file for another left the
key untouched, so the form kept showing a changelog generated from the
previous bundle even though the new path list is what gets sent to the
preview action.

The plugin publish form already keys on the joined paths and resets the
cache when the file set changes; the skill form now does both.
2026-07-30 14:33:44 -07:00
Patrick Erichsen 5d47203382 fix: increase detail category spacing (#3320) 2026-07-30 13:00:24 -07:00