Welcome to PatchKit Launcher SDK API Documentation.
Here you can find information on how to work with various packages that expose API for creating launchers based on PatchKit.
The API is split into multiple packages, each serving a different part of the stack.
The API is designed with procedural/functional programming concepts in mind. It is based on simple principles of functions and structures.
Function parameters are always named. This means that if a function accepts arguments, you must provide them within an object.
startAppBranch({
appId: `xyz`,
appBranchId: `123`,
});
All functions exported from the runtime are asynchronous due to the nature of Electron's IPC communication. There are a few exceptions for this rule with functions like getAppBranchUid
, which are synchronous due to not being IPC calls.
get*
/ fetch*
/ retrieve*
Function Differencesget*
are designed to be pure. This means that for the same input, they always provide the exact same output.fetch*
are guaranteed to acquire information at the source, providing the always up-to-date state.retrieve*
are allowed to utilize caching mechanisms, which means that the information they provide might be outdated.*Info
/ *State
Structure Differences*Info
are designed to represent information that is either constant or changes very rarely. Due to that, it can be freely cached between sessions.*State
are designed to represent information that changes often or is based on local system state and should not be cached between sessions under any circumstances.main
.preconfiguredApps[appId].preinstalledBranches
field in preset files)bundledThemeDirAssetId
and bundledThemeServerMaskOrigin
fields in preset files)isUpdatingRuntimeEnabled
field in preset files)loadingThemeErrorDialog.supportButton
field in preset files)status
field in AppBranchOngoingUpdateTaskState from patchkit-launcher-foundationstatus
field in AppBranchOngoingRepairTaskState from patchkit-launcher-foundationstatus
field in AppBranchOngoingUpdateTaskController from patchkit-launcher-runtime-api-react-theme-extrasstatus
field in AppBranchOngoingRepairTaskController from patchkit-launcher-runtime-api-react-theme-extrasappBranchOverrideTargetVersionId
argument in startAppBranchUpdateTask, startAppBranchRepairTask and fetchAppBranchUpdateTaskDownloadingTotalBytesEstimatedCount from patchkit-launcher-runtime-api-theme-clientoverrideMetaDataFileName
field in AppBranchStateBase from patchkit-launcher-foundationappBranchOverrideMetaDataFileName
argument in registerAppBranch from patchkit-launcher-runtime-api-theme-clientstartedDate
field in AppBranchTaskStateBase from patchkit-launcher-foundationstartedDate
field in AppBranchOngoingTaskControllerBase from patchkit-launcher-runtime-api-react-theme-extrasDate
fields to be not properly cached when using patchkit-launcher-runtime-api-react-theme-client to not work properlyAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.