pKakidashi Post 8 with Wifi off. image Wifi On image

  • It’s automatically stored in the cloud.
  • The (local save ok) flag is gone at that time. ts
setGlobal({ items: [...global.items, item] });
local_db.items.add(item).then(() => {
  const new_item = { ...item, saved_local: true }
  setGlobal({ items: [...global.items, new_item] });
})
addItemToFirestore(item).then(() => {
  const new_item = { ...item, saved_cloud: true }
  setGlobal({ items: [...global.items, new_item] });
})

ts

  const updateItem = (index: number, diff: { [key: string]: any }) => {
    const global = getGlobal();
    const new_item = { ...global.items[index], ...diff }
    const new_items = [...global.items]
    new_items[index] = new_item;
    setGlobal({ items: new_items });
  }
 
  const index = global.items.length;
  setGlobal({ items: [...global.items, item] });
  local_db.items.add(item).then(() => {
    updateItem(index, { saved_local: true })
  })
  addItemToFirestore(item).then(() => {
    updateItem(index, { saved_cloud: true })
    local_db.items.update(item.created, { saved_cloud: true })
  })
  • Reloaded without cloud save will not be retried.
    • Immediately retry anything restored from local on reload
    • under

This page is auto-translated from /nishio/2020-01-21 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.