mirror of
https://github.com/sst/opencode.git
synced 2025-12-23 10:11:41 +00:00
fix: defensive audio init
This commit is contained in:
parent
ff690350b1
commit
20e3a74bad
1 changed files with 12 additions and 4 deletions
|
|
@ -31,8 +31,16 @@ export type Notification = TurnCompleteNotification | ErrorNotification
|
|||
export const { use: useNotification, provider: NotificationProvider } = createSimpleContext({
|
||||
name: "Notification",
|
||||
init: () => {
|
||||
const idlePlayer = makeAudioPlayer(idleSound)
|
||||
const errorPlayer = makeAudioPlayer(errorSound)
|
||||
let idlePlayer: ReturnType<typeof makeAudioPlayer> | undefined
|
||||
let errorPlayer: ReturnType<typeof makeAudioPlayer> | undefined
|
||||
|
||||
try {
|
||||
idlePlayer = makeAudioPlayer(idleSound)
|
||||
errorPlayer = makeAudioPlayer(errorSound)
|
||||
} catch (err) {
|
||||
console.log("Failed to load audio", err)
|
||||
}
|
||||
|
||||
const globalSDK = useGlobalSDK()
|
||||
const globalSync = useGlobalSync()
|
||||
|
||||
|
|
@ -60,7 +68,7 @@ export const { use: useNotification, provider: NotificationProvider } = createSi
|
|||
const match = Binary.search(syncStore.session, sessionID, (s) => s.id)
|
||||
const isChild = match.found && syncStore.session[match.index].parentID
|
||||
if (isChild) break
|
||||
idlePlayer.play()
|
||||
idlePlayer?.play()
|
||||
setStore("list", store.list.length, {
|
||||
...base,
|
||||
type: "turn-complete",
|
||||
|
|
@ -76,7 +84,7 @@ export const { use: useNotification, provider: NotificationProvider } = createSi
|
|||
const isChild = match.found && syncStore.session[match.index].parentID
|
||||
if (isChild) break
|
||||
}
|
||||
errorPlayer.play()
|
||||
errorPlayer?.play()
|
||||
setStore("list", store.list.length, {
|
||||
...base,
|
||||
type: "error",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue