fix: solve audio recording on iOS/Safari and fix Dockerfile health check
This commit is contained in:
+1
-1
@@ -29,4 +29,4 @@ EXPOSE 80
|
|||||||
|
|
||||||
# Health check to verify Nginx is actively running
|
# Health check to verify Nginx is actively running
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=3s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=3s --retries=3 \
|
||||||
CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1
|
CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:80/ || exit 1
|
||||||
|
|||||||
@@ -61,7 +61,12 @@ export default function LiveVoiceCapture({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (el.readyState >= 1) {
|
||||||
|
handleLoadedMetadata()
|
||||||
|
} else {
|
||||||
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
|
}
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
@@ -161,6 +166,7 @@ export default function LiveVoiceCapture({
|
|||||||
VOICE_MEMO_MAX_DURATION_SEC,
|
VOICE_MEMO_MAX_DURATION_SEC,
|
||||||
Math.max(1, Math.round((Date.now() - startedAtRef.current) / 1000))
|
Math.max(1, Math.round((Date.now() - startedAtRef.current) / 1000))
|
||||||
)
|
)
|
||||||
|
setTimeout(() => {
|
||||||
const blob = new Blob(chunksRef.current, { type: resolvedMime })
|
const blob = new Blob(chunksRef.current, { type: resolvedMime })
|
||||||
chunksRef.current = []
|
chunksRef.current = []
|
||||||
stopStream()
|
stopStream()
|
||||||
@@ -171,6 +177,7 @@ export default function LiveVoiceCapture({
|
|||||||
setMicError(t('logs.live_voice_too_large'))
|
setMicError(t('logs.live_voice_too_large'))
|
||||||
setPhase('idle')
|
setPhase('idle')
|
||||||
}
|
}
|
||||||
|
}, 50)
|
||||||
}
|
}
|
||||||
|
|
||||||
recorder.onerror = () => {
|
recorder.onerror = () => {
|
||||||
@@ -179,7 +186,7 @@ export default function LiveVoiceCapture({
|
|||||||
}
|
}
|
||||||
|
|
||||||
startedAtRef.current = Date.now()
|
startedAtRef.current = Date.now()
|
||||||
recorder.start(200)
|
recorder.start()
|
||||||
setPhase('recording')
|
setPhase('recording')
|
||||||
setElapsedSec(0)
|
setElapsedSec(0)
|
||||||
timerRef.current = window.setInterval(() => {
|
timerRef.current = window.setInterval(() => {
|
||||||
|
|||||||
@@ -47,7 +47,12 @@ export default function VoiceMemoPlayer({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (el.readyState >= 1) {
|
||||||
|
handleLoadedMetadata()
|
||||||
|
} else {
|
||||||
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
|
}
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user