Loading files
7be0145b4This file is pinned to the selected release. Download the original to open it in your design tool.
Files from this revision, including CAD and LFS contents. Git history is not included.
Or in GitHub Desktop, choose File → Clone repository → URL and paste this address.
Public repositories can be cloned without signing in. For pushing, use your ThingAtlas username and a Git access token as the password.
git lfs install git clone https://thingatlas.com/git/-unclaimed/stack-chan-374381865.git
Includes Git history, branches, and Git LFS files. Clones the repository’s default branch, regardless of the version shown here.
7be0145b4This file is pinned to the selected release. Download the original to open it in your design tool.
import Preference from 'preference'
// A host boot request, separate from user settings and never read from mod/config.
const domain = 'stackchan.boot'
const key = 'maintenance'
let active = false
export function isModMaintenanceActive(): boolean {
return active
}
export function restartInModMaintenance(): void {
const system = (globalThis as typeof globalThis & { System?: { restart(): void } }).System
if (!system?.restart) throw new Error('Restart for MOD maintenance is unavailable')
requestModMaintenance()
system.restart()
}
export function requestModMaintenance(): void {
Preference.set(domain, key, 1)
if (Preference.get(domain, key) !== 1) throw new Error('Could not save MOD maintenance request')
}
export function takeModMaintenanceRequest(): boolean {
if (Preference.get(domain, key) !== 1) return false
Preference.delete(domain, key)
if (Preference.get(domain, key) !== undefined) throw new Error('Could not clear MOD maintenance request')
active = true
return true
}