Skip to content

Commit d147036

Browse files
committed
fix: stabilize mac app packaging
1 parent 94ac563 commit d147036

5 files changed

Lines changed: 22 additions & 18 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ Skills own workflows; root owns hard policy and routing.
172172
- "restart iOS/Android apps" = rebuild/reinstall/relaunch, not kill/launch.
173173
- SwiftUI: Observation (`@Observable`, `@Bindable`) over new `ObservableObject`.
174174
- Mac gateway: dev watch = `pnpm gateway:watch`; managed installs = `openclaw gateway restart/status --deep`; logs = `./scripts/clawlog.sh`. No launchd/ad-hoc tmux.
175+
- Mac app permission testing: stable app path + real signing identity required. No `--no-sign`, `SIGN_IDENTITY=-`, or raw debug binary; TCC prompts/listing won't stick.
175176
- Version bump surfaces live in `$openclaw-release-maintainer`.
176177
- Parallels: `$openclaw-parallels-smoke`; Discord roundtrip: `$parallels-discord-roundtrip`.
177178
- Crabbox/WebVNC human demos: keep remote desktop visible/windowed; no fullscreen remote browser unless video/capture-style output.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Docs: https://docs.openclaw.ai
1313

1414
### Fixes
1515

16+
- Mac app: keep local packaging signed with a stable app identity for permission testing and fix Control UI production builds under current Vite/Highlight.js exports.
1617
- fix(mattermost): fail closed on missing channel type [AI]. (#84091) Thanks @pgondhi987.
1718
- Recheck rebuilt system.run argv [AI]. (#84090) Thanks @pgondhi987.
1819
- CLI/cron: bound `openclaw cron show` job lookup pagination so non-advancing or unbounded `cron.list` responses fail instead of hanging the command. Fixes #83856. (#83989)

ui/src/types/highlight-js-subpaths.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
declare module "highlight.js/lib/core.js" {
1+
declare module "highlight.js/lib/core" {
22
import hljs from "highlight.js/lib/core";
33

44
export default hljs;
55
}
66

7-
declare module "highlight.js/lib/languages/*.js" {
7+
declare module "highlight.js/lib/languages/*" {
88
import type { LanguageFn } from "highlight.js";
99

1010
const language: LanguageFn;

ui/src/ui/markdown.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import DOMPurify from "dompurify";
2-
import hljs from "highlight.js/lib/core.js";
3-
import bash from "highlight.js/lib/languages/bash.js";
4-
import cpp from "highlight.js/lib/languages/cpp.js";
5-
import css from "highlight.js/lib/languages/css.js";
6-
import diff from "highlight.js/lib/languages/diff.js";
7-
import go from "highlight.js/lib/languages/go.js";
8-
import java from "highlight.js/lib/languages/java.js";
9-
import javascript from "highlight.js/lib/languages/javascript.js";
10-
import json from "highlight.js/lib/languages/json.js";
11-
import markdown from "highlight.js/lib/languages/markdown.js";
12-
import python from "highlight.js/lib/languages/python.js";
13-
import rust from "highlight.js/lib/languages/rust.js";
14-
import typescript from "highlight.js/lib/languages/typescript.js";
15-
import xml from "highlight.js/lib/languages/xml.js";
16-
import yaml from "highlight.js/lib/languages/yaml.js";
2+
import hljs from "highlight.js/lib/core";
3+
import bash from "highlight.js/lib/languages/bash";
4+
import cpp from "highlight.js/lib/languages/cpp";
5+
import css from "highlight.js/lib/languages/css";
6+
import diff from "highlight.js/lib/languages/diff";
7+
import go from "highlight.js/lib/languages/go";
8+
import java from "highlight.js/lib/languages/java";
9+
import javascript from "highlight.js/lib/languages/javascript";
10+
import json from "highlight.js/lib/languages/json";
11+
import markdown from "highlight.js/lib/languages/markdown";
12+
import python from "highlight.js/lib/languages/python";
13+
import rust from "highlight.js/lib/languages/rust";
14+
import typescript from "highlight.js/lib/languages/typescript";
15+
import xml from "highlight.js/lib/languages/xml";
16+
import yaml from "highlight.js/lib/languages/yaml";
1717
import MarkdownIt from "markdown-it";
1818
import markdownItTaskLists from "markdown-it-task-lists";
1919
import { i18n, t } from "../i18n/index.ts";

ui/vite.config.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,14 @@ function controlUiServiceWorkerBuildIdPlugin(buildId: string): Plugin {
6868
apply: "build",
6969
closeBundle() {
7070
const swPath = path.join(outDir, "sw.js");
71-
const source = fs.readFileSync(swPath, "utf8");
71+
const publicSwPath = path.join(here, "public/sw.js");
72+
const source = fs.readFileSync(fs.existsSync(swPath) ? swPath : publicSwPath, "utf8");
7273
const placeholder = '"__OPENCLAW_CONTROL_UI_BUILD_ID__"';
7374
const updated = source.replace(placeholder, JSON.stringify(buildId));
7475
if (updated === source) {
7576
throw new Error(`Control UI service worker build id placeholder missing in ${swPath}`);
7677
}
78+
fs.mkdirSync(outDir, { recursive: true });
7779
fs.writeFileSync(swPath, updated);
7880
},
7981
};

0 commit comments

Comments
 (0)