* 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
* init
* use setStyleVar
* backend implementation. scrope level terminal theming.
* only invoke this.applyTermTheme for keys that are updated. command runner for global term theme
* invoke applyTermTheme for global terminal themes as well
* fix nil error
* fix issue were theme can't be found
* fix issue where selected termtheme is not set as default value
* term theme switcher for session
* do not force reload after setting css vars
* fix issues. screenview terminal theme switcher
* remove debugging code
* move getTermThemes to util
* fix global theme reset
* fix workspace theme reset
* fix screenview terminal theme reset issue
* cleanup
* do not apply theme if theme hasn't changed
* do not apply theme if theme hasn't changed in workspace view
* cleanup
* cleanup
* force reload terminal
* fix inconsistency
* fix reset issue
* add a mobx reaction so that theming working when switching sessions
* workig reset
* simplify and cleanup
* refactor
* working global and session terminal theming
* add check
* perf improvement
* more perf improvements
* put reaction componentDidUpdate to make sure ref is already associated to the element
* cleanup
* fix issue where session theme is overriden by global theme on reload
* reduce flickering on reload
* more on reducing flickering on reload
* cleanup
* more cleanup
* fix file not found when no global theme is set
* screen level terminal theming
* update comment
* re-render terminal in history view. cleanup.
* cleanup
* merge main
* 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
* added domain callback for every layer
* added domain callback for every layer
* switched dump logs to false
* dropdown fixes
* moved uuid back to constructor
A recent change made it possible to get stuck in a loop when connecting
to a remote. This reverts the part of it that caused this while
retaining the other behavior. This makes it possible to add to blank
known_host files again. It also adds a printout to display when a
connection is complete.
Previously, .wave-button had `display: block;` overwriting the expected
`display: flex;`. This resulted in buttons with an icon being aligned
vertically instead of horizontally. This change removes the undesired
`display: block;` so the buttons are formatted horizontally again.
* upped max length
* added client:get and client:info, upped max length of baseurl
* added openai prefix for consistency
* updated client:show command and removed client:get and client:info
* Add overlay scrollbar to left sidebar
* Keep active session bolded when mainview is not session
* fix color of scrollbar
* swap expression args
* add active color for scrollbar
* add active/highlight to history, connections, and settings
* 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
* save work
* Add native theme support
* update index
* update var name
* remove comment
* fix code setting
* bump render version on change
* remove themeutil
* added term keybindings
* removed logs and added a dump logs flag in keyutil
* un capture keys that we aren't using
* moved keybindings to inside terminal
* added utils to get all of the keybinds and pretty print them, for display purposes
* added info section
* clarifying meta and alt behavior
* changed keybinduidescription to keybind config
* first draft at modal keybindings
* added modal keybindings and inline settings text edit keybindings
* added switch for keybindings in modal footer
* removed logs
* remove another console.log
* fix userinput keybindings -- should be generic:cancel for 2nd one
* first commit for textarea keybindings
* added empty onkeydown to get around default behavior for now
* added history keybindings
* removed tab special case
* fix two small issues with keybindings