Commit Graph

643 Commits

Author SHA1 Message Date
Evan Simkowitz
b733724c7d
Add sidebar banner when new release is available (#147)
* Server impl

* add update check setting

* add commands

* fix capitalization of commands

* apply suggestions

* add migration and fix backend bugs

* Add sidebar banner

* remove installedversion, add 5s timeout

* add icon, capture and log errors from release check

* missing return nil

* remove highlight

* remove commented less

* do not fail releasecheckoncommand if release check operation fails

* remove debug condition

* fix update on auto check, move banner display logic into frontend

* remove unnecessary import

* simplify null check

* clean up the invoking of the releasechecker
2023-12-15 17:43:54 -08:00
Red J Adaya
4ff5dcf1e0
fix mouse scroll (#151) 2023-12-15 16:15:45 -08:00
Red J Adaya
f9d0e63d0c
delete screen immediately when there are no lines in it (#152) 2023-12-15 15:40:34 -08:00
Red J Adaya
ea9cb37de1
drag and drop support for tabs (#146)
* 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
2023-12-14 21:50:47 -08:00
Mike Sawka
8200a312b9
On MacOS allow UserShell to override /bin/bash (#137)
* 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
2023-12-14 21:45:27 -08:00
Evan Simkowitz
3b65e9941a
Clean up potentially unsafe external links (#139)
* Clean up potentially unsafe external links

* fix broken imports

* fix error in conditional

* fix one more typo
2023-12-13 17:43:30 -08:00
sawka
b6c880c6ff add 'cmd' parameter to /api/run-command for debugging purposes (easier filtering and visual inspection of run-command calls) 2023-12-12 20:37:00 -08:00
sawka
f442236679 fix performance issue where cmdinput was causing additional loading of screenlines 2023-12-12 20:36:11 -08:00
Red J Adaya
8a938744f7
migrate modals to new modals system (#124)
* migrate screen settings modal to new modals system

* use screen member var in the methods

* migrate session settings modal to new modal system

* use Modal component in session settings modal

* migrate line settings modal to new modals system

* use Modal component in line settings modal

* migrate client settings modal to new modals framework

* set alert modal width to 500px

* remove screen settings modal after deletion

* use Dropdown component for connnections dropdown

* use Dropdown component for connections dropdown in new tab flow

* replace InfoMessage with Tooltip

* use Dropdown for fontsize dropdown

* use Dropdown for renderer dropdown

* fix dropdown width issue on new tab container

* fix class names concatenation

* fix dropdown width issue in screen settings modal
2023-12-07 22:51:46 -08:00
sawka
32a825aea1 move force install to main connection screen, remove edit/delete from edit screen 2023-12-05 17:42:43 -08:00
Sylvie Crowe
6791d874e3
Add Waveterm Icon to Linux (#120)
* add icon for Linux

The app icon previously did not show up in Linux. This change fixes that
by providing the wave-logo-dark.png to the electron Browser Window.

* set the icon to only use the direct path on linux

The previous change was only required on linux and not on mac. This
ensures the old behavior will continue to be done on mac while using the
new behavior on linux.
2023-12-04 22:47:01 -08:00
Red J Adaya
9ebd5bda8f
TOS Modal (#123)
* register tos modal and fix its styles

* hard-code render TOS modal in ModalsProvider

* cleanup

* remove tos const
2023-12-04 18:29:21 -08:00
Red J Adaya
0c756838e0
Tab Settings (#117)
* use Modal component

* icons selector

* do not limit icons in the backend
2023-12-04 09:52:59 -08:00
Sylvie Crowe
7310481383
Add a button to filter out non-running commands (#113)
* add filter button to the command input box

This will become a button that temporarily filters out the non-running
commands from your screen. At the moment it is only a placeholder design
that will likely change with more feedback. It does not have any
functionality at the moment.

* add view indication of active filter

This will become a clickable notification to let users know that a
filter is being applied. It displays the number of lines that are being
filtered. The plan is for it to be clickable to remove the filter. The
current version is a placeholder that is likely to change. It has no
functionality at the moment.

* add basic state to the filtering buttons

The filtering buttons up until this point haven't done anything. Now
they can be clicked and unclick causing them to render differently
depending on if they're selected. They still have no functionality
outside of their own appearance.

* add filtering functionality to filter button

The filter button now hides all non-running commands. And pressing it
again or pressing the other filter button will bring
back the hidden commands.

There are currently some formatting issues with the second button as it
jumps to the top of the screen if the filter is on and no running
commands are present.

An additional change was made to remove a variable accidentally
introduced in the last commit.

* add count for number of lines filtered out

The secondary filter button now lists the number of non-running commands
that have been filtered out. This count is added to the screen model in
case it is needed elsewhere.

* fix the style on the secondary buttons

This fixes the margin an the button to bring it in line with the line
items. It also fixes empty window screen to use a different css class.
Previously, the window-view class being used would cover the button. It
is now using the window-empty class instead.

* change formatting for secondary filter button

The button is now yellow with a border style instead of red with a solid
style. The border-radius has been changed to give the button a pill
shape.

Additionally, a style tab has been added to the button component to
provide it with custom styling. It should be changed to a custom class
design in the future.

* update style on primary filter button

This is being changed to simpler hover text in line with other text in
the cmd box.

* add number display as text for first filter button

The main filter button originally displayed a somewhat vague message.
Now it displays the number of running tasks with the rotating arrow
symbol.

* remove numLinesHidden count from model

This numLineHidden count is no longer needed with the new button design.
Furthermore, it created several warnings in react due to its
implementation. For both of these reasons, it has been removed.

* update filter functionality to better utilize mobx

This consisted of a few changes. The first was to move the filter state
from the GlobalModel to ScreenLines in order to track state separately
for each screen. Then several of the functions had to be rewritten to
wrap setting variables in the mobx.action wrapper.

As is, there are still a few issues with this design:
- the filter is not remembered when switching tabs
- if all running tasks expire, the second filter button is still present

* move filtering observable to Screen model

The previous observable did not persist when changing tabs because
ScreenLines did not persist. By moving it to Screen, the ovservable now
persists after changing tabs.
2023-12-01 20:54:49 -08:00
Red J Adaya
23b6bb29e7
modals system (#106)
* init

* connections table

* view styles

* new components. header and status.

* action buttons

* use Button component in other modals

* hook add connection button

* RemoteConnDetailModal component

* refactor remotes model. read connection modal.

* remote conn detail modal layout and styles

* fix xterm styles

* use correct status message in xterm

* tone down color of settings input

* clean up

* edit remote conn modal

* fix buttons gap

* change button label

* archive and force install features

* use classnames

* add some class names and also set some widths / maxwidth for the table.  too hard to read on large screens.

* small style updates

* fix some typescript errors, other small fixups

* fix type error

* move add button to the bottom of the table

* more improvements

* adjust layout, behavior, and style accrdg to mike's feedback

* set table max-width in css

* open detail modal after creation of new remote

* new modal component. migrate about modal to new modal component.

* migrate create remote conn modal to modal component

* working modals stack

* update some working (remote -> connection).  fix typescript error in connections.  remove some console.logs

* fix a couple of mobx warnings (need to wrap in action)

* register create conn modal

* follow model naming convention

* register edit remote conn modal

* reset

* reset

* reset

* reset

* use remotes model methods and wrap pushModal calls in mobx action

* only close connect modal after update for remotes returns

* register alert modal

* fix type error in app.tsx

* migrate remote detail and alert modal to base modal component

* Revert "fix conflicts"

This reverts commit 962da77918, reversing
changes made to 34cbe34ba5.

* only wrapper ModalProvider with mobx provider

* change archive label to delete

* fix error where isOpen method does not exist

* remove registry modal

* rename ModalStoreModel to ModalsModal

* fix issue where edit remote conn modal doesn't show

* simplify modal component

* grab remoteModel from within the remote modals

* fix edit modal

* minor change

* cleanup

* more cleanup

* change confirm wording to 'delete' instead of 'archive'.  remove or-equals since isBlank is designed to check for exactly that.

* undo some of the strict typescript fixes

* undo more typescript fixes

* cleanup

* fix import

* revert build.md change
2023-12-01 20:04:59 -08:00
Sylvie Crowe
ebf356417d
add link to terms of service (#105)
* add link to terms of service

The welcome page previously referenced the terms of service without
providing a link to them. This change adds a hyperlink which allows
users to easily navigate to them.

* remove the tos checkbox

Additionally, small cleanups have been made to the formatting of the
source code.

* update color name from prompt-green to wave-green

Previously, the name prompt-green was used for the green color
associated with the branding. It has now been changed to wave-green.
This is in response to the terminal being renamed from prompt to
waveterm.

As a part of this, change the css class is-prompt-green has also been
changed. It is renamed to is-wave-green.

* update anchor tags to use wave-green color

Previously, anchor tags used the blue color that comes as default with
bulma css. They are now changed to be the wave-green color that matches
the rest of the branding.

This also involved updating the hover text to be the same color.
Note that hover links had to be specified but focus links did not. I
imagine this is because of bulma css defaults. Regardless, the previous
.content overwrite that we used for hovering hyperlinks was removed as
it is no longer necessary.
2023-11-29 00:27:54 -08:00
Red J Adaya
e95934e2df
connections screen and modals (#69)
* init

* connections table

* view styles

* new components. header and status.

* action buttons

* use Button component in other modals

* hook add connection button

* RemoteConnDetailModal component

* refactor remotes model. read connection modal.

* remote conn detail modal layout and styles

* fix xterm styles

* use correct status message in xterm

* tone down color of settings input

* clean up

* edit remote conn modal

* fix buttons gap

* change button label

* archive and force install features

* use classnames

* add some class names and also set some widths / maxwidth for the table.  too hard to read on large screens.

* small style updates

* fix some typescript errors, other small fixups

* fix type error

* move add button to the bottom of the table

* more improvements

* adjust layout, behavior, and style accrdg to mike's feedback

* set table max-width in css

* open detail modal after creation of new remote

* update some working (remote -> connection).  fix typescript error in connections.  remove some console.logs

* fix a couple of mobx warnings (need to wrap in action)
2023-11-27 16:22:15 -08:00
sawka
7d8f811228 fix typo 2023-11-24 00:15:09 -08:00
sawka
ebdc1ff524 fix ctrl-w functionality 2023-11-20 22:03:56 -08:00
sawka
3f57ee8c46 drop visible map recomputation time to 100ms (from 1000ms). lines fill in much faster when scrolling 2023-11-16 23:57:36 -08:00
sawka
e15558690f make ctrl-shift-v work in the terminal (paste text) 2023-11-16 23:40:20 -08:00
sawka
bf03ff2591 add ctrl-shift-c handler for terminal (to copy text) 2023-11-16 23:11:42 -08:00
sawka
ad0f11c097 allow terminal font sizes up to 24px 2023-11-16 22:49:59 -08:00
sawka
5327258287 add logo to left sidebar, change how collapse works 2023-11-10 13:16:35 -08:00
sawka
dd49e43579 update screen -> tab in user facing messages. waveshell var / ignore. fix bug with external urls 2023-11-10 12:31:31 -08:00
sawka
7449d9db67 remove show metacmds from history search (we always want to show meta) 2023-11-09 22:44:39 -08:00
sawka
4076c58b53 update in-app links to point to waveterm.dev 2023-11-09 21:49:06 -08:00
Red J Adaya
a0479c4683
add connection modal (#64)
* various improvements

* animation menu on close

* finish custom dropdown

* minor change

* minor fix

* add error support for dropdown

* create remote modal

* NumberField component and more on add remote connection modal implementation

* extend TextField instead. dobounce should be handled by the user not the component

* PasswordField

* remove used code. fix ssh key file field issue

* style buttons. fix modal height issue

* use react portal for dropdown menu

* remove debugging code

* tooltip implementation

* put back modal background

* (sawka) add autofocus attribute to textfield.  change label color to color-secondary.  fix file menu name.  fix typescript error in basicrenderer
2023-11-09 16:28:37 -08:00
sawka
68731f45a2 make binary paths consistent between dev/prod. add 'eval' as a rtnstate command. fix waveterm.lock file 2023-11-09 16:08:32 -08:00
sawka
379854e049 don't load remote content, and dont show codeeditor if closed 2023-11-08 00:26:28 -08:00
sawka
8daac68aad dont load plugin resources at startup (delays important loads). load on demand if we open the apps screen. 2023-11-08 00:12:41 -08:00
sawka
86436d050e limit size of newstate on line 2023-11-07 23:58:54 -08:00
sawka
1be2716f6e add square icon back, fix spacing somewhat 2023-11-07 16:15:54 -08:00
sawka
aa0e8415c1 rename talk to us to discord 2023-11-07 01:27:11 -08:00
sawka
85f6aed2ad remove apps in prod (not implemented yet) 2023-11-07 01:26:22 -08:00
sawka
d076fc0c72 remove current version check in about modal (not implemented). text not selectable (except for version) 2023-11-07 01:24:35 -08:00
sawka
80675f8c0f update base cmdinput height 2023-11-07 01:16:48 -08:00
sawka
8ffd537bb7 fix cmdinput expand size calc 2023-11-07 01:14:26 -08:00
sawka
a2b529f950 fix typescript errors 2023-11-07 00:18:45 -08:00
sawka
7920a797dc
Merge branch 'main' into dev-0.5.0 2023-11-07 00:08:43 -08:00
Red J Adaya
847de1fc60
new tab flow (#60)
* 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
2023-11-07 00:04:25 -08:00
sawka
f8d3c0c19c rename MainSideBar to sidebar 2023-11-06 14:00:43 -08:00
sawka
6430593e5f upgrade packages 2023-11-06 13:56:09 -08:00
sawka
d405352823
Create MacOS Universal Build (#62)
* testing universal build

* arch files not required anymore

* use CGO_ENABLED for wavesrv.  write out notes about the universal build problems/solution

* script and updates for universal build

* more updates for sign/notarize flow for universal app

* put in prod migration check

* build prompt to wave migration into emain.  updates to macos build scripts

* update some packages

* successful universal build

* remove unused code
2023-11-05 00:00:47 -07:00
sawka
cccaf83b39 Merge branch 'dev-0.5.0' 2023-11-03 16:25:39 -07:00
Red J Adaya
a69e844178
init (#61) 2023-11-03 13:11:49 -07:00
sawka
61d6d2ddff scope this section rule so it doesn't conflict with monaco editor 2023-11-03 00:44:47 -07:00
sawka
bda9943ed7 Merge remote-tracking branch 'origin/dev-0.5.0' 2023-11-02 14:06:22 -07:00
sawka
38a1f95115 migrate DB WAL file as well as DB file. make dev leftnav color more subtle 2023-11-02 14:05:43 -07:00
sawka
5708b3f19f working on small history UI updates 2023-11-02 01:02:50 -07:00
sawka
d528f3db27 abstract connection selector dropdown properly. use in settings. remove old selector. 2023-11-02 00:08:04 -07:00
sawka
f2baa59af6 fix default workspace creation bug. fix no workspace message 2023-11-01 23:41:04 -07:00
sawka
055d00d78a use nextlinenum to decide whether to show newtab flow 2023-11-01 23:10:01 -07:00
sawka
90e07266bf try to fix the inline edit control 2023-11-01 23:02:19 -07:00
sawka
a7c2d440b2 new tab colors. also re-implement tab gradients according to figma file 2023-11-01 22:38:37 -07:00
sawka
df073724e0 remove console.log from pluginsview 2023-11-01 01:29:17 -07:00
sawka
afc5bbd212
Update Data Directories and Environment Variables (#59)
* phase 1 of wave runtime migration.  update waveterm_dev, build vars, waveterm_app_path.  fix errors with plugins readmes and screenshot directories.  use asset loaders in webpack.  fix window-empty styles.  wave-migrate script.  remove unused scripthaus commands.  other fixes

* waveterm_home directory.  lots of internal scbase prompt names to wave

* update waveterm.lock file

* change wave data directories.  remove welcome modal code

* update waveterm.db name

* fix Wave menu (add back default items).  Update TOS modal words

* fix typescript errors
2023-11-01 01:26:19 -07:00
Red J Adaya
15a4719b17
About Modal (#39)
* menu item and send event to renderer

* wire up everything

* update content

* modal content

* add mising text

* minor fix

* style fixes

* figma design init

* about header, content, and general styles

* css refactor

* more on refactor

* reuse styles from app.less in about modal

* dynamic status

* external linkn

* finish about modal

* update links

* update license link
2023-10-31 22:24:36 -07:00
sawka
8211a0bb26 reduce line jitter when switching from simple to full mode 2023-10-31 12:55:35 -07:00
sawka
e1189a5051 remove a lot of hover effects, unselectable menu text. move apps to bottom. remove favorites 2023-10-31 11:29:17 -07:00
sawka
ab8021fad7 add fontawesome back into the repo 2023-10-31 11:18:12 -07:00
sawka
a8836ec691
Merge pull request #57 from wavetermdev/dev-0.5.0
Initial v0.5.0 merge into main
2023-10-30 23:36:29 -07:00
Red J Adaya
e7b58c1077
user oboarding flow (#54)
* 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
2023-10-30 22:39:51 -07:00
sawka
616a7d2dc0 fix new-tab button when scrolling (was getting flex-shrunk) 2023-10-30 20:47:45 -07:00
sawka
14715ec5b1
Fix All TypeScript Errors (#56)
* update newtab screen to make it match the figma mockup (still waiting on UI for name)

* fix all typescript errors

* update for new build

* remove old import
2023-10-30 09:53:17 -07:00
sawka
9b5bc33125
update newtab screen to make it match the figma mockup (still waiting on UI for name) (#52) 2023-10-30 09:43:54 -07:00
sawka
940a187d34 update dmg build for Wave. Fix tab rounding 2023-10-29 20:02:57 -07:00
anandamarsh
c9c2b91a77
Pe 222 apps sidebar (#51)
* can open / close Apps view

* gotten app list to load dynamically

* updated icons  bizzare that they all have the same bg
color

* can select an app form left bar

* could not get ImageViewer to work :(

* getting rid of screenshots

* readme.md works

* fixed the color problems for icons
2023-10-28 13:18:31 -07:00
Tracy Miranda
505ab56ef4
PE 178 Add OSS files (#50)
* Add contribution guide

* Format improvements

* Add security guidelines

* Create CODE_OF_CONDUCT.md

* Add README.md
2023-10-28 13:16:50 -07:00
Red J Adaya
e0cd8516b8
update color tab names (#49)
* change color names and values

* migrations

* update tab colors in fe

* set to default instead of null

* minor server fixes
2023-10-28 13:14:20 -07:00
sawka
9804dcb14c fix up spacing for workspaces in sidebar 2023-10-26 15:17:23 -07:00
sawka
5bf83a7e59 move to 12.5px font for sizebar, increase icon size 2023-10-26 15:08:21 -07:00
sawka
f239832435 clicking anywhere on the cmdinput will give focus. also fix the click handler for exec to only be on the icon 2023-10-26 01:40:18 -07:00
sawka
d8d7d0b7d2 add 'magiclayout' to hold magical layout constants. compute the constants with the new padding/margins for new UI. use to compute runtime heights. 2023-10-26 01:25:46 -07:00
sawka
04cdab6f74 add metabarecmds into command completion 2023-10-26 00:01:52 -07:00
sawka
267b035fc8
remove autoinstall options from GUI, always set autoinstall flag, db migration to set autoinstall for all remotes (#48) 2023-10-25 22:07:00 -07:00
Red J Adaya
736fb7be6a
csvviwer focus support (#46)
* more fixes

* add delay and slight opacity animation

* cleanup

* focus support

* use savedHeight as initial tbody height

* cleanup

* set container to savedHeight initially

* fix calc issue

* more calc fixes

* more calc fixes
2023-10-25 21:41:52 -07:00
sawka
65db030126 change prompt.js/css to waveterm.js/css 2023-10-25 18:45:14 -07:00
Red J Adaya
7e9e76f089
error boundary for screens (#45)
* error boundary for screens

* error boundary for plugins

* remove changes.diff

* move load-error-text class to app.less

* implement mikes suggestions

* apply error boundary to workspace view

* fix minor issues
2023-10-25 18:24:14 -07:00
sawka
49f18a3e94 added waveterm logo (png and svg) 2023-10-25 15:25:07 -07:00
Red J Adaya
7c966e2660
change session to workspace (#47)
* change session to workspace

* also need to change the less file since the className was changed
2023-10-25 13:55:30 -07:00
sawka
2b72cd18b8 update build instructions for new webpack configuration. merge origin/main into dev branch to pick up linux changes. 2023-10-25 13:47:52 -07:00
Red J Adaya
6ae263f9fa
csvviewer rendering flash (#44)
* more fixes

* add delay and slight opacity animation

* cleanup
2023-10-24 18:34:37 -07:00
sawka
c0de69e4a2 move +3 for descenders to termHeightFromRows 2023-10-24 09:27:20 -07:00
anandamarsh
6016302814
PE 125 new tab flow (#43)
* please sync

* can select connection. now need add conection

* latest for discussion

* solved "autoselect connection" issue

* ready for PR

* pair programming, fix some issues with new tab flow

* final updates for new connection flow.  integrate add new connection with error messages.  add an option to cr to not create the line/history (non-interactive use)

---------

Co-authored-by: sawka
2023-10-23 23:22:18 -07:00
Red J Adaya
4000baa6c5
fix flashing issue (#41) 2023-10-23 17:10:14 -07:00
sawka
b01472a917 add platform class into main div 2023-10-18 13:32:23 -07:00
sawka
e920e09ccf backport linux changes to main 2023-10-17 21:54:44 -07:00
sawka
bdcdc202a1 minor fix for linux (use move/resize events vs past-tense). smaller default window size. 2023-10-17 21:48:02 -07:00
Red J Adaya
046d219555
add license notice (#37) 2023-10-16 21:31:13 -07:00
anandamarsh
805cb777d4
no brainer :) (#38) 2023-10-16 21:30:13 -07:00
sawka
f2eaa2e278 add example copyright to index.ts 2023-10-16 15:33:27 -07:00
sawka
266fc498c7 new paths for getting waveterm running with monorepo 2023-10-16 14:02:22 -07:00
sawka
393629cc2f fix TOS modal link, correct fixed-font for new tab. code blocks default to terminal font. 2023-10-16 10:59:20 -07:00
sawka
ce63a03528 fix error getting TOS modal 2023-10-16 10:47:14 -07:00
sawka
18fa085fa1 fix title-bar drag area 2023-10-14 14:30:50 -07:00
sawka
fbcf8f2fbb merge dev 0.4.0 again 2023-10-14 13:36:44 -07:00
Amarsh Anand
8166991928 fixed new-tab button 2023-10-13 18:18:06 -07:00
sawka
e561a8b280 first pass at increasing new-screen click target 2023-10-13 16:40:34 -07:00
sawka
2cd21d1c76 fix fontsize dropdown 2023-10-12 23:46:14 -07:00