msansm1/rss-podcast-dlpublic Fork
⑂ e1b5362
Commits
⬇ Clone ▾
git clone https://git.rickub.com/msansm1/rss-podcast-dl.git
git clone ssh://git@rickub.com/msansm1/rss-podcast-dl.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

Fix egui NaN error by removing Window creation inside panels

msansm1 committed 2026-07-10T21:56:01+02:00 Browse files
e1b5362 parent: 494cad2
modified src/app.rs +0 -3
@@ -117,9 +117,6 @@ impl eframe::App for RssPodcastApp {
117117 Theme::Light => egui::Color32::from_rgb(220, 230, 245),
118118 };
119119
120- // Process sync task messages
121- self.state.sync_task_manager.process_messages();
122-
123120 // Draw notifications panel at the top
124121 egui::Panel::top("notifications_panel")
125122 .frame(egui::Frame {
@@ -117,9 +117,6 @@ impl eframe::App for RssPodcastApp {
117 Theme::Light => egui::Color32::from_rgb(220, 230, 245),117 Theme::Light => egui::Color32::from_rgb(220, 230, 245),
118 };118 };
119 119
120- // Process sync task messages
121- self.state.sync_task_manager.process_messages();
122-
123 // Draw notifications panel at the top120 // Draw notifications panel at the top
124 egui::Panel::top("notifications_panel")121 egui::Panel::top("notifications_panel")
125 .frame(egui::Frame {122 .frame(egui::Frame {
modified src/ui/home.rs +1 -1
@@ -33,7 +33,7 @@ pub fn draw_home(state: &mut AppState, ui: &mut Ui) {
3333 draw_action_buttons(state, ui);
3434 });
3535
36- // Sync status panel (shown when sync is in progress)
36+ // Show sync status panel
3737 crate::ui::sync_status::draw_sync_status_panel(state, ui);
3838
3939 ui.add_space(16.0);
@@ -33,7 +33,7 @@ pub fn draw_home(state: &mut AppState, ui: &mut Ui) {
33 draw_action_buttons(state, ui);33 draw_action_buttons(state, ui);
34 });34 });
35 35
36- // Sync status panel (shown when sync is in progress)36+ // Show sync status panel
37 crate::ui::sync_status::draw_sync_status_panel(state, ui);37 crate::ui::sync_status::draw_sync_status_panel(state, ui);
38 38
39 ui.add_space(16.0);39 ui.add_space(16.0);
modified src/ui/sync_status.rs +0 -22
@@ -201,28 +201,6 @@ pub fn draw_sync_indicator(state: &AppState, ui: &mut Ui) {
201201 });
202202 }
203203
204-/// Draws a detailed sync progress popup/panel
205-pub fn draw_sync_progress_panel(state: &mut AppState, ui: &mut Ui) {
206- // Process any pending messages first
207- state.sync_task_manager.process_messages();
208-
209- let status = &state.sync_task_manager.status;
210-
211- // Only show detailed panel if there's active sync
212- if !status.is_syncing() && !status.global_sync_in_progress {
213- return;
214- }
215-
216- // Create a popup-style panel
217- egui::Window::new("📊 Progression de la synchronisation")
218- .collapsible(false)
219- .resizable(true)
220- .default_size(egui::Vec2::new(300.0, 200.0))
221- .show(ui.ctx(), |ui| {
222- draw_sync_status_panel(state, ui);
223- });
224-}
225-
226204 #[cfg(test)]
227205 mod tests {
228206 use super::*;
@@ -201,28 +201,6 @@ pub fn draw_sync_indicator(state: &AppState, ui: &mut Ui) {
201 });201 });
202 }202 }
203 203
204-/// Draws a detailed sync progress popup/panel
205-pub fn draw_sync_progress_panel(state: &mut AppState, ui: &mut Ui) {
206- // Process any pending messages first
207- state.sync_task_manager.process_messages();
208-
209- let status = &state.sync_task_manager.status;
210-
211- // Only show detailed panel if there's active sync
212- if !status.is_syncing() && !status.global_sync_in_progress {
213- return;
214- }
215-
216- // Create a popup-style panel
217- egui::Window::new("📊 Progression de la synchronisation")
218- .collapsible(false)
219- .resizable(true)
220- .default_size(egui::Vec2::new(300.0, 200.0))
221- .show(ui.ctx(), |ui| {
222- draw_sync_status_panel(state, ui);
223- });
224-}
225-
226 #[cfg(test)]204 #[cfg(test)]
227 mod tests {205 mod tests {
228 use super::*;206 use super::*;