Skip to content
Merged

Dev #91

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2eb9450
Docs: reformat.
bjones1 Nov 17, 2025
5990b08
Fix: Update OS to latest, to avoid old GLIBC errors. See #87.
bjones1 Nov 17, 2025
b6d9d03
Fix: reformat and update changelog.
bjones1 Nov 17, 2025
f0ca24f
Docs: add draw.io, put Mermaid diagram first.
bjones1 Nov 17, 2025
97787e0
Fix: block drag and drop of images.
bjones1 Nov 17, 2025
2c428db
Fix: disallow drag-and-drop of images.
bjones1 Nov 17, 2025
6c8f633
Fix: send autosave data when doc blocks receive focus.
bjones1 Nov 17, 2025
50c5446
Docs: fix image placement.
bjones1 Nov 17, 2025
033f31f
Docs: Rethink approach to file sync.
bjones1 Nov 20, 2025
edc4e8d
Refactor: produce more coherent errors.
bjones1 Nov 20, 2025
b9bd125
Fix: improve process control to work around test failures.
bjones1 Nov 20, 2025
fe7fc66
Refactor: more coherent errors.
bjones1 Nov 21, 2025
da27047
Feat: rewrite sync system to use versions instead of sync status.
bjones1 Nov 24, 2025
22ff197
Fix: export JavaScript bindings before compiling the VSCode extension.
bjones1 Nov 24, 2025
747cb21
Fix: better error reporting in the VSCode extension.
bjones1 Nov 24, 2025
c16f312
docs: changelog updates.
bjones1 Nov 24, 2025
8a51c77
Fix: ignore test that fails intermittently on Mac.
bjones1 Nov 24, 2025
2c346cc
Refactor: split translation function into subfunctions.
bjones1 Nov 25, 2025
0ac7ff1
wip - Fix: update Client with changes produced during translation.
bjones1 Nov 25, 2025
44994a8
wip: translate update
bjones1 Dec 2, 2025
951450c
Clean: use constants where possible.
bjones1 Dec 3, 2025
126d269
Fix: add missing awaits.
bjones1 Dec 3, 2025
ed662cf
Clean: imports in integration tests.
bjones1 Dec 3, 2025
fde9b8e
Fix: correctly break update cycle.
bjones1 Dec 3, 2025
60eb82f
Fix: use whole numbers for version, instead of numbers with fractiona…
bjones1 Dec 3, 2025
510bad3
Fix: allow external edits when the Client has focus.
bjones1 Dec 3, 2025
09f7928
Fix: correct handling of IDE and user edits.
bjones1 Dec 3, 2025
1d07a0d
Fix: handle rapid user edits.
bjones1 Dec 4, 2025
0d23d05
UI: show errors longer.
bjones1 Dec 4, 2025
b29ff9e
Fix: avoid sending selection updates after receiving one.
bjones1 Dec 4, 2025
32bdd9e
Fix: update tests.
bjones1 Dec 4, 2025
76cb833
Clean: remove debug code.
bjones1 Dec 4, 2025
3058639
Clean: lints.
bjones1 Dec 4, 2025
bd0501c
Freeze for release.
bjones1 Dec 4, 2025
bb22c25
Fix: specify webdriver resolution to ensure enough width so that a fu…
bjones1 Dec 4, 2025
7cb3180
Fix: use specific key for macos.
bjones1 Dec 4, 2025
19d6373
Fix: only use debug logging in debug builds.
bjones1 Dec 4, 2025
5816a3f
Fix: add in expected cursor/scroll updates after an autosave delay.
bjones1 Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{
"name": "Rust",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/rust:1-1-bullseye",
"image": "mcr.microsoft.com/devcontainers/rust:latest",
// Use 'mounts' to make the cargo cache persistent in a Docker Volume.
// "mounts": [
// {
Expand Down
403 changes: 212 additions & 191 deletions CHANGELOG.md

Large diffs are not rendered by default.

43 changes: 26 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ Likewise, the path to local images is relative to the current file's location
| ----------------------------------- | --------------------------------- |
| `![Monitor icon](docs/monitor.png)` | ![Monitor icon](docs/monitor.png) |

Although the CodeChat Editor allows drag-and-drop of images, the result is a
mess -- the image data is embedded directly in the source file. Avoid this;
instead, place images in a separate file, then reference them as shown above.
The CodeChat Editor disallows drag-and-drop of images, the result is a mess --
the image data is embedded directly in the source file. Avoid this; instead,
place images in a separate file, then reference them as shown above.

Projects
--------------------------------------------------------------------------------
Expand Down Expand Up @@ -142,31 +142,31 @@ following characters should be escaped: `*`, `_`, `\`, `[`, `]`, `<`.
Diagrams
--------------------------------------------------------------------------------

### Graphviz
### Mermaid

The CodeChat Editor contains rudimentary support for diagrams created by
[Graphviz](https://graphviz.org/). For example,
[Mermaid](https://mermaid.js.org/). For example,

| Source | Rendered |
| ----------------------------------------------------- | ------------------------------------------------------ |
| `<graphviz-graph>digraph { A -> B }</graphviz-graph>` | <graphviz-graph>digraph { A -&gt; B }</graphviz-graph> |
| Source | Rendered |
| --------------------------------------------- | ------------------------------------------- |
| `<wc-mermaid>graph TD; A --> B;</wc-mermaid>` | <wc-mermaid>graph TD; A --> B;</wc-mermaid> |

To edit these diagrams, use an
[HTML entity encoder/decoder](https://mothereff.in/html-entities) and a Graphviz
editor such as [Edotor](https://edotor.net/).
[HTML entity encoder/decoder](https://mothereff.in/html-entities) and the
[Mermaid live editor](https://mermaid.live/).

### Mermaid
### Graphviz

The CodeChat Editor contains rudimentary support for diagrams created by
[Mermaid](https://mermaid.js.org/). For example,
[Graphviz](https://graphviz.org/). For example,

| Source | Rendered |
| --------------------------------------------- | ---------------------------------------------- |
| `<wc-mermaid>graph TD; A --> B;</wc-mermaid>` | <wc-mermaid>graph TD; A --&gt; B;</wc-mermaid> |
| Source | Rendered |
| ----------------------------------------------------- | --------------------------------------------------- |
| `<graphviz-graph>digraph { A -> B }</graphviz-graph>` | <graphviz-graph>digraph { A -> B }</graphviz-graph> |

To edit these diagrams, use an
[HTML entity encoder/decoder](https://mothereff.in/html-entities) and the
[Mermaid live editor](https://mermaid.live/).
[HTML entity encoder/decoder](https://mothereff.in/html-entities) and a Graphviz
editor such as [Edotor](https://edotor.net/).

### PlantUML

Expand All @@ -181,6 +181,15 @@ To edit these diagrams, paste the URL into the
[PlantUML web server](https://www.plantuml.com/plantuml/uml), click Decode URL,
edit, then copy and paste the SVG URL back to this file.

### Drawing programs

Images files produced by drawing programs can be included, as long as they can
be saved in a web-compatible format (PNG, SVG, JPG, GIF, etc.). For example, the
draw.io editor embeds source data into the resulting image, so the image below
can be directly edited by that package:

![](docs/sample_diagram.drawio.svg)

<a id="supported-languages"></a>Supported languages
--------------------------------------------------------------------------------

Expand Down
20 changes: 10 additions & 10 deletions builder/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions builder/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -510,8 +510,6 @@ fn run_build() -> io::Result<()> {
cargo build --manifest-path=$BUILDER_PATH/Cargo.toml;
info "cargo build";
cargo build;
info "cargo test export_bindings";
cargo test export_bindings;
)?;
// Clean out all bundled files before the rebuild.
remove_dir_all_if_exists(format!("{CLIENT_PATH}/static/bundled"))?;
Expand All @@ -528,7 +526,7 @@ fn run_client_build(
// checks.
skip_check_errors: bool,
) -> io::Result<()> {
// Ensure the JavaScript data structured generated from Rust are up to date.
// Ensure the JavaScript data structures generated from Rust are up to date.
run_cmd!(
info "cargo test export_bindings";
cargo test export_bindings;
Expand Down Expand Up @@ -632,6 +630,12 @@ fn run_extensions_build(
}
run_script("npx", &napi_args, VSCODE_PATH, true)?;

// Ensure the JavaScript data structures generated from Rust are up to date.
run_cmd!(
info "cargo test export_bindings";
cargo test export_bindings;
)?;

// The main build for the extension.
run_script(
&esbuild,
Expand Down
12 changes: 6 additions & 6 deletions client/package.json5
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@
codemirror: '^6.0.2',
'graphviz-webcomponent': 'github:bjones1/graphviz-webcomponent#dist',
mathjax: '4.0.0',
mermaid: '^11.12.1',
mermaid: '^11.12.2',
'npm-check-updates': '^19.1.2',
'pdfjs-dist': '^5.4.394',
'pdfjs-dist': '^5.4.449',
tinymce: '^8.2.2',
'toastify-js': '^1.12.0',
},
Expand All @@ -78,16 +78,16 @@
'@types/mocha': '^10.0.10',
'@types/node': '^24.10.1',
'@types/toastify-js': '^1.12.4',
'@typescript-eslint/eslint-plugin': '^8.46.4',
'@typescript-eslint/parser': '^8.46.4',
'@typescript-eslint/eslint-plugin': '^8.48.1',
'@typescript-eslint/parser': '^8.48.1',
chai: '^6.2.1',
esbuild: '^0.27.0',
esbuild: '^0.27.1',
eslint: '^9.39.1',
'eslint-config-prettier': '^10.1.8',
'eslint-plugin-import': '^2.32.0',
'eslint-plugin-prettier': '^5.5.4',
mocha: '^11.7.5',
prettier: '^3.6.2',
prettier: '^3.7.4',
typescript: '^5.9.3',
},
scripts: {
Expand Down
Loading