Keep a generation log so wiped or failed jobs can be re-queued.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+23
-1
@@ -244,7 +244,7 @@ import {
|
||||
} from '~/utils/music'
|
||||
import { ensureGenerationNotifyPermission, notifyGenerationComplete } from '~/utils/generationNotify'
|
||||
import type { LibraryFolder } from '~/utils/libraryBrowse'
|
||||
import { LOAD_MUSIC_JOB_KEY } from '~/utils/queuedJob'
|
||||
import { LOAD_GENERATION_PAYLOAD_KEY, LOAD_MUSIC_JOB_KEY } from '~/utils/queuedJob'
|
||||
import type { GenerationPreset, MusicPresetSettings } from '~/utils/generationPresets'
|
||||
|
||||
const tagsPlaceholder = DEFAULT_MUSIC_TAGS
|
||||
@@ -566,6 +566,28 @@ watch(instrumental, (on) => {
|
||||
})
|
||||
|
||||
function applyIncomingMusic() {
|
||||
try {
|
||||
const genRaw = sessionStorage.getItem(LOAD_GENERATION_PAYLOAD_KEY)
|
||||
if (genRaw) {
|
||||
const loaded = JSON.parse(genRaw) as { kind?: string; payload?: Record<string, any> }
|
||||
if (loaded?.kind === 'music' && loaded.payload) {
|
||||
sessionStorage.removeItem(LOAD_GENERATION_PAYLOAD_KEY)
|
||||
const payload = loaded.payload
|
||||
if (typeof payload.prompt === 'string') tags.value = payload.prompt
|
||||
if (typeof payload.lyrics === 'string') lyrics.value = payload.lyrics
|
||||
instrumental.value = payload.instrumental === true
|
||||
if (typeof payload.duration === 'number') duration.value = payload.duration
|
||||
if (typeof payload.steps === 'number') steps.value = payload.steps
|
||||
if (payload.seed != null) seed.value = String(payload.seed)
|
||||
if (typeof payload.name === 'string') name.value = payload.name
|
||||
if (payload.folderId && folders.value.some(folder => folder.id === payload.folderId)) folderId.value = payload.folderId
|
||||
if (payload.musicEngine || payload.engine) applyEngine(parseMusicEngine(payload.musicEngine || payload.engine))
|
||||
status.value = 'Loaded from generation log'
|
||||
return
|
||||
}
|
||||
}
|
||||
} catch { /* fall through */ }
|
||||
|
||||
try {
|
||||
const raw = sessionStorage.getItem(LOAD_MUSIC_JOB_KEY)
|
||||
if (!raw) return
|
||||
|
||||
Reference in New Issue
Block a user