You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backtrace (most recent call first):
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/buffer/buffer.rs", line 137, in ratatui::buffer::buffer::Buffer::index_of
debug_assert!(
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/buffer/buffer.rs", line 105, in ratatui::buffer::buffer::Buffer::get_mut
let i = self.index_of(x, y);
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/buffer/buffer.rs", line 221, in ratatui::buffer::buffer::Buffer::set_stringn
self.get_mut(x, y).set_symbol(symbol).set_style(style);
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/buffer/buffer.rs", line 191, in ratatui::buffer::buffer::Buffer::set_string
self.set_stringn(x, y, string, usize::MAX, style);
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/calendar.rs", line 208, in <taskwarrior_tui::calendar::Calendar as ratatui::widgets::Widget>::render
buf.set_string(x, y, s, style);
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/terminal/frame.rs", line 75, in ratatui::terminal::frame::Frame::render_widget
widget.render(area, self.buffer);
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/app.rs", line 530, in taskwarrior_tui::app::TaskwarriorTui::draw_calendar
f.render_widget(c, layout);
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/app.rs", line 454, in taskwarrior_tui::app::TaskwarriorTui::draw
Mode::Calendar => self.draw_calendar(f, main_layout),
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/app.rs", line 383, in taskwarrior_tui::app::TaskwarriorTui::run::{{closure}}::{{closure}}
terminal.draw(|f| self.draw(f))?;
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/terminal/terminal.rs", line 269, in ratatui::terminal::terminal::Terminal<B>::draw
f(&mut frame);
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/app.rs", line 383, in taskwarrior_tui::app::TaskwarriorTui::run::{{closure}}
terminal.draw(|f| self.draw(f))?;
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/main.rs", line 117, in taskwarrior_tui::tui_main::{{closure}}
let r = app.run(&mut terminal).await;
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/main.rs", line 187, in taskwarrior_tui::main::{{closure}}
.block_on(async { tui_main(report).await });
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/park.rs", line 281, in tokio::runtime::park::CachedParkThread::block_on::{{closure}}
if let Ready(v) = crate::runtime::coop::budget(|| f.as_mut().poll(&mut cx)) {
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/coop.rs", line 107, in tokio::runtime::coop::with_budget
f()
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/coop.rs", line 73, in tokio::runtime::coop::budget
with_budget(Budget::initial(), f)
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/park.rs", line 281, in tokio::runtime::park::CachedParkThread::block_on
if let Ready(v) = crate::runtime::coop::budget(|| f.as_mut().poll(&mut cx)) {
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/context/blocking.rs", line 66, in tokio::runtime::context::blocking::BlockingRegionGuard::block_on
park.block_on(f)
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/scheduler/multi_thread/mod.rs", line 87, in tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
blocking.block_on(future).expect("failed to park thread")
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/context/runtime.rs", line 65, in tokio::runtime::context::runtime::enter_runtime
return f(&mut guard.blocking);
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/scheduler/multi_thread/mod.rs", line 86, in tokio::runtime::scheduler::multi_thread::MultiThread::block_on
crate::runtime::context::enter_runtime(handle, true, |blocking| {
File "/home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.0/src/runtime/runtime.rs", line 349, in tokio::runtime::runtime::Runtime::block_on
Scheduler::MultiThread(exec) => exec.block_on(&self.handle.inner, future),
File "/home/paskripkin/Documents/git/taskwarrior-tui/src/main.rs", line 184, in taskwarrior_tui::main
let r = tokio::runtime::Builder::new_multi_thread()
The application panicked (crashed).
Trying to access position outside the buffer: x=38, y=77, area=Rect { x: 0, y: 0, width: 165, height: 77 }
in /home/paskripkin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/buffer/buffer.rs, line 221
thread: main
Sort of analysis
Code panics here, since y > area.height
if d.1 == Local::now().date_naive(){
buf.set_string(x, y, s,self.today_style);}else{
buf.set_string(x, y, s, style); <-- here
}
Simple fix like:
--- a/src/calendar.rs+++ b/src/calendar.rs@@ -212,7 +212,7 @@ impl<'a> Widget for Calendar<'a> {
moredays |= d.0.month() == d.1.month() || d.1 < d.0;
}
y += 1;
- if !moredays {+ if !moredays || y >= area.height {
break;
}
}
fixes for me, but I am not sure if it's complete fix, since code is kinda not straightforward.
The text was updated successfully, but these errors were encountered:
Reproduces on current HEAD (54b06cd).
Steps to reproduce:
taskwarrior-tui
Backtrace:
Sort of analysis
Code panics here, since
y > area.height
Simple fix like:
fixes for me, but I am not sure if it's complete fix, since code is kinda not straightforward.
The text was updated successfully, but these errors were encountered: