message: fix(web): prevent recoil error, by retaining snapshot for the duration of init
diff: @@ -75,11 +75,14 @@ export function RecoilStateInitializer() {
  const [initialized, setInitialized] = useRecoilState(isInitializedAtom)
  - const initialize = useRecoilCallback(({ set, snapshot: { getPromise } }) => () => {
  + const initialize = useRecoilCallback(({ set, snapshot }) => () => {
  if (initialized) {
  return
  }
  + const snapShotRelease = snapshot.retain()
  + const { getPromise } = snapshot
  +
  initializeDatasets(query)
  .then(({ datasets, defaultDatasetName, defaultDatasetNameFriendly, currentDatasetName }) => {
  set(datasetsAtom, {
  @@ -104,6 +107,7 @@ export function RecoilStateInitializer() {
  })
  .then(() => {
  setInitialized(true)
  + snapShotRelease()
  })
  .catch((error) => {
  console.error(error)
  