* working on an in-memory store for screen information
* nostrpos sentinel
* textareainput now tracks selection (to update backend)
* make websocket connections much safer. add a defer/panic handler for each ws message handled on backend. don't allow client to reconnect to backend ws handler more than once per second (handles issue with lots of fast fails)
* use onSelect to have frontend textarea sync state to backend ScreenMem store
* restore cmdline when switching screens
* prettier
* take a stab at fixing #99. ignore invalid output before we see a real packet. the complication here was ensuring we always output a real packet in every flow so we don't actually lose valid errors.
* add ping packets to prime the parser (when in ignoreUntilValid mode)
* work on basic sidebar layout
* fix more golang warnings
* sidebar open/close
* add ability to set width of split
* sidebar add and remove, set width, etc.
* almost working sidebar implementation -- still needs height/width, input control, and bug with initial add, but getting there
* add isSidebarOpen() method
* fix resize jump -- must set width in error handler as well (before window is loaded)
* sidebar UI touchups and help
* more sidebar progress, render more like regular lines, just in the right column
* merge
* move migration to 26
* simplify sidebar types
* checkpoint
* proxy things through parent screen object for sidebar
* checkpoint, add/remove from sidebar
* work on add/remove icons for sidebar
* fix height calculation, remove close button
* bring back close button when no line is selected
* add sidebar flag to run command to run new command output in sidebar
* implement 'sidebar' kwarg in eval. this lets sidebar work for slashcommands as well that produce lines (codeedit, mdview, etc.)
* prettier
* minor fixes
* working on resizing. must exclude sidebar entries and send separate resize events based on size of sidebar (implement exclude / include for resize)
* fix sidebar terminal command resizing
* add sidebar header (toggles for half/partial width and close). add hotkey to open/close sidebar (Cmd-Ctrl-S). more robust calculation for sidebar width. add width validation. minimum sidebar width is 200px. other fixes, etc.
* wrote client code for communicating with lambda cloud
* Added timeout functionality, added check for telemetry enabled for clouod completion, added capability to unset token, other small fixes
* removed stale prints and comments, readded non stream completion for now
* changed json encode to json marshal, also testing my new commit author
* added no telemetry error message and removed check for model in cloud completion
* added defer conn.close() to doOpenAIStreamCompletion, so websocket is always closed
* made a constant for the long telemetry error message
* added endpoint getter, made errors better
* updated scripthaus file to include dev ws endpoint
* added error check for open ai errors
* changed bool condition for better readability
* update some error messages (use error message from server if returned)
* dont blow up the whole response if the server times out. just write a timeout message
* render streaming errors with a new prompt in openai.tsx (show content and error). render cmd status 'error' with red x as well. show exitcode in tooltip of 'x'
* set hadError for errors. update timeout error to work with new frontend code
* bump client timeout to 5 minutes (longer than server timeout)
---------
Co-authored-by: sawka
* back-end implementation. initial ui implementation
* rough implementation of drag and drop
* wrap with AnimatePresence
* persist screen order
* cleanup
* return all screens when updating indices
* remove y axis anitation
* remove debugging code
* chain filtering and sorting logic
* remove unused var
* fix issue where tabs shift to left on hover
* fix tabElem scroll into view regression
* clear scrollIntoViewTimeout when component unmounts
* remove borken style prop
* completely remove animation related props
* scroll into view only when there's a new tab
* minor comment fix
* resolvePosInt() to resolve index
* move tab width const to magiclayout.ts
* move back scroll into view code as it was before
* clear timout
* refactor setTimeout
* remov debugging codes
* format cmdrunner.go
* move clearTimeout
* remove wheel event listener
* switch emain to using the bash from PATH, not defaulting to /bin/bash. not convinced this fixes#132 yet because the PATH set for MacOS applications is not set from .bash_profile or .zprofile. those seem to be set with launchctl setenv.
* move MacUserShell() func to shexec. use dscl UserShell output as bash path on MacOS when present. fixes#132
* fix ability to log into ssh with key and password
A previous refactor to the ssh password system broke the ability to use
key+password to log in. This change handles key+password as a special
case allowing it to be handled separately.
* clean up unnecessary print
My last change left in a debug print that wasn't necessary in the code.
This has been removed.
* allow @ symbol in user for ssh connections
Previously, the @ symbol was only used as a way to either:
- separate the user from the host
- separate "sudo" from the user
This change expands this to allow the username part of
sudo@username@host or username@host to contain any number of @ symbols
in addition to the ones previously allowed. Host is not allowed to
contain an @ symbol as per the usual definition.
* clean up regex changes
Moved the dash in the regex pattern to the end to make it explicitly
clear that it isn't part of a range.
Removed the hostNameRe regex as it is unused.
* fix clear so it doesn't archive running commands
Clear previously archived every command that existed in the current tab.
This change alters this behavior so the commands with a status of running
or detached are not archived by clear. As things currently stand,
detached is not used so the only immediate effect will be with running
commands. As before, the clear command only affects the current tab.
* remove unnecessary print
A print statement for debug still existed in the ArchiveScreenLines
function. It has been removed.
* remove isWebShare from ArchiveScreenLines
The isWebShare feature is currently unused and there is not a plan to
add it back soon. For this reason, it has been removed from the
ArchiveScreenLines function.
* clean up query formatting
* init
* init
* error handling
* use css
* minor improvements
* fix some issues and tabicon init
* show error indicator when empty and is required
* debounce input
* fix decorator linting issue
* icon system init
* fix bugs
* color custom icons and fix regression
* remove debugging code
* remove @tab-magenta. fix formatting.
* swap magenta for mint
* change tab color order
* init
* telemetry toggle
* finish styling and functionality
* remove unused style
* rever some styles
* use goroutine in sending telementry updates
* remove wave-modal class from AlertModal
* icons and button state fixes
* minor change with goroutines
* use default cursor not not-allowed