pub struct AppContext {Show 16 fields
pub config: Arc<RwLock<Config>>,
pub state: Arc<Mutex<AppState>>,
pub api_client: Arc<ImmichApiClient>,
pub queue_manager: Arc<QueueManager>,
pub monitor_handle: Arc<MonitorHandle>,
pub sync_index: Arc<ShardedSyncIndex>,
pub live_watch_paths: Arc<Mutex<Vec<WatchPathEntry>>>,
pub sync_now_tx: UnboundedSender<()>,
pub thumbnail_cache: Arc<ThumbnailCache>,
pub library_state: Arc<Mutex<LibraryState>>,
pub library_timeline_active: AtomicBool,
pub current_user_id: Arc<Mutex<Option<String>>>,
pub expected_self_deletions: Arc<RecentSelfPaths>,
pub expected_self_downloads: Arc<RecentSelfPaths>,
pub reconcile_locks: Arc<ReconcileLocks>,
pub pending_deletions: Arc<PendingDeletions>,
}Expand description
Shared application context holding all dependency handles that UI and background
tasks need. Wrapped in Arc at construction time so it can be cloned cheaply.
Fields§
§config: Arc<RwLock<Config>>Thread-safe configuration data.
state: Arc<Mutex<AppState>>Thread-safe application state metrics.
api_client: Arc<ImmichApiClient>Shared Immich API client handle.
queue_manager: Arc<QueueManager>System upload and download worker queue coordinator.
monitor_handle: Arc<MonitorHandle>Native file monitor handle.
sync_index: Arc<ShardedSyncIndex>Concurrent database state check index.
live_watch_paths: Arc<Mutex<Vec<WatchPathEntry>>>Thread-safe active watched paths lists.
sync_now_tx: UnboundedSender<()>Channel sender to trigger manual synchronization catch-ups.
thumbnail_cache: Arc<ThumbnailCache>LRU thumbnail image cache coordinator.
library_state: Arc<Mutex<LibraryState>>GTK library view loading state container.
library_timeline_active: AtomicBoolTrue if timeline page views are currently active.
current_user_id: Arc<Mutex<Option<String>>>Authenticated user unique identifier, fetched at bootstrap.
expected_self_deletions: Arc<RecentSelfPaths>Tracking lists of deletions requested by Mimick itself.
expected_self_downloads: Arc<RecentSelfPaths>Tracking lists of files downloaded by Mimick itself.
reconcile_locks: Arc<ReconcileLocks>Active locks to prevent multi-sync conflicts.
pending_deletions: Arc<PendingDeletions>Deletions waiting to be confirmed across sync sweeps.
Auto Trait Implementations§
impl !Freeze for AppContext
impl !RefUnwindSafe for AppContext
impl !UnwindSafe for AppContext
impl Send for AppContext
impl Sync for AppContext
impl Unpin for AppContext
impl UnsafeUnpin for AppContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more