feat: handle SSE cache invalidation and nightly rust toolchain config
Adds a Vue watch in `ServerDrawer.vue` to trigger a manual container directory refresh when SSE cache invalidation clears `browseData`. Includes guards to prevent redundant requests during active loads and properly manages the `isLoading` state. Additionally, introduces `rust-toolchain.toml` to enforce the nightly Rust compiler across all environments, ensuring consistent builds and access to recent language improvements.
This commit is contained in:
@@ -113,6 +113,20 @@ watch(drawerContentRef, (el) => {
|
|||||||
if (el) setupObserver();
|
if (el) setupObserver();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Recharger quand le cache est invalidé par un événement SSE (containers_updated / global_updated)
|
||||||
|
watch(browseData, async (data, oldData) => {
|
||||||
|
if (!data && oldData && currentServer.value && currentContainerId.value && !isLoading.value) {
|
||||||
|
isLoading.value = true;
|
||||||
|
try {
|
||||||
|
await browseContainer(currentServer.value.id, currentContainerId.value, false);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("[ServerDrawer] Erreur reload après invalidation cache:", error);
|
||||||
|
} finally {
|
||||||
|
isLoading.value = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// État du menu dropdown (pour chaque item, on stocke si son menu est ouvert)
|
// État du menu dropdown (pour chaque item, on stocke si son menu est ouvert)
|
||||||
const openMenuId = ref<string | null>(null);
|
const openMenuId = ref<string | null>(null);
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::{
|
|||||||
nodes::{AudioError, TypedAudioNode, DEFAULT_CHANNEL_SIZE},
|
nodes::{AudioError, TypedAudioNode, DEFAULT_CHANNEL_SIZE},
|
||||||
pipeline::{Node, NodeLogic},
|
pipeline::{Node, NodeLogic},
|
||||||
type_constraints::TypeRequirement,
|
type_constraints::TypeRequirement,
|
||||||
AudioChunk, AudioPipelineNode, AudioSegment, SyncMarker, StreamType,
|
AudioChunk, AudioPipelineNode, AudioSegment, SyncMarker,
|
||||||
};
|
};
|
||||||
use pmoflac::{encode_flac_stream, EncoderOptions, PcmFormat};
|
use pmoflac::{encode_flac_stream, EncoderOptions, PcmFormat};
|
||||||
use std::{
|
use std::{
|
||||||
|
|||||||
2
rust-toolchain.toml
Normal file
2
rust-toolchain.toml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[toolchain]
|
||||||
|
channel = "nightly"
|
||||||
Reference in New Issue
Block a user