fix unwraps on navs for view

[?]
Jul 23, 2025, 8:20 AM
GYZWZ33TH3WUFLF3XNFQW2NBZXAAK5WQG65YVA7SJEYENUZKZRSAC

Dependencies

  • [2] KEPKF3WO unify diffs handling, simplify view
  • [3] UR4J677R nav for log changes and refactors
  • [4] YKHE3XMW refactor diffs handling
  • [5] KWTBNTO3 diffs selection and scrolling
  • [*] 6YZAVBWU Initial commit

Change contents

  • replacement in inflorescence/src/main.rs at line 1118
    [3.15153][3.15153:15189](),[3.15189][2.3248:3300](),[2.3248][2.3248:3300](),[2.3300][3.15190:15489]()
    let diff = match diff {
    Some(file::Diff::Loaded(file)) => {
    let nav = files_diffs
    .diffs_nav
    .as_ref()
    .and_then(|(nav_id_hash, nav)| {
    (*nav_id_hash == id_hash).then_some(nav)
    })
    .unwrap();
    [3.15153]
    [3.15489]
    let nav = files_diffs.diffs_nav.as_ref().and_then(
    |(nav_id_hash, nav)| (*nav_id_hash == id_hash).then_some(nav),
    );
    let diff = match (diff, nav) {
    (Some(file::Diff::Loaded(file)), Some(nav)) => {
  • replacement in inflorescence/src/main.rs at line 1130
    [2.3386][2.3386:3444]()
    Some(file::Diff::Loading) | None => None,
    [2.3386]
    [3.15732]
    (
    Some(file::Diff::Loaded(_) | file::Diff::Loading) | None,
    _,
    ) => None,
  • replacement in inflorescence/src/main.rs at line 1148
    [3.15988][3.15988:16024](),[3.16024][2.3542:3594](),[2.3542][2.3542:3594](),[2.3594][3.16025:16324]()
    let diff = match diff {
    Some(file::Diff::Loaded(file)) => {
    let nav = files_diffs
    .diffs_nav
    .as_ref()
    .and_then(|(nav_id_hash, nav)| {
    (*nav_id_hash == id_hash).then_some(nav)
    })
    .unwrap();
    [3.15988]
    [3.16324]
    let nav = files_diffs.diffs_nav.as_ref().and_then(
    |(nav_id_hash, nav)| (*nav_id_hash == id_hash).then_some(nav),
    );
    let diff = match (diff, nav) {
    (Some(file::Diff::Loaded(file)), Some(nav)) => {
  • replacement in inflorescence/src/main.rs at line 1160
    [2.3680][2.3680:3738]()
    Some(file::Diff::Loading) | None => None,
    [2.3680]
    [3.16567]
    (
    Some(file::Diff::Loaded(_) | file::Diff::Loading) | None,
    _,
    ) => None,
  • replacement in inflorescence/src/main.rs at line 1184
    [3.17064][3.17064:17781]()
    let diff = logs.diffs.get(&id_hash).map(
    |diff::FileAndState { file, state }| {
    let nav = logs
    .diffs_nav
    .as_ref()
    .and_then(|(nav_id_hash, nav)| {
    (*nav_id_hash == id_hash).then_some(nav)
    })
    .unwrap();
    app::Diff {
    is_selected: *diff_selected,
    file,
    state,
    nav,
    }
    [3.17064]
    [3.17781]
    let nav = logs.diffs_nav.as_ref().and_then(
    |(nav_id_hash, nav)| {
    (*nav_id_hash == id_hash).then_some(nav)
    },
    );
    let diff = logs.diffs.get(&id_hash).zip(nav).map(
    |(diff::FileAndState { file, state }, nav)| app::Diff {
    is_selected: *diff_selected,
    file,
    state,
    nav,