notebook lost charts and data

On 7/16/2024 I was working on a private notebook that had 3 d3 charts, and several relatively small sources of data. I reloaded and updated .tsv file and changed the corresponding ref in the notebook like “notebookname.tsv” → “notebookname@1.tsv”. After that, the notebook began to go blank in areas and I began to get spinner animations in some of the cells. I exited and re-entered Observable and went to this notebook. All of the code except for one chart was lost, and the data.tsv files insert cells had all disappeared.

I tried looking through the notebook history but I didn’t see changes that would correspond to these drastic changes.

I’m afraid can’t share the private notebook as it used client data. I guess I’m looking for responses like “Oh, it sounds like you fell foul of the notorious … bug and to avoid it you should do the following.” Or even better: “Observable had an outage and your notebook should be restored by tomorrow.”

It’s a bummer – I lost days of work. Any notes on how to avoid this situation are appreciated.

Thanks!

So sorry to hear that!

When we have had cases like this in the past, it was because the changes to the notebook did not make it to the server. The app should show a warning at the top of the notebook when this disconnected state happens, but it may be that something else was going on here.

Please contact us through support@observablehq.com and give us some details about the notebook (eg. The slug) so we can get into more details about the specific notebook. We can look at the events on our side and try and piece together what happened.

Thank you @Cobus ; I’ve submitted a reply to support@observablehq.com . Meanwhile, are there any guidelines on minimizing this hazard? Like: don’t have more than one chart in a notebook? My best guess is that I accidentally had something like an infinite loop or waiting cell that hung up the notebook. IDK. I was thinking maybe going forward I could do my code in git and somehow have its updates display in observable, so that git would preserve it. But from previous exchanges I think that’s not possible. I do see some “auto-update observable changes back to git”-related exchanges in the forum so maybe I can guard my code that way. Anyway thanks for your prompt help!

@ouonomos Thanks for submitting the support request.

The one guideline I can give you is to avoid doing critical work on unstable internet connections. Even though we try and sync offline changes to the server when you reconnect (there is a warning at the top of the notebook when you are in this state), that process is complex and not completely reliable.

We will report back in the support email thread with our findings that may shed light into what we think may have happened here.

In terms of managing your own code repository for notebooks… There are some nice examples of syncing your notebook code to GitHub, but the opposite is not possible in notebooks. However, you should definitely consider Observable Framework if you want to manage your own code repository. With Framework, you can code markdown files (like notebooks…) in your own (file-based) editor and sync to a GitHub repo. You can then also deploy those easily to your Observable workspace. (Just mentioning that here, since I think that would work well for a case where you want to manage your Observable code outside the platform).

Thank you for this answer – I’ve spent the last few hours reviewing “framework” and it looks like a good fit.

1 Like