Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
3297e5e
CI: unbreak main's full run: CmuxTerminal test compile (#12161), over…
austinywang Sep 8, 2026
742e680
Route Antigravity hooks to the launching cmux so agy sessions restore…
austinywang Sep 8, 2026
4d521b1
fix(ios): prevent reentrant keyboard transition handling (#12183)
azooz2003-bit Sep 8, 2026
1a9bc89
Warn for Macs missing a directory version (#12182)
azooz2003-bit Sep 8, 2026
6e12fec
Keep notification search at the bottom after workspace return (#12028)
azooz2003-bit Sep 8, 2026
8094cf1
Fix Codex native titles not reaching terminal tabs (#12062)
austinywang Sep 8, 2026
91718ec
Fix iOS terminal typing latency (#12007)
azooz2003-bit Sep 8, 2026
164afa6
Cloud tunnel: no NetworkExtension work until Cloud Machines is on and…
austinywang Sep 9, 2026
8a8dff1
Let only a control under the pointer veto a pane tab drag; hit-test w…
austinywang Sep 9, 2026
b9eb587
Revert "web: make dashboard navigation instant with a private session…
lawrencecchen Sep 9, 2026
76b81fe
Release Markdown and diff find focus when switching panes (#11512)
austinywang Sep 9, 2026
6231842
web: re-land instant dashboard navigation with SDK-accurate session c…
lawrencecchen Sep 9, 2026
24fe32d
Fix flaky OpenCode completion notifications (#12190)
austinywang Sep 9, 2026
95e7863
Fix cross-user Iroh rate-limit starvation (#12179)
azooz2003-bit Sep 9, 2026
e15f81c
Fix nightly Mac warning comparison (#12186)
azooz2003-bit Sep 9, 2026
7a0ba63
feat: add --command to terminal creation commands (#9614)
austinywang Sep 9, 2026
606889c
Refit native fullscreen windows after display topology changes (#12178)
austinywang Sep 9, 2026
8369461
Preserve Claude resume bindings during agent hibernation (#12176)
austinywang Sep 9, 2026
2b71cfa
ci: bypass stale Gatekeeper assessments for Computer Use helper (#12202)
austinywang Sep 9, 2026
f0ea52b
Fix OpenCode notification regression harness runtime (#12193)
austinywang Sep 9, 2026
b4641d5
Fix shared Cloud VM pricing copy and recovery link placement (#12200)
lawrencecchen Sep 9, 2026
53cb75a
Cloud sidebar: workspace rows follow the layout; SSH is not a web por…
austinywang Sep 9, 2026
991113c
Admit Amp restores on a fresh scan instead of a quiet hook-store dire…
austinywang Sep 9, 2026
a59cc55
fix(web): open CodeRouter CLI login on cmux.com (#12205)
austinywang Sep 9, 2026
f0ee362
Fix app-host failure classification (#12207)
austinywang Sep 9, 2026
c05e1b4
feat: add MDM policy to disable Cloud (#12035)
austinywang Sep 9, 2026
e577aa7
test: cover inactive split appearance defaults
austinywang Sep 9, 2026
454bd7a
fix: preserve inactive terminal colors by default
austinywang Sep 9, 2026
4df1657
web: delete registration challenges on consumption (#12209)
lawrencecchen Sep 9, 2026
9b98fb0
Fix relay outage retry storms and quota isolation
azooz2003-bit Sep 9, 2026
72aa449
web: keep iroh retention deletes off the discovery request path (#12213)
lawrencecchen Sep 9, 2026
dc43d0f
web: tag every Cloud DB statement with SQLCommenter attribution (#12215)
lawrencecchen Sep 9, 2026
fd6d5ef
irx: honor the broker Retry-After floor on activation retries (#12217)
lawrencecchen Sep 9, 2026
a585378
web: cut device-registry poll writes by raising the presence touch in…
lawrencecchen Sep 9, 2026
93952f2
iroh: coalesce direct-address churn into spaced registrations (#12214)
lawrencecchen Sep 9, 2026
2ea09fa
web: space same-identity registrations and keep the revision on no-op…
lawrencecchen Sep 9, 2026
65ac4c2
Cloud tree: flatten terminal tabs and surface Displays (#12227)
austinywang Sep 10, 2026
1281d43
release: unblock stable releases after #11342 (reusable-workflow perm…
austinywang Sep 10, 2026
1614156
Fix Pi resume bindings so relaunch restores keep working (#12115)
austinywang Sep 10, 2026
7517376
Fix DOMRect crashes in browser.eval on macOS 15 (#12237)
austinywang Sep 10, 2026
154a964
web: set the health probe statement_timeout inside a transaction (#12…
lawrencecchen Sep 10, 2026
8980939
web: tag broker and relay route queries with their route template (#1…
lawrencecchen Sep 10, 2026
740434d
web: backfill Stripe mirror tables from Stripe (#12195)
lawrencecchen Sep 10, 2026
6fc7ce8
web: look up dotted Gmail owners through the identity snapshot instea…
lawrencecchen Sep 10, 2026
656528c
web: send the mailbox verification link when Stack refuses a purchase…
lawrencecchen Sep 10, 2026
5c9da35
web: treat a thrown Stack refusal of the sign-in link as the verifica…
lawrencecchen Sep 10, 2026
ab1575f
Cloud: desktop with a VNC display is the default machine; promote wsb…
austinywang Sep 10, 2026
e1c8b1b
fix: isolate Ghostty numeric locale from CoreUI symbol crashes (#12235)
austinywang Sep 10, 2026
132aecb
admin: audit log and invited admin roster (#12253)
lawrencecchen Sep 10, 2026
c00a39a
web: page on Stripe webhook errors, unsent purchase emails, and cron …
lawrencecchen Sep 10, 2026
6810da8
cloud: cmux Cloud terminals run as cmux, not root (#12101)
lawrencecchen Sep 10, 2026
8ba29ea
Cloud: one machine, one devbox snapshot ladder with displays; restore…
austinywang Sep 10, 2026
dfccbd1
Fix cloud VM verification fixtures and agent login context (#12258)
austinywang Sep 10, 2026
e61ac8b
Clear Dock notifications on keyboard focus (#9427)
austinywang Sep 10, 2026
2b75bd1
Fix bash PROMPT_COMMAND export leak (#11257) (#11290)
austinywang Sep 10, 2026
8229d75
ci: isolate Computer Use helper notarization tickets (#12262)
austinywang Sep 10, 2026
40c1b73
Improve Computer Use onboarding and permission companion lifecycle (#…
austinywang Sep 10, 2026
1216d7c
Fix native pane layout sync with bound cloud workspaces (#12264)
austinywang Sep 10, 2026
02d7597
ci: persist nightly Xcode compilation caches (#12039)
austinywang Sep 10, 2026
dc5df2b
Fix misplaced XCStrings localization entries (#12171)
austinywang Sep 10, 2026
1769fd2
Fix Cloud discovery stalls and private address fallback (#12266)
austinywang Sep 10, 2026
803dc26
Fix Codex hook injection paths with spaces (#11968)
austinywang Sep 10, 2026
c2a4da1
cmux-cloud-vm skill: the complete cmux Cloud CLI set, per-verb --help…
austinywang Sep 10, 2026
dacc589
Fix Cloud VM creation, snapshot refresh, and desktop restore (#12268)
austinywang Sep 10, 2026
6c9fe2a
Fix CodeRouter mappings for Base and fork provisioning (#12273)
austinywang Sep 10, 2026
61d5bd9
Fix sudo broker hangs when pam_tid is unavailable
austinywang Sep 10, 2026
db93233
Scope mobile Mac minimums by app build kind
azooz2003-bit Sep 10, 2026
bab012c
VM primitives: provider capabilities and in-VM CLI (#11609)
austinywang Sep 10, 2026
f92a672
Bound Iroh registration challenges to one row per slot (#12228)
azooz2003-bit Sep 10, 2026
72bcbdc
Updater: finish delayed Sparkle callbacks on cancel (#12283)
austinywang Sep 10, 2026
1e669a7
Fix Nightly Freestyle machine creation (#12277)
austinywang Sep 10, 2026
0862704
Fix signed Content-Type for R2 appcast uploads (#12281)
austinywang Sep 10, 2026
7764911
test: cover hosted CodeRouter callback routing
austinywang Sep 10, 2026
902f313
fix: host CodeRouter authorization confirmation on cmux.com
austinywang Sep 10, 2026
0b3677e
Merge pull request #12287 from manaflow-ai/fix/coderouter-hosted-conf…
austinywang Sep 11, 2026
6bed093
test: require cloud workspace rows to match current tab membership
austinywang Sep 11, 2026
a9031a8
test: cover explicit VNC membership and terminal-only default opens
austinywang Sep 11, 2026
26592b5
Align mobile Mac floors with protocol history (#12275)
azooz2003-bit Sep 11, 2026
24c8330
test: keep local VNC membership separate from daemon tabs
austinywang Sep 11, 2026
1b7a795
fix: derive Cloud workspace children from actual display placements
austinywang Sep 11, 2026
8596545
web: accept and ignore home-volume flags on providers without home vo…
lawrencecchen Sep 11, 2026
98fcecd
test: cover production display selection and legacy screen closure
austinywang Sep 11, 2026
caee136
fix: keep portal terminal contents clipped during resize
lawrencecchen Sep 4, 2026
84283f4
fix: size terminal frames from the tiled clip viewport
austinywang Sep 8, 2026
b6c1534
fix: keep local VNC views separate through binding and reconciliation
austinywang Sep 11, 2026
ae9b7c9
test: verify workspace open groups match live VNC membership
austinywang Sep 11, 2026
27bbb39
test: require the Codex Catppuccin default theme
austinywang Sep 11, 2026
fe2292b
fix: align managed terminal defaults with Codex theme
austinywang Sep 11, 2026
1583e5f
fix: share live desktop membership with workspace open groups
austinywang Sep 11, 2026
89f40df
Merge pull request #12292 from manaflow-ai/issue-12278-cloud-sidebar-…
austinywang Sep 11, 2026
18e6282
Merge pull request #12295 from manaflow-ai/fix/codex-default-theme-co…
austinywang Sep 11, 2026
cde2e36
web: drop the status read after Freestyle create and warm the databas…
lawrencecchen Sep 11, 2026
897bb7a
Cloud panes: keep the local Ghostty theme on attach (#12259)
lawrencecchen Sep 11, 2026
3774a64
Complete macOS localization parity and validate plural catalogs (#12169)
austinywang Sep 11, 2026
4916e7c
test: use authoritative scrollbar response in wheel regression
austinywang Sep 11, 2026
c042f83
test: cover Catppuccin colors without theme resources
austinywang Sep 11, 2026
a5a3c0f
fix: match fallback colors to managed Catppuccin themes
austinywang Sep 11, 2026
24125c7
test: update managed appearance snapshots for Catppuccin
austinywang Sep 11, 2026
021537a
fix: keep main windows out of fullscreen tiling (#12298)
austinywang Sep 11, 2026
a34d44c
devbox: promote sh-cd099a44912648399e0420df9b4e7f4f (daemon 897bb7a9c…
lawrencecchen Sep 11, 2026
39bbf00
feat(web): add Founding Chromium Engineer role to jobs page (#12248)
lawrencecchen Sep 11, 2026
72ce5e9
Merge pull request #12210 from manaflow-ai/issue-12204-inactive-pane-…
austinywang Sep 11, 2026
47a2860
Refine iOS onboarding connection choices (#11963)
azooz2003-bit Sep 11, 2026
18d27a0
web: cache unchanged docs search indexes (#11942)
lawrencecchen Sep 11, 2026
36fd1d4
web: skip Vercel builds for test-only changes (#11948)
lawrencecchen Sep 11, 2026
57d60d5
Guest CLI: render coderouter usage for people, keep --json for agents…
lawrencecchen Sep 11, 2026
652f005
Fix publication authorization latency and development WebSockets (#12…
lawrencecchen Sep 11, 2026
6f65f1d
feat: add optional Cloud VPN setup pane
lawrencecchen Sep 11, 2026
d6584c0
cloud: enable beta feature by default in dev builds (#12318)
lawrencecchen Sep 11, 2026
a9d7d4e
Show Mac version gate warnings in Computers rows
azooz2003-bit Sep 11, 2026
9d759e6
Fix iOS terminal grid resizing during keyboard content movement
azooz2003-bit Sep 11, 2026
f8d17c0
Warn for Macs without a verified version
azooz2003-bit Sep 11, 2026
34b4d26
test: cover Codex lifecycle tab title markers
austinywang Aug 19, 2026
f4a3857
fix: compose Codex lifecycle markers in tab titles
austinywang Aug 19, 2026
32d0f56
fix: refresh Codex markers after tab transfers
austinywang Aug 19, 2026
72e5320
fix: keep browser loading state outside Codex title decoration
austinywang Aug 19, 2026
b43d5b9
fix: preserve marker-prefixed Codex titles
austinywang Aug 19, 2026
cba06f5
fix: keep Codex activity visible with custom titles
austinywang Aug 19, 2026
233e6da
refactor: isolate Codex title presentation policy
austinywang Aug 19, 2026
9359cdf
docs: document Codex title composer seam
austinywang Aug 19, 2026
00db0ab
fix: order Codex tab metadata updates
austinywang Aug 24, 2026
8eda120
fix: preserve title ownership transitions
austinywang Aug 24, 2026
da26c28
fix: treat Codex tab markers as status glyphs
austinywang Sep 1, 2026
660cbbd
fix: compile mirror loading reconciliation
austinywang Sep 1, 2026
527efeb
fix: reconcile remote Codex title events
austinywang Sep 1, 2026
b3c264d
test: preserve activity for user-owned Codex titles
austinywang Sep 1, 2026
3f1ee58
test: cover remote Codex title ownership acknowledgments
austinywang Sep 8, 2026
15b4d21
fix: preserve remote Codex custom-title protection
austinywang Sep 8, 2026
e02caa3
test: preserve initial workspace tab titles before OSC output
austinywang Sep 8, 2026
110f3e3
fix: seed initial terminal title from workspace name
austinywang Sep 8, 2026
018bb33
test: cover Codex Dock transfers and remote window renames
austinywang Sep 8, 2026
757ef58
fix: reconcile remote tmux window title presentation
austinywang Sep 8, 2026
6fc1f07
test: cover Codex tab state in Dock
Nauxie Sep 2, 2026
ae63258
fix: show Codex activity in Dock tabs
Nauxie Sep 2, 2026
3c4afd2
test: cover Dock title persistence
Nauxie Sep 2, 2026
f18d444
fix: preserve stable Dock tab titles
Nauxie Sep 2, 2026
0c8d6a7
test: preserve restored Dock title ownership
Nauxie Sep 3, 2026
046ea45
fix: retain Dock title ownership on restore
Nauxie Sep 3, 2026
891f273
test: cover Dock auto-title transitions
Nauxie Sep 3, 2026
938e303
fix: keep auto titles stable across states
Nauxie Sep 3, 2026
10213e2
test: cover Dock title provenance regressions
Nauxie Sep 7, 2026
778efc6
fix: preserve Dock title ownership after rebase
Nauxie Sep 7, 2026
d24a9eb
test: cover Dock custom-title restore boundaries
Nauxie Sep 8, 2026
4130286
fix: preserve Dock custom titles across restore boundaries
Nauxie Sep 8, 2026
1c9bc22
test: cover interrupted Codex child settlement
Nauxie Sep 11, 2026
8158c03
fix: settle interrupted Codex child activity
Nauxie Sep 11, 2026
917918a
test: cover delayed Codex child settlement
Nauxie Sep 11, 2026
afcffc1
fix: delay Codex settlement retries
Nauxie Sep 11, 2026
5a981ac
fix: retry delayed Codex child settlement
Nauxie Sep 11, 2026
e1108e9
test: preserve Codex follow-up child activity
Nauxie Sep 11, 2026
3e019d8
fix: preserve Codex follow-up child activity
Nauxie Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/swift-warning-budget.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
1 CLI/cmux.swift literal value is already handled by previous pattern; consider removing it
2 CLI/cmux.swift variable 'groups' was never mutated; consider changing to 'let' constant
1 Sources/App/TerminalDirectoryOpenSupport.swift 'fullPath(forApplication:)' was deprecated in macOS 11.0: Use -[NSWorkspace URLForApplicationWithBundleIdentifier:] instead.
2 Sources/AppDelegate+PaneMemoryGuardrail.swift trailing closure in this context is confusable with the body of the statement; pass as a parenthesized argument to silence this warning
1 Sources/AppDelegate.swift 'accessibilityAttributeValue' was deprecated in macOS 10.10: Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)
5 Sources/AppDelegate.swift 'activateIgnoringOtherApps' was deprecated in macOS 14.0: ignoringOtherApps is deprecated in macOS 14 and will have no effect.
1 Sources/AppDelegate.swift add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
Expand Down Expand Up @@ -73,8 +74,12 @@
2 Sources/SessionIndexStore.swift main actor-isolated static property 'searchMaxFiles' cannot be accessed from outside of the actor
1 Sources/SessionIndexStore.swift main actor-isolated static property 'tailByteCap' cannot be accessed from outside of the actor
1 Sources/SessionIndexStore.swift reference to captured var 'self' in concurrently-executing code
1 Sources/SessionIndexTableController.swift call to main actor-isolated instance method 'reconcilePresentation(in:)' in a synchronous nonisolated context
1 Sources/SessionIndexTableController.swift main actor-isolated property 'isApplyingRows' can not be referenced from a Sendable closure
2 Sources/SessionIndexView.swift 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
1 Sources/Settings/ConfigSettingsView.swift 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
1 Sources/Surfaces/CmuxTuiSnapshotParser.swift default will never be executed
1 Sources/Surfaces/SurfaceCatalogModel.swift immutable value 'rowID' was never used; consider replacing with '_' or removing it
17 Sources/TabManager.swift result of call to 'closePanel(_:force:)' is unused
1 Sources/TerminalController.swift 'CGWindowListCreateImage' was deprecated in macOS 14.0: Please use ScreenCaptureKit instead.
2 Sources/TerminalController.swift 'activateIgnoringOtherApps' was deprecated in macOS 14.0: ignoringOtherApps is deprecated in macOS 14 and will have no effect.
Expand Down
2 changes: 2 additions & 0 deletions .github/test-determinism-allowlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ Packages/iOS/CmuxMobileShellUI/Tests/CmuxMobileShellUITests/OnboardingMacDiscove
cmuxTests/WorkspaceForkConversationContextMenuTests.swift assert-on-duration grandfathered
cmuxTests/WorkspaceForkConversationContextMenuTests.swift sleep-then-assert grandfathered
tests/test_ci_sparkle_build_monotonic.sh live-network-host release pretag guard intentionally probes the published appcast and soft-passes offline
Packages/Shared/CMUXMobileCore/Tests/CMUXMobileCoreTests/CmxRetryAfterPolicyTests.swift sleep-then-assert virtual-clock injection makes these large delays non-blocking and deterministic
Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/MobileTerminalLaneCoordinatorTests.swift sleep-then-assert upstream coordinator readiness timing assertion
2 changes: 1 addition & 1 deletion .github/workflows/agent-notification-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ jobs:
# change: its seeded Stop predates the Codex turn ledger's foreground
# admission, the mock never answers agent.resolve_delivery_target, and its
# fixture timestamp has aged past the seven-day session prune.
unit_test_suites: AgentNotificationRegressionTests,AgentJournalLifecycleCenterTests,FeedWaiterRegistryTests,ClaudeBackgroundWorkNotifyTests
unit_test_suites: AgentNotificationRegressionTests,AgentJournalLifecycleCenterTests,FeedWaiterRegistryTests,ClaudeBackgroundWorkNotifyTests,OpenCodeHookRegressionTests
317 changes: 275 additions & 42 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions .github/workflows/cloud-vm-image-contract.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ on:
- web/scripts/derive-devbox-sizes.ts
- web/scripts/promote-devbox-image.ts
- web/scripts/validate-devbox-ladder.ts
- web/scripts/build-devbox-freestyle.ts
- web/scripts/verify-devbox-image.ts
- web/scripts/devbox-agent-launch.*
- web/tests/devbox-agent-launch-test.py
- web/scripts/check-devbox-agent-pins.ts
- web/services/vms/images/manifest.json
- web/services/vms/images/sizes.ts
- web/services/vms/images/devbox/**
Expand All @@ -24,6 +29,11 @@ on:
- web/scripts/derive-devbox-sizes.ts
- web/scripts/promote-devbox-image.ts
- web/scripts/validate-devbox-ladder.ts
- web/scripts/build-devbox-freestyle.ts
- web/scripts/verify-devbox-image.ts
- web/scripts/devbox-agent-launch.*
- web/tests/devbox-agent-launch-test.py
- web/scripts/check-devbox-agent-pins.ts
- web/services/vms/images/manifest.json
- web/services/vms/images/sizes.ts
- web/services/vms/images/devbox/**
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/cloud-vm-migrate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ on:
options:
- staging
- production
cleanup_iroh_challenges:
description: Prune expired, consumed, and duplicate Iroh registration challenges after migration
required: false
default: false
type: boolean

permissions:
contents: read
Expand Down Expand Up @@ -44,6 +49,12 @@ jobs:
- name: Cloud VM migration preflight
run: bun run cloud-vm:preflight -- --schema-only .

- name: Rehearse Iroh cleanup on isolated Postgres
if: ${{ inputs.cleanup_iroh_challenges }}
# db:test discovers every CMUX_DB_TEST suite, including
# iroh-challenge-cleanup-db.test.ts (audit, apply, and rerun).
run: bun run cloud-vm:preflight -- .

migrate-staging:
if: ${{ inputs.target == 'staging' || inputs.target == 'production' }}
runs-on: ${{ vars.LINUX_RUNNER || 'blacksmith-4vcpu-ubuntu-2404' }}
Expand Down Expand Up @@ -101,6 +112,10 @@ jobs:
- name: Apply staging migration
run: bun run cloud-vm:migrate -- staging

- name: Clean up staging Iroh challenges
if: ${{ inputs.cleanup_iroh_challenges }}
run: bun run cloud-vm:cleanup-iroh -- staging --apply

migrate-production:
if: ${{ inputs.target == 'production' }}
runs-on: ${{ vars.LINUX_RUNNER || 'blacksmith-4vcpu-ubuntu-2404' }}
Expand Down Expand Up @@ -157,3 +172,7 @@ jobs:

- name: Apply production migration
run: bun run cloud-vm:migrate -- production

- name: Clean up production Iroh challenges
if: ${{ inputs.cleanup_iroh_challenges }}
run: bun run cloud-vm:cleanup-iroh -- production --apply
11 changes: 10 additions & 1 deletion .github/workflows/ios-screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,18 @@ on:
required: false
default: false
type: boolean
# Capture-only needs nothing beyond reading the repository: checkout runs with
# persist-credentials disabled, and artifact uploads use the runner's artifact
# token rather than GITHUB_TOKEN. Nothing here dispatches, cancels or deletes
# runs, so `actions: write` was never exercised, and declaring it broke every
# caller that grants less: GitHub validates a reusable workflow's permissions
# against the calling job at parse time, and release.yml failed at startup
# with "is requesting 'actions: write', but is only allowed 'actions: none'"
# (https://github.com/manaflow-ai/cmux/issues/12149). Keep this block at the
# minimum the steps use; tests/test_ci_reusable_workflow_permissions.py checks
# every local caller against it.
permissions:
contents: read
actions: write

jobs:
screenshots:
Expand Down
Loading