retry upsert project

tzemanovic
Feb 5, 2026, 7:47 PM
OLDN7R342GOTIMPDTTXAWFUM6MX5VTEEXS4GMZM5DAMWGECFXLAQC

Dependencies

Change contents

  • replacement in libflorescence/src/store/state.rs at line 76
    [3.2334][3.2334:2413]()
    pub async fn upsert_project(project: Project) -> Result<(), ProjectsFileErr> {
    [3.2334]
    [3.2413]
    pub async fn upsert_project(
    project: Project,
    ) -> Result<(), (ProjectsFileErr, Project)> {
    let project_clone = project.clone();
  • replacement in libflorescence/src/store/state.rs at line 84
    [3.2523][3.2523:2544]()
    } = project;
    [3.2523]
    [3.2544]
    } = project_clone;
  • edit in libflorescence/src/store/state.rs at line 99
    [3.2961]
    [3.2961]
    .map_err(|e| (e, project))
  • replacement in inflorescence/src/main.rs at line 101
    [2.3609686][3.16140:16265]()
    LoadedProjects(Result<store::Projects, store::ProjectsFileErr>),
    StoredProjects(Result<(), store::ProjectsFileErr>),
    [2.3609686]
    [2.3609686]
    ReadProjectsResult(Result<store::Projects, store::ProjectsFileErr>),
    UpsertProjectResult(Result<(), (store::ProjectsFileErr, store::Project)>),
  • replacement in inflorescence/src/main.rs at line 182
    [3.16837][3.16837:16866]()
    Msg::LoadedProjects,
    [3.16837]
    [3.16866]
    Msg::ReadProjectsResult,
  • replacement in inflorescence/src/main.rs at line 296
    [2.3613417][3.18445:18499]()
    Msg::LoadedProjects(result) => match result {
    [2.3613417]
    [3.18499]
    Msg::ReadProjectsResult(result) => match result {
  • replacement in inflorescence/src/main.rs at line 323
    [3.19581][3.19581:19634]()
    Msg::LoadedProjects,
    [3.19581]
    [3.19634]
    Msg::ReadProjectsResult,
  • replacement in inflorescence/src/main.rs at line 339
    [3.20143][3.20143:20197]()
    Msg::StoredProjects(result) => match result {
    [3.20143]
    [3.20197]
    Msg::UpsertProjectResult(result) => match result {
  • replacement in inflorescence/src/main.rs at line 341
    [3.20233][3.20233:20447]()
    Err(err) => {
    let msg = format!("Failed to write projects to store: {err:?}");
    report::show_err(&mut state.model.report, msg);
    Task::none()
    }
    [3.20233]
    [3.20447]
    Err((err, project)) => match err.as_enum() {
    terrors::E2::A(store::BlockingLockError) => Task::perform(
    async move { store::upsert_project(project).await },
    Msg::UpsertProjectResult,
    ),
    _ => {
    let msg =
    format!("Failed to write projects to store: {err:?}");
    report::show_err(&mut state.model.report, msg);
    Task::none()
    }
    },
  • replacement in inflorescence/src/main.rs at line 578
    [3.22821][3.22821:22866]()
    Msg::StoredProjects,
    [3.22821]
    [3.22866]
    Msg::UpsertProjectResult,