Commit Graph
867 Commits
Author SHA1 Message Date
Evan Simkowitz 4384525ca6 Remove "main" window concept from emain.ts (#651)
This continues the work to unblock multiple window support. `emain.ts`
now contains no more references to a "main" window, instead all event
handlers will dispatch to either the window that triggered the event,
the currently focused window, or the first window to be spun up.
2024-05-06 13:43:27 -07:00
Evan Simkowitz 46b9c22f10 Remove barriers to supporting multiple windows (#647) 2024-05-03 13:41:53 -07:00
Evan Simkowitz 9b1f5a2abd Ensure the auto update checker runs every hour (#645)
The hour long interval that I set was being subjected to background
throttling and wasn't reliably getting invoked. I am shortening the
inteval to 10 mins and adding a check within it to see if an hour has
passed since the last update check. I am also running the same logic
every time the main window is activated. This should ensure that the
auto update check happens more reliably and not just on first launch.
2024-05-02 18:02:47 -07:00
Mike Sawka 9a825761da merge v0.7.4 and v0.7.5 changes back into main (#644) 2024-05-02 16:17:38 -07:00
Sylvie Crowe 167277ec11 Rename Waveshell First Pass (#632)
This begins the process of renaming mshell to waveshell everywhere by
making the most simple changes. There will need to be additional changes
in the future, but the hope is to merge simple changes in now to reduce
the number of future merge conflicts.
2024-05-02 14:16:00 -07:00
Evan Simkowitz ea0cf62b67 Replace classnames with clsx (#634)
[`clsx`](https://www.npmjs.com/package/clsx) is a drop-in replacement
for `classnames` that is a quarter of the size and is faster.
2024-05-02 11:40:44 -07:00
Evan Simkowitz 7e350fce97 Fix RotateIcon so it actually binds a ref for SyncSpin to use (#635)
RotateIcon wasn't actually binding the ref that it was passing to SyncSpin, meaning it wasn't actually syncing properly. This fixes that, along with making SyncSpin compatible with more than just div types
2024-05-01 20:28:44 -07:00
Evan Simkowitz 53ec767bc7 Make icons functional components (#629)
They are very simple, self-contained components, making them good
candidates to be converted to functional components
2024-05-01 20:14:44 -07:00
Mike Sawka 03cdc067e7 cmdinput keybindings (#627) 2024-04-30 18:44:40 -07:00
Evan Simkowitz e1a931056c Fix the sidebar X target so that there isn't a weird padding that shows the pointer cursor (#626) 2024-04-30 18:12:21 -07:00
Cole Lashley f6881cf380 Ai chat select fix (#622) 2024-04-30 17:16:03 -07:00
Evan Simkowitz 345356d8d4 Make connections modal scrollable (#623) 2024-04-30 16:43:47 -07:00
Evan Simkowitz a16e01f73b Make Client Settings and connections views scrollable, fix regression in unused bookmarks feature (#621)
Makes clientsettings scrollable, adds an option for mainview to wrap the
mainview-content in an OverlayScrollbarsComponent
2024-04-30 16:05:49 -07:00
Mike Sawka 8c63be4ea0 fix cmdinput cursor positioning on mount (#620) 2024-04-30 14:28:52 -07:00
Evan Simkowitz 35e0488f7b Call makeObservable for all cmdInput classes (#619) 2024-04-30 13:58:54 -07:00
Evan Simkowitz c6a8797ddd Break out non-autocomplete changes from autocomplete PR (#618)
This improves the ephemeral command runner to allow for honoring of
timeouts and proper handling of overriding the current working
directory. It also fixes some partially transparent font colors in light
mode, making them solid instead. It also updates the InputModel to be
auto-observable and utilize some getters to ensure the cmdinput is
getting updated whenever necessary state changes take place.
2024-04-29 18:29:27 -07:00
Evan Simkowitz 50662c2152 Fixes a regression that would unfocus from the history input (#615)
* Fixes a regression that would unfocus from the history input

* remove debug statements

* Update historyinfo.tsx

* fix scrolling the right way
2024-04-29 15:08:11 -07:00
Cole Lashley 4f32c459a6 Small aux view fixes that make cmdinput focus work a bit better (#594)
* added some more fixes for aichat and cmdinput

* removed comments and fixed up merge conflicts

* small fix

* fixed bug
2024-04-26 11:11:03 -07:00
Sylvie Crowe a449cec33a Sudo Config Gui (#603)
* feat: add gui elements to configure ssh pw cache

This adds a dropdown for on/off/notimeout, a number entry box for a
timeout value, and a toggle for clearing when the computer sleeps.

* fix: improve password timeout entry

This makes the password timeout more consistent by  using an inline
settings element. It also creates the inline settings element to parse
the input.

* feat: turn sudo password caching on and off

* feat: use configurable sudo timeout

This makes it possible to control how long waveterm stores your sudo
password. Note that if it changes, it immediately clears the cached
passwords.

* fix: clear existing sudo passwords if switched off

When the sudo password store state is changed to "off", all existing
passwords must immediately be cleared automatically.

* feat: allow clearing sudo passwords on suspend

This option makes it so the sudo passwords will be cleared when the
computer falls asleep.  It will never be used in the case where the
password is set to never time out.

* feat: allow notimeout to prevent sudo pw clear

This option allows the sudo timeout to be ignored while it is selected.

* feat: adjust current deadline based on user config

This allows the deadline to update as changes to the config are
happening.

* fix: reject a sudopwtimeout of 0 on the backend

* fix: use the default sudoPwTimeout for empty input

* fix: specify the timeout length is minutes

* fix: store sudopwtimeout in ms instead of minutes

* fix: formatting the default sudo timeout

By changing the order of operations, this no longer shows up as NaN if
the default is used.

* refactor: consolidate inlinesettingstextedit

This removes the number variant and combines them into the same class
with an option to switch between the two behaviors.

* refactor: consolidate textfield and numberfield

This removes the number variant of textfield. The textfield component
can now act as a numberfield when  the optional isNumber prop is true.
2024-04-25 18:19:43 -07:00
Cole Lashley 5e3243564b Open AI Timeout setting and aliases for AI settings (#590)
* added ai timeout setting

* addressed review comments

* fixed baseurl gating for telemetry

* updated copy

* addressed review comments

* removed prefix for client:show and added units to timeout

* changed timeout to use ms precision
2024-04-25 16:14:37 -07:00
Mike Sawka 21d0dd076b increase max websocket read limit. protect frontend from exceeding the read limit. limit input size to 10k characters. (#606) 2024-04-25 15:07:41 -07:00
Mike Sawka 6e28151dad update dependencies (including electron v30) (#605)
* remove console.logs

* update dependencies
2024-04-25 14:03:38 -07:00
Red J Adaya 12e267ad81 Truncate dropdown value (#602)
* truncate dropdown value

* more defensive programming for width
2024-04-25 13:36:11 -07:00
Red J Adaya 35037ac1f1 add padding around remote status warning (#598) 2024-04-25 13:29:24 -07:00
Red J Adaya 50203a6934 Simplified terminal theming (#570)
* save work

* reusable StyleBlock component

* StyleBlock in elements dir

* root level

* ability to inherit root styles

* change prop from classname to selector

* selector should always be :root

* remove selector prop from StyleBlock

* working

* cleanup

* loadThemeStyles doesn't have to be async

* revert changes in tabs2.less

* remove old implementation

* cleanup

* remove file from another branch

* fix issue where line in history view doesn't reflect the terminal theme

* add key and value validation

* add label to tab settings terminal theme dropdown

* save work

* save work

* save work

* working

* trigger componentDidUpdate when switching tabs and sessions

* cleanup

* save work

* save work

* use UpdatePacket for theme changes as well

* make methods cohesive

* use themes coming from backend

* reload terminal when styel block is unmounted and mounted

* fix validation

* re-render terminal when theme is updated

* remove test styles

* cleanup

* more cleanup

* revert unneeded change

* more cleanup

* fix type

* more cleanup

* render style blocks in the header instead of body using portal

* add ability to reuse and dispose TermThemes instance and file watcher

* remove comment

* minor change

* separate filewatcher as singleton

* do not render app when term theme style blocks aren't rendered first

* only render main when termstyles have been rendered already

* add comment

* use DoUpdate to send themes to front-end

* support to watch subdirectories

* added support for watch subdirectories

* make watcher more flexible so it can be closed anywhere

* cleanup

* undo the app/main split

* use TermThemesType in creating initial value for Themes field

* simplify code

* fix issue where dropdown label doesn't float when the theme selected is Inherit

* remove unsed var

* start watcher in main, merge themes (don't overwrite) on event.

* ensure terminal-themes directory is created on startup

* ah, wait for termThemes to be set (the connect packet needs to have been processed to proceed with rendering)
2024-04-23 23:22:35 -07:00