fix: resolve critical bugs and improve admin panel reliability
- Fix missing await in pets API route causing empty responses - Fix updateSetting to use upsert pattern instead of update-only - Create missing /api/admin/sounds/upload route (upload was broken) - Wire bulk delete actions in catalog table - Replace native confirm() with useConfirmDialog() across rooms and clone pages - Add error logging to silent catch blocks in radio actions and audit route - Add graceful degradation to devops health endpoint - Add cache eviction to clone icon route to prevent memory leak - Internationalize hardcoded Italian strings to English - Remove placeholder created_at fields from prefix API responses - Remove dead code and fix type errors in translations and import pages - Standardize PERMS import path in analytics export route
This commit is contained in:
1 parent
6f53ca514d
commit
1b817fe434
19 files changed
+255
-89
No files matched your search
@@ -271,7 +271,7 @@ export function SoundsClient({
|
||||
onEnded={() => setPlayingId(null)}
|
||||
onError={() =>
|
||||
toast.error(
|
||||
`Impossibile riprodurre "${s.code}.mp3" da ${baseUrl}.`,
|
||||
`Failed to play "${s.code}.mp3" from ${baseUrl}.`,
|
||||
)
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -100,7 +100,7 @@ export function TraxPlayer({
|
||||
|
||||
const AudioCtor = window.AudioContext;
|
||||
if (!AudioCtor) {
|
||||
toast.error("Web Audio API non supportata da questo browser.");
|
||||
toast.error("Web Audio API is not supported by this browser.");
|
||||
setStatus("error");
|
||||
return;
|
||||
}
|
||||
@@ -137,7 +137,7 @@ export function TraxPlayer({
|
||||
|
||||
if (failed > 0) {
|
||||
toast.warning(
|
||||
`${failed}/${uniqueIds.length} sample non caricati — la riproduzione potrebbe avere buchi.`,
|
||||
`${failed}/${uniqueIds.length} samples failed to load — playback may have gaps.`,
|
||||
);
|
||||
}
|
||||
if (failed === uniqueIds.length) {
|
||||
|
||||
Reference in new issue
Block a user