After a successful article refresh, all images referenced in article content are downloaded in the background so articles can be read offline. The prefetch only runs when the cache-images setting is enabled and the connection is not metered. Read/unread state changes that fail to reach the server (e.g. when offline) are now persisted to a local queue in ~/.cache/net.jeena.FeedTheMonkey/pending_sync.json. The queue is flushed at the start of the next successful fetch.
27 lines
637 B
Rust
27 lines
637 B
Rust
mod api;
|
|
mod app;
|
|
mod cache;
|
|
mod image_cache;
|
|
mod pending_actions;
|
|
mod filters;
|
|
mod preferences_dialog;
|
|
mod article_row;
|
|
mod credentials;
|
|
mod login_dialog;
|
|
mod model;
|
|
mod runtime;
|
|
mod window;
|
|
|
|
fn main() -> glib::ExitCode {
|
|
// In development builds, point GSettings at the locally compiled schema.
|
|
if cfg!(debug_assertions) {
|
|
std::env::set_var("GSETTINGS_SCHEMA_DIR", env!("GSETTINGS_SCHEMA_DIR"));
|
|
}
|
|
|
|
// Start the tokio multi-thread runtime before the GTK app so that
|
|
// reqwest/hyper can find it when API futures are spawned.
|
|
runtime::init();
|
|
|
|
let app = app::FeedTheMonkeyApp::new();
|
|
app.run()
|
|
}
|