update deps and work with kittage 0.4 (#147)

* update deps and work with kittage 0.4

* fix: fmt

* also update msrv now that we have if-let arms
This commit is contained in:
June
2026-04-19 12:01:13 -05:00
committed by GitHub
parent 7448fc73c5
commit 421401c7a7
5 changed files with 276 additions and 235 deletions
+15 -6
View File
@@ -38,7 +38,9 @@ use ratatui_image::{
use tdf::{
PrerenderLimit,
converter::{ConvertedPage, ConverterMsg, run_conversion_loop},
kitty::{KittyDisplay, display_kitty_images, do_shms_work, run_action},
kitty::{
DisplayErr, DisplayErrSource, KittyDisplay, display_kitty_images, do_shms_work, run_action
},
renderer::{self, MUPDF_BLACK, MUPDF_WHITE, RenderError, RenderInfo, RenderNotif},
tui::{BottomMessage, InputAction, MessageSetting, Tui}
};
@@ -462,8 +464,13 @@ async fn enter_redraw_loop(
let maybe_err = display_kitty_images(to_display, &mut ev_stream).await;
if let Err((to_replace, err_desc, enum_err)) = maybe_err {
match enum_err {
if let Err(DisplayErr {
failed_pages,
user_facing_err,
source
}) = maybe_err
{
match source {
// This is the error that kitty & ghostty provide us when they delete an
// image due to memory constraints, so if we get it, we just fix it by
// re-rendering so it don't display it to the user
@@ -471,13 +478,15 @@ async fn enter_redraw_loop(
// [TODO] maybe when we detect that an image was deleted, we probe the
// terminal for the pages around it to see if they were deleted too and if
// they were, we re-render them? idk
TransmitError::Terminal(TerminalError::NoEntity(_)) => (),
DisplayErrSource::Transmission(TransmitError::Terminal(
TerminalError::NoEntity(_)
)) => (),
_ => tui.set_msg(MessageSetting::Some(BottomMessage::Error(format!(
"{err_desc}: {enum_err}"
"{user_facing_err}: {source}"
))))
}
for page_num in to_replace {
for page_num in failed_pages {
tui.page_failed_display(page_num);
// So that they get re-rendered and sent over again
to_renderer.send(RenderNotif::PageNeedsReRender(page_num))?;