observablehq / observablehq/notebook-kit

Show new notebook contents when file is changed "from the outside"

Open
#142 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
371
Forks
27
Avg merge
3h 52m
Merged PRs (30d)
1

Description

If a notebook is open in Observable Desktop and the notebook file is contemporaneously edited and saved in another editor (eg. Zed), a subsequent refresh inside of Observable Desktop will still show the old contents, and edits inside Observable desktop will overwrite the external edits.

It would be nice if changes from the outside were reflected in the Observable Desktop editor.

For example, if a notebook consists of

<!doctype html>
<notebook theme="air">
  <title>Untitled</title>
  <script id="1" type="text/markdown">
    # Untitled
  </script>
</notebook>

and I externally change it to

<!doctype html>
<notebook theme="air">
  <title>Titled</title>
  <script id="1" type="text/markdown">
    # Titled
  </script>
</notebook>

then refresh (cmd+R) in Observable Desktop, I continue to see "Untitled", and any subsequent edits in the Observable Desktop editor will overwrite the edited file.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in Observable Desktop: open a notebook, edit and save the file in another editor, then refresh with cmd+R. Trace the notebook file loading and refresh behavior; done means external changes appear in the editor and later Desktop edits no longer overwrite them.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.