syntaqxThe desktop app runs jobs sandboxed on Windows, macOS and Linux. Its Sandboxed choice, the default, is now g1t-runner's sandbox launcher on every computer, where on Windows and macOS it said a sandbox isn't available on this computer yet and ran nothing. A few seconds after g1t opens, the app runs `g1t-runner sandbox up --json` with its own copy of the runner and its state in the app's data folder, its URL, the computer's name and the `desktop` label (the launcher adds `-linux` and `-windows` and the OS labels itself), and the registration token from the site the first time only: the launcher keeps the registration after that, across updates too, and a workspace's sandbox is remembered (sandbox-registration.json), so choosing Sandboxed again after another way of running jobs needs no new token. Linux jobs run in a Linux VM of the runner's own (WSL 2 on Windows, vfkit on macOS, Sysbox or QEMU with KVM on Linux), and on Windows 11 Pro and up Windows jobs run each in a Windows Sandbox. While it runs, the app asks `sandbox status --json` every eight seconds, on a thread of its own, for the tray, settings and the site. Quitting or Stop runs `sandbox down`; choosing another way of running jobs waits for the job and runs `down --drain`; moving to another workspace removes the sandbox (`down --delete`) and makes it again. A new runner release is put in place while nothing runs, and the sandbox then takes the release's image with `sandbox update`; every six hours, `update` also runs on an idle sandbox, which does nothing when its image is the newest.18ef42eHistory
- ..
- notify
- repo
- settings
- workspace
- auth-github-callback.tsx
- auth-github-username.tsx
- auth-github.ts
- confirm-email.tsx
- desktop-runner.ts
- device.tsx
- download.tsx
- downloads-runner.ts
- explore.tsx
- forgot.tsx
- github-install.ts
- github-setup.tsx
- home.tsx
- hovercard-user.ts
- inbox-json.ts
- inbox-moved.ts
- invitations.tsx
- invite.tsx
- login-two-factor.tsx
- login.tsx
- logout.tsx
- new-github.tsx
- new.tsx
- not-found.tsx
- notifications.tsx
- oauth-authorize.tsx
- people-json.ts
- policies.tsx
- policy.tsx
- pricing.tsx
- register.tsx
- reset.tsx
- robots-txt.ts
- search-json.ts
- search.tsx
- security-txt.ts
- security.tsx
- settings-menu-json.ts
- sitemap-xml.ts
- status-json.ts
- status.tsx
- support.tsx
- user.tsx
- verify.tsx
- well-known-g1t.ts