[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 head 26816c18d6.
- Required merge gates passed before the squash merge.

Prepared head SHA: 26816c18d6
Review: 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:
clawsweeper[bot]
2026-05-20 23:45:47 +00:00
committed by GitHub
parent b58572e283
commit 5c4c6a4207
4 changed files with 8 additions and 9 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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,
);

View File

@@ -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",
}),
);