You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we keep the document buffers on the client and send the full file contents back and forth on save and some other operations (LSP). This is, of course, a bit naive and needs improvements.
I propose that we move the resources and documents to the backend, such that the communication between the monaco model and the backend documents will go through text edits and versioned documents. The contents only should need to be transferred once, when opening an editor. Fetching contents could be done through a regular GET, such that we don't need to wrap large files in JSON objects, hence can omit the parsing. The language clients could be moved to the backend, too.
The text was updated successfully, but these errors were encountered:
Before we go down that road, which will change some important parts in the architecture, we would like to try improving the protocol in the fs, to work with incremental changes.
The idea is that we
fetch the contents on open once (through GET)
use hashes to communicate and compare document contents in file changes
send text edits instead of full contents on change
Currently, we keep the document buffers on the client and send the full file contents back and forth on save and some other operations (LSP). This is, of course, a bit naive and needs improvements.
I propose that we move the resources and documents to the backend, such that the communication between the monaco model and the backend documents will go through text edits and versioned documents. The contents only should need to be transferred once, when opening an editor. Fetching contents could be done through a regular GET, such that we don't need to wrap large files in JSON objects, hence can omit the parsing. The language clients could be moved to the backend, too.
The text was updated successfully, but these errors were encountered: