mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 21:10:43 +00:00
Add tweakcn custom theme import
Adds a browser-local custom tweakcn theme slot while preserving the existing built-in themes.
Includes:
- tweakcn share-link import, validation, persistence, and custom theme rendering
- Custom option in Appearance and Quick Settings
- responsive/config toolbar and chat tool-card polish from follow-up review
- security hardening for bounded fetches, CSS token validation, redirect handling, and fail-closed unreadable payloads
Verification:
- OPENCLAW_LOCAL_CHECK=0 pnpm check:changed
- GitHub CI clean on 6ff13a1b33
This commit is contained in:
@@ -747,7 +747,7 @@ function classifyTarget(arg, cwd) {
|
||||
if (relative.startsWith("src/plugins/")) {
|
||||
return "plugin";
|
||||
}
|
||||
if (relative.startsWith("ui/src/ui/")) {
|
||||
if (relative.startsWith("ui/src/")) {
|
||||
return "ui";
|
||||
}
|
||||
if (relative.startsWith("src/utils/")) {
|
||||
@@ -776,6 +776,17 @@ function resolveLightLaneIncludePatterns(kind, targetArg, cwd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
function shouldUseWholeConfigTarget(kind, targetArg, cwd) {
|
||||
if (isVitestConfigTargetForKind(kind, targetArg, cwd)) {
|
||||
return true;
|
||||
}
|
||||
if (kind !== "ui") {
|
||||
return false;
|
||||
}
|
||||
const relative = toRepoRelativeTarget(targetArg, cwd);
|
||||
return relative.startsWith("ui/src/") && !relative.startsWith("ui/src/ui/");
|
||||
}
|
||||
|
||||
function createVitestArgs(params) {
|
||||
return [
|
||||
"exec",
|
||||
@@ -956,7 +967,7 @@ export function buildVitestRunPlans(
|
||||
(kind === "default" &&
|
||||
grouped.every((targetArg) => isFileLikeTarget(toRepoRelativeTarget(targetArg, cwd))));
|
||||
const useWholeConfigTarget = grouped.some((targetArg) =>
|
||||
isVitestConfigTargetForKind(kind, targetArg, cwd),
|
||||
shouldUseWholeConfigTarget(kind, targetArg, cwd),
|
||||
);
|
||||
const includePatterns = useCliTargetArgs
|
||||
? null
|
||||
|
||||
Reference in New Issue
Block a user