pltrant / GSL-Editor

GSL Editor extension for Visual Studio Code
GNU General Public License v3.0
1 stars 2 forks source link

2024 04 06 updates #47

Closed abirmingham closed 5 months ago

abirmingham commented 6 months ago

Commits

  1. Add debug support to Launch Extension task. Adds ability to set breakpoints.
  2. Add npm run watch. Makes ./node_modules/.bin/tsc --watch more discoverable/accessible.
  3. Serialize client operations with the game server. I've been working on this one for awhile, as I think it's important that we can safely assume that game client operations are not interleaving. This is especially important for adding the status bar button that monitors if the active script is out of date, because it is yet another consumer of the editor client. This commit also separates user messaging (popups and status bar messaging) from command implementation logic. As noted in the commit message, I think there's still a ways to go here, but this feels like a step in the right direction in terms of a separation of concerns.
  4. Add hover tips for callmatch script numbers. See GIF at bottom.
  5. Update "instances out of sync" message in response to user feedback that this was confusing/concerning.
  6. Fix syntax highlighting for node field references for msg, prempt, and msgw.
  7. Fix "go to definition" on files with inconsistent line endings.
  8. Update package*json
  9. Add status bar button that monitors if the active script is out of date.
  10. Add "Frozen" status bar warning to indicate that active script has been marked frozen with /FREEZE.
  11. Fix a bug where accounts with >12 characters wouldn't be shown "instances out of sync" message.
  12. Avoid unnecessary calls to /ss checkedit.
  13. Gracefully degrade on failed /ss checkedit. /ss checkedit errors should be very rare now that an earlier bug was fixed, but if they do happen it shouldn't constitute a download failure. Also reduces timeout on /ss checkedit so that the user isn't waiting as long.
  14. Fix an issue where the client wouldn't reconnect.
  15. Add modified time to script upload confirmation.
  16. Fix text on an error message.

See commit messages for more details.


Revised "instances out of sync" message:

image


New feature - hover tips for callmatch script numbers:

hover-script-num


Bug fix - syntax highlighting fix:

image

image


New feature - button that monitors if the active script is out of date:

Code_qh7bTVY7y0


New feature - status bar item that monitors if the active script is marked as frozen per /FREEZE:

Code_TpHiVj3eJA

abirmingham commented 6 months ago

EDIT: asked a question about output.peek(5) === '001] ', but figured it out :)

abirmingham commented 6 months ago

Quick update on this. I'm going to do a review of all the code, which won't take long. After that I'll be kicking the tires / dogfooding, running this branch locally for a week or two. After that time - assuming it's stable - I'll mark this as ready for review / remove the draft label.

abirmingham commented 5 months ago

I've kicked the tires on this sufficiently that I'm removing the draft label and marking this as ready for review.

abirmingham commented 5 months ago

Converting to draft until /ss checkedit timeout bug is fixed.