diff --git a/maildir_gtd/app.py b/maildir_gtd/app.py index 8fca4bb..d39a54d 100644 --- a/maildir_gtd/app.py +++ b/maildir_gtd/app.py @@ -482,15 +482,13 @@ class EmailViewerApp(App): self.fetch_envelopes() if self.reload_needed else None async def action_delete(self) -> None: - self.query_one("#envelopes_list").pop(self.current_message_index) - self.all_envelopes = list( - filter( - lambda x: int(x.get("id", "0")) != self.current_message_id, - self.all_envelopes, - ) - ) - self.message_metadata.pop(self.current_message_id, None) - self.message_body_cache.pop(self.current_message_id, None) + self.all_envelopes = [item for item in self.all_envelopes if item and item.get("id") != self.current_message_id] + self.message_metadata = { + k: v for k, v in self.message_metadata.items() if k != self.current_message_id + } + self.message_body_cache = { + k: v for k, v in self.message_body_cache.items() if k != self.current_message_id + } self.total_messages = len(self.message_metadata) delete_current(self) newmsg = self.all_envelopes[self.current_message_index]