fix(content): handle case where notes are not loaded

This commit is contained in:
Fernando López Guevara
2025-06-09 10:51:17 -03:00
committed by William Casarin
parent 48f17f91b8
commit c6dbb0e856
9 changed files with 24 additions and 23 deletions

View File

@@ -420,11 +420,11 @@ fn render_nav_body(
zaps: ctx.zaps,
pool: ctx.pool,
job_pool: ctx.job_pool,
unknown_ids: ctx.unknown_ids,
current_account_has_wallet: get_current_wallet(ctx.accounts, ctx.global_wallet).is_some(),
};
match top {
Route::Timeline(kind) => render_timeline_route(
ctx.unknown_ids,
&mut app.timeline_cache,
ctx.accounts,
kind,
@@ -436,7 +436,6 @@ fn render_nav_body(
&mut app.jobs,
),
Route::Thread(selection) => render_thread_route(
ctx.unknown_ids,
&mut app.threads,
ctx.accounts,
selection,

View File

@@ -6,12 +6,11 @@ use crate::{
};
use enostr::Pubkey;
use notedeck::{Accounts, MuteFun, NoteContext, UnknownIds};
use notedeck::{Accounts, MuteFun, NoteContext};
use notedeck_ui::{jobs::JobsCache, NoteOptions};
#[allow(clippy::too_many_arguments)]
pub fn render_timeline_route(
unknown_ids: &mut UnknownIds,
timeline_cache: &mut TimelineCache,
accounts: &mut Accounts,
kind: &TimelineKind,
@@ -50,7 +49,6 @@ pub fn render_timeline_route(
pubkey,
accounts,
timeline_cache,
unknown_ids,
col,
ui,
&accounts.mutefun(),
@@ -79,7 +77,6 @@ pub fn render_timeline_route(
#[allow(clippy::too_many_arguments)]
pub fn render_thread_route(
unknown_ids: &mut UnknownIds,
threads: &mut Threads,
accounts: &mut Accounts,
selection: &ThreadSelection,
@@ -95,7 +92,6 @@ pub fn render_thread_route(
ui::ThreadView::new(
threads,
unknown_ids,
selection.selected_or_root(),
note_options,
&accounts.mutefun(),
@@ -113,7 +109,6 @@ pub fn render_profile_route(
pubkey: &Pubkey,
accounts: &Accounts,
timeline_cache: &mut TimelineCache,
unknown_ids: &mut UnknownIds,
col: usize,
ui: &mut egui::Ui,
is_muted: &MuteFun,
@@ -127,7 +122,6 @@ pub fn render_profile_route(
col,
timeline_cache,
note_options,
unknown_ids,
is_muted,
note_context,
jobs,

View File

@@ -785,6 +785,7 @@ mod preview {
zaps: app.zaps,
pool: app.pool,
job_pool: app.job_pool,
unknown_ids: app.unknown_ids,
current_account_has_wallet: false,
};

View File

@@ -12,7 +12,7 @@ use crate::{
};
use notedeck::{
name::get_display_name, profile::get_profile_url, Accounts, MuteFun, NoteAction, NoteContext,
NotedeckTextStyle, UnknownIds,
NotedeckTextStyle,
};
use notedeck_ui::{
jobs::JobsCache,
@@ -26,7 +26,6 @@ pub struct ProfileView<'a, 'd> {
col_id: usize,
timeline_cache: &'a mut TimelineCache,
note_options: NoteOptions,
unknown_ids: &'a mut UnknownIds,
is_muted: &'a MuteFun,
note_context: &'a mut NoteContext<'d>,
jobs: &'a mut JobsCache,
@@ -45,7 +44,6 @@ impl<'a, 'd> ProfileView<'a, 'd> {
col_id: usize,
timeline_cache: &'a mut TimelineCache,
note_options: NoteOptions,
unknown_ids: &'a mut UnknownIds,
is_muted: &'a MuteFun,
note_context: &'a mut NoteContext<'d>,
jobs: &'a mut JobsCache,
@@ -56,7 +54,6 @@ impl<'a, 'd> ProfileView<'a, 'd> {
col_id,
timeline_cache,
note_options,
unknown_ids,
is_muted,
note_context,
jobs,
@@ -103,7 +100,7 @@ impl<'a, 'd> ProfileView<'a, 'd> {
if let Err(e) = profile_timeline.poll_notes_into_view(
self.note_context.ndb,
&txn,
self.unknown_ids,
self.note_context.unknown_ids,
self.note_context.note_cache,
reversed,
) {

View File

@@ -3,7 +3,7 @@ use egui_virtual_list::VirtualList;
use enostr::KeypairUnowned;
use nostrdb::{Note, Transaction};
use notedeck::note::root_note_id_from_selected_id;
use notedeck::{MuteFun, NoteAction, NoteContext, UnknownIds};
use notedeck::{MuteFun, NoteAction, NoteContext};
use notedeck_ui::jobs::JobsCache;
use notedeck_ui::note::NoteResponse;
use notedeck_ui::{NoteOptions, NoteView};
@@ -12,7 +12,6 @@ use crate::timeline::thread::{NoteSeenFlags, ParentState, Threads};
pub struct ThreadView<'a, 'd> {
threads: &'a mut Threads,
unknown_ids: &'a mut UnknownIds,
selected_note_id: &'a [u8; 32],
note_options: NoteOptions,
col: usize,
@@ -27,7 +26,6 @@ impl<'a, 'd> ThreadView<'a, 'd> {
#[allow(clippy::too_many_arguments)]
pub fn new(
threads: &'a mut Threads,
unknown_ids: &'a mut UnknownIds,
selected_note_id: &'a [u8; 32],
note_options: NoteOptions,
is_muted: &'a MuteFun,
@@ -38,7 +36,6 @@ impl<'a, 'd> ThreadView<'a, 'd> {
let id_source = egui::Id::new("threadscroll_threadview");
ThreadView {
threads,
unknown_ids,
selected_note_id,
note_options,
id_source,
@@ -96,7 +93,7 @@ impl<'a, 'd> ThreadView<'a, 'd> {
self.note_context.note_cache,
self.note_context.ndb,
txn,
self.unknown_ids,
self.note_context.unknown_ids,
self.col,
);