mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
[codex] Fix macOS app copyright year (#84729)
Summary: - The PR updates the macOS About settings copyright text to 2026, adds a changelog entry, and adjusts changed-check planning so non-macOS hosts without SwiftLint emit an explicit app-lint skip with matching test coverage. - Reproducibility: yes. from source inspection: current main still renders the 2025 copyright literal in the m ... launch the app locally, but the source path and source PR proof make the observable issue high-confidence. Automerge notes: - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8438… Validation: - ClawSweeper review passed for head26816c18d6. - Required merge gates passed before the squash merge. Prepared head SHA:26816c18d6Review: https://github.com/openclaw/openclaw/pull/84729#issuecomment-4503529931 Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
This commit is contained in:
@@ -18,6 +18,7 @@ Docs: https://docs.openclaw.ai
|
||||
|
||||
- WhatsApp: update Baileys to `7.0.0-rc12`.
|
||||
- Approvals: route manual `/approve` decisions through the trusted approval runtime so active exec and plugin approvals no longer look unknown or expired.
|
||||
- Mac app: update the About settings copyright year to 2026. (#84385) Thanks @pejmanjohn.
|
||||
- Dependencies: update `@openclaw/fs-safe` to `0.2.7` so OpenClaw's default Python-helper-off policy keeps best-effort Node write fallbacks for private stores, secret writes, run logs, and media attachments on Linux/macOS.
|
||||
- Infra/secrets: restore the fail-closed contract for `tryReadSecretFileSync` so credential loaders that pass `rejectSymlink: true` (Telegram, LINE, Zalo, IRC, Nextcloud Talk tokens) refuse symlinked credential files instead of silently accepting them, and the infra-state CI shard's secret-file symlink test passes again. Thanks @romneyda.
|
||||
- Browser: honor the configured image sanitization limit for screenshots and labeled snapshots so browser-captured images follow the same resize policy as other image results. (#84595)
|
||||
|
||||
@@ -77,7 +77,7 @@ struct AboutSettings: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("© 2025 Peter Steinberger — MIT License.")
|
||||
Text("© 2026 Peter Steinberger — MIT License.")
|
||||
.font(.footnote)
|
||||
.foregroundStyle(.secondary)
|
||||
.padding(.top, 4)
|
||||
|
||||
@@ -67,9 +67,7 @@ export function shouldSkipAppLintForMissingSwiftlint(options = {}) {
|
||||
const env = options.env ?? process.env;
|
||||
const platform = options.platform ?? process.platform;
|
||||
const swiftlintAvailable = options.swiftlintAvailable ?? executableExistsOnPath("swiftlint", env);
|
||||
return (
|
||||
isTruthyEnvFlag(env.OPENCLAW_TESTBOX_REMOTE_RUN) && platform !== "darwin" && !swiftlintAvailable
|
||||
);
|
||||
return platform !== "darwin" && !swiftlintAvailable;
|
||||
}
|
||||
|
||||
export function shouldDelegateChangedCheckToCrabbox(argv = [], env = process.env) {
|
||||
@@ -231,11 +229,11 @@ export function createChangedCheckPlan(result, options = {}) {
|
||||
}
|
||||
if (lanes.apps && shouldSkipAppLintForMissingSwiftlint({ ...options, env: baseEnv })) {
|
||||
addCommand(
|
||||
"lint apps (swiftlint unavailable in Testbox)",
|
||||
"lint apps (swiftlint unavailable on this host)",
|
||||
"node",
|
||||
[
|
||||
"-e",
|
||||
"console.error('[check:changed] Swift app lint skipped: swiftlint is unavailable in this Linux Testbox; macOS CI owns SwiftLint coverage.')",
|
||||
"console.error('[check:changed] Swift app lint skipped: swiftlint is unavailable on this non-macOS host; macOS CI owns SwiftLint coverage.')",
|
||||
],
|
||||
baseEnv,
|
||||
);
|
||||
|
||||
@@ -865,12 +865,12 @@ describe("scripts/changed-lanes", () => {
|
||||
expect(plan.commands.map((command) => command.args[0])).not.toContain("tsgo:all");
|
||||
});
|
||||
|
||||
it("keeps app lint explicit when Linux Testbox lacks SwiftLint", () => {
|
||||
it("keeps app lint explicit when non-macOS hosts lack SwiftLint", () => {
|
||||
const result = detectChangedLanes([
|
||||
"apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift",
|
||||
]);
|
||||
const plan = createChangedCheckPlan(result, {
|
||||
env: { OPENCLAW_TESTBOX_REMOTE_RUN: "1", PATH: "/usr/bin" },
|
||||
env: { PATH: "/usr/bin" },
|
||||
platform: "linux",
|
||||
swiftlintAvailable: false,
|
||||
});
|
||||
@@ -881,7 +881,7 @@ describe("scripts/changed-lanes", () => {
|
||||
expect(plan.commands.map((command) => command.args[0])).not.toContain("lint:apps");
|
||||
expect(plan.commands).toContainEqual(
|
||||
expect.objectContaining({
|
||||
name: "lint apps (swiftlint unavailable in Testbox)",
|
||||
name: "lint apps (swiftlint unavailable on this host)",
|
||||
bin: "node",
|
||||
}),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user