scholarsmate commented on issue #824: URL: https://github.com/apache/daffodil-vscode/issues/824#issuecomment-1694362422
I added specific test cases for empty, single-byte, and two-byte files to the Ωedit™ test suite (https://github.com/ctc-oss/omega-edit/pull/731) and the tests pass. @arosien, Ωedit™ doesn't use lock files, nor any transient data, but it does use IP ports, and PID files. All the server management code is in the client (https://github.com/ctc-oss/omega-edit/blob/main/packages/client/src/server.ts). A review of that code would be welcome. I've been relying on the operating system to kill running servers, though I have attempted to shutdown the server using an API instead, but haven't gotten them to pass the test cases (https://github.com/ctc-oss/omega-edit/issues/606). I have also been thinking about having the server timeout and shutdown if it hasn't received a heartbeat request from the client after some amount of time to handle the case where VSCode gets shutdown hard. It _should_ be possible to reconnect to a session given the same session ID, though that logic hasn't been put in the extension. The extension just attempts to create a new session each time and not attempt a reconnect/reload. It's not too hard to log (persist to storage) all the change requests that come into Ωedit™ and replay them in another instance. I have example code that does just that, playing and replaying session changes, using JSON as the serialization format (because it's easy to read and manipulate, but for production we'd want to use something different). By default though it's not logging all change requests and changes are being held in memory. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
