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]

Reply via email to