* initial
* save work, starting to add backend types
* save work
* save work
* Add EphemeralWriteCloser
* Command pipes thru, triggers infinite loop
* save debugging
* fix bad merge
* save debug statements
* fixing spaghetti
* clean up code
* got cwd override working
* Add separate paths for stdout and stderr writers
* fix stdout/stderr
* env vars are now working
* revert waveshell changes
* Making EphemeralWriteCloser into a more generic BufferedPipe
* formatting
* comment
* delete unused package
* more naming changes
* add package comment
* add UsePty to EphemeralRunOpts
* document UsePty
* ensure only one downstream writer can read from the buffer
* store pointer to syncs
* remove inshellisense stuff for now
* remove debugs
* revert yarn
* remove unnecessary debugs in main-server
* more debugging removed
* revert tsconfig
* remote statemap from waveshell server (diff against initial state)
* move ShellStatePtr from sstore to packet so it can be passed over the wire
* add finalstatebaseptr to cmddone
* much improved diff computation code on wavesrv side
* fix displayname -- now using hash
* add comments, change a couple msh.WriteToPtyBuffer calls to log.Printfs
* working on re-init when you create a tab. some refactoring of existing reinit to make the messaging clearer. auto-connect, etc.
* working to remove the 'default' shell states out of MShellProc. each tab should have its own state that gets set on open.
* refactor newtab settings into individual components (and move to a new file)
* more refactoring of tab settings -- use same control in settings and newtab
* have screensettings use the same newtab settings components
* use same conn dropdown, fix classes, update some of the confirm messages to be less confusing (replace screen with tab)
* force a cr on a new tab to initialize state in a new line. poc right now, need to add to new workspace workflow as well
* small fixups
* remove nohist from GetRawStr, make const
* update hover behavior for tabs
* fix interaction between change remote dropdown, cmdinput, error handling, and selecting a remote
* only switch screen remote if the activemainview is session (new remote flow). don't switch it if we're on the connections page which is confusing. also make it interactive
* fix wording on tos modal
* allow empty workspaces. also allow the last workspace to be deleted. (prep for new startup sequence where we initialize the first session after tos modal)
* add some dead code that might come in use later (when we change how we show connection in cmdinput)
* working a cople different angles. new settings tab-pulldown (likely orphaned). and then allowing null activeScreen and null activeSession in workspaceview (show appropriate messages, and give buttons to create new tabs/workspaces). prep for new startup flow
* don't call initActiveShells anymore. also call ensureWorkspace() on TOS close
* trying to use new pulldown screen settings
* experiment with an escape keybinding
* working on tab settings close triggers
* close tab settings on tab switch
* small updates to tos popup, reorder, update button text/size, small wording updates
* when deleting a screen, send SIGHUP to all running commands
* not sure how this happened, lineid should not be passed to setLineFocus
* remove context timeouts for ReInit (it is now interactive, so it gets canceled like a normal command -- via ^C, and should not timeout on its own)
* deal with screen/session tombstones updates (ignore to quite warning)
* remove defaultfestate from remote
* fix issue with removing default ris
* remove dead code
* open the settings pulldown for new screens
* update prompt to show when the shell is still initializing (or if it failed)
* switch buttons to use wave button class, update messages, and add warning for no shell state
* all an override of rptr for dyncmds. needed for the 'connect' command (we need to set the rptr to the *new* connection rather than the old one)
* remove old commented out code
* fix error logs in scws
* new RpcFollowUpPacketType
* make the rpc/followup handlers generic on the server side -- using new RpcHandlers map and RpcFollowUpPacketType
* rpcinputpacket for passing user input back through to reinit command
* add WAVETERM_DEV env var in dev mode
* remove unused code, ensure mshell and rcfile directory on startup (prevent root clobber with sudo)
* combine all feinput into one function msh.HandleFeInput, and add a new concept of input sinks for special cases (like reinit)
* allow reset to accept user input (to get around interactive initialization problems)
* tone down the selection background highlight color on dark mode. easier to read selected text
* fix command focus and done focus issues with dynamic (non-run) commands
* add 'module' as a 'rtnstate' command (#478)
* reinitialize shells in parallel, fix timeouts, better error messages
* reset command now initiates and completes async so there is feedback that something is happening when it takes a long time
* switch from standard rpc to rpciter
* checkpoint on reinit -- stream output, stats packet, logging to cmd pty, new endBytes for EOF
* make generic versions of endbytes scanner and channel output funcs
* update bash to use more modern state parsing (tricks learned from zsh)
* verbose mode, fix stats output message
* add a diff when verbose mode is on
* fix exitcode return to handle signals correctly -- use bash convention of 128 + signum. don't show red error mask for SIGINT or SIGPIPE
* dont show left border for errors unless selected
* remove two unused packet types, remove unused detatched command code
* CmdStart is invalid in this command loop
* slight refactor, remove closure funcs
* pass rct through to 'handle' funcs
* deal with rct (running command), update handler funcs accordingly
* update for runningcmdtype to be a pointer in the map (for updates)
* lots of changes related to ephemeral commands (for sync), checkpoint
* fix ephemeral setting
* sync shell state when you switch to a new tab
* checkpoint some ideas on a new branch
* checkpoint on new errors / errorcode passing
* get CodedError piped all the way through to infomsg
* implement a /reset:cwd command to deal with cases when the cwd is invalid. other assorted debugging, utility, and fixups
* on invalid cwd, show message to run /reset:cwd
* first pass of copy file
* first pass fixing up function
* fleshed out copy function, still working on display and parameters
* implemented scp like syntax
* finished implemententation of copy file - there are still issues
* more bug fixes, still running into error
* pushing waveshell concurrency and channel fixes - still need to do some qol fixes before merge
* aesthetic fixes and removed logs
* fixed bug in GetRemoteRuntimeState
* formatting small fix
* fixed pretty print bytes
* added local to local command
* small fix removing workaround
* added workaround back
* added some logs for debug
* added some more logs
* quick bug fix for update cmd race condition
* added fix for race condition
* added some more logs for debugging
* fixed up logs
* added proper fe state for dest parameter
* implemented setting status indicator output
* first pass at updating status indicators
* removed logs and small fix ups
* removed whitespace
* addressed review comments