Compare commits

...
3 changed files with 43 additions and 12 deletions
+10
View File
@@ -10,6 +10,16 @@ export type VersionEntry = {
}
const VERSIONS: VersionEntry[] = [
{
date: `2026-06-26T16:33:23+00:00`,
product: 'app',
version: '0.15.1',
body: `## Fixed
- Fixed issue where previous logs would not load in the Logs tab of an instance.
- Fixed issue where "Update all" would sometimes update linked modpack content.
- Fixed issue where disabled additional content would sometimes not appear as disabled in the UI.
- Fixed issue where instances with negative playtime fail to load. (How?)`,
},
{
date: `2026-06-25T21:22:14+00:00`,
product: 'app',
@@ -390,6 +390,22 @@ function toApiLoader(loader: string): Archon.Content.v1.Modloader {
return loader as Archon.Content.v1.Modloader
}
async function uploadLocalModpackWithSoftOverride() {
const picked = await filePicker.pickModpackFile()
if (!picked?.file) return false
const handle = client.kyros.content_v1.uploadModpackFile(
worldId.value!,
picked.file,
{ known: {} },
{ softOverride: true },
)
await uploadProgressModal.value!.track(handle)
emit('reinstall')
await invalidateServerState()
return true
}
provideInstallationSettings({
closeSettings: serverSettings.closeModal,
onGameVersionHover: handleGameVersionHover,
@@ -612,18 +628,8 @@ provideInstallationSettings({
if (!modpack.value) return
if (modpack.value.spec.platform === 'local_file') {
debug('reinstallModpack: local file, opening file picker')
const picked = await filePicker.pickModpackFile()
if (!picked?.file) return
try {
const handle = client.kyros.content_v1.uploadModpackFile(
worldId.value!,
picked.file,
{ known: {} },
{ softOverride: true },
)
await uploadProgressModal.value!.track(handle)
emit('reinstall')
invalidateServerState()
await uploadLocalModpackWithSoftOverride()
} catch (err) {
emit('reinstall-failed')
addNotification({
@@ -664,6 +670,21 @@ provideInstallationSettings({
}
},
async swapModpack() {
if (setupActionDisabled.value) return
if (modpack.value?.spec.platform !== 'local_file') return
debug('swapModpack: local file, opening file picker')
try {
await uploadLocalModpackWithSoftOverride()
} catch (err) {
emit('reinstall-failed')
addNotification({
type: 'error',
text: err instanceof Error ? err.message : formatMessage(messages.failedToChangeVersion),
})
}
},
async unlinkModpack() {
if (setupActionDisabled.value) return
debug('unlinkModpack: called')
+1 -1
View File
@@ -10,7 +10,7 @@ export interface PickedFile {
}
export interface PickedModpackFile extends Omit<PickedFile, 'file'> {
/** Only present for upload flows; native imports avoid copying huge packs into the webview heap. */
/** Only present for upload flows; native imports avoid copying huge packs into the browser heap. */
file?: File
}