-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AST-diffing for text edits #8238
Comments
Keziah Wesley reports a new STANDUP for today (2024-02-01): Progress: Implemented the bottom-up part of the text sync algorithm. It should be finished by 2024-02-07. Next Day: Next day I will be working on the #8238 task. Connect CM edits to the graph store via new text/AST sync. |
Keziah Wesley reports a new STANDUP for today (2024-02-02): Progress: Introduced a replacement for reactive modules to fix a glitch affecting the new text operations. It should be finished by 2024-02-07. Next Day: Next day I will be working on the #8238 task. Enable CodeMirror edits. |
Changes in preparation for #8238 features. # Important Notes Changed edit APIs: - **`graph.astModule` is deprecated.** It will be removed in my next PR. - Prefer `graph.edit` to start and commit an edit. - Use `graph.startEdit` / `graph.commitEdit` if the edit can't be confined to one scope.
Introduce `SourceDocument`, a reactive source code representation that can be synced from a `MutableModule`. `SourceDocument` replaces various logic for tracking source code and spans--most importantly, `ReactiveModule`. There is no longer any reactively-tracked `Module`, per-se: Changes to the `MutableModule` attached to the synchronized `ydoc` are pushed as Y.Js events to the `SourceDocument` and `GraphDb`, which are reactively tracked. This avoids a problem in the upcoming text-synchronization (next PR) that was caused by a reactive back channel bypassing the `GraphDb` and resulting in observation of inconsistent states. Stacked on #8956. Part of #8238.
Keziah Wesley reports a new STANDUP for yesterday (2024-02-05): Progress: Fixed Next Day: Next day I will be working on the #8238 task. Look at focus problems. |
Keziah Wesley reports a new STANDUP for today (2024-02-06): Progress: Fixed focus issues. Fixed diagnostics range exceptions. Added backpressure to batch rapid CodeEditor updates. CodeEditor is now usable. It should be finished by 2024-02-07. Next Day: Next day I will be working on the #8238 task. Add span-based sync scope reduction for edit-node identity stability and better performance. |
Keziah Wesley reports a new STANDUP for yesterday (2024-02-07): Progress: Debugged scrollbar focus issue. Working on edited-node stability. It should be finished by 2024-02-07. Next Day: Next day I will be working on the #8238 task. Finish edited-node stability. |
Keziah Wesley reports a new 🔴 DELAY for yesterday (2024-02-08): Summary: There is 2 days delay in implementation of the AST-diffing for text edits (#8238) task. Delay Cause: Issue includes redesigning a complex GUI1 algorithm, fixing a lot of UI issues in the Code Editor setup, and AST support for the new code-edits algorithm. Possible solutions: I've been delivering the implementation in incremental PRs. |
Keziah Wesley reports a new STANDUP for yesterday (2024-02-08): Progress: Working on using text-edit inputs to narrow the scope of AST changes. It should be finished by 2024-02-09. Next Day: Next day I will be working on the #8238 task. Finish code editor PR. |
Keziah Wesley reports a new STANDUP for the provided date (2024-02-09): Progress: Debugging focus/cursor issue. It should be finished by 2024-02-09. Next Day: Next day I will be working on the #8238 task. Finish code editor PR. |
Keziah Wesley reports a new 🔴 DELAY for yesterday (2024-02-12): Summary: There is 5 days delay in implementation of the AST-diffing for text edits (#8238) task. Delay Cause: Debugging many problems with our current CodeMirror integration besides implementing the new text sync algorithm. |
Keziah Wesley reports a new STANDUP for yesterday (2024-02-12): Progress: Found a problem with current linter invalidation and fixed it. Prepared a PR implementing the bulk of the changes so far, before the smaller but more complex PR for the new text-edits algorithm. It should be finished by 2024-02-14. Next Day: Next day I will be working on the #8238 task. Debug remaining UI issue, and PR new text-edits algorithm. |
Keziah Wesley reports a new STANDUP for today (2024-02-13): Progress: Fixed the blocker CodeMirror-integration bug. Refactored and documented new algorithm, wrote tests, and finished PR. It should be finished by 2024-02-13. Next Day: Next day I will be working on the #8139 task. Start work on edge layering. |
Keziah Wesley reports a new 🔴 DELAY for today (2024-02-15): Summary: There is 3 days delay in implementation of the AST-diffing for text edits (#8238) task. Delay Cause: Review lag. Possible solutions: None needed. Worked on another issue in the meantime. |
Keziah Wesley reports a new STANDUP for today (2024-02-15): Progress: Implemented review changes for code editor. It should be finished by 2024-02-16. Next Day: Next day I will be working on the #8238 task. Probably more review |
Keziah Wesley reports a new STANDUP for the last Friday (2024-02-16): Progress: Fixed remaining identity-stability issues discovered in testing (mostly caused by false write conflicts). It should be finished by 2024-02-16. Next Day: Next day I will be working on the #8238 task. Start next issue. |
Design/implement diff algorithm for preserving AST node identities when source code is edited as text. Depends on #8236, then #8237 should be implemented first.
The text was updated successfully, but these errors were encountered: