Commit Graph

1697 Commits

Author SHA1 Message Date
Mike Sawka
11b110d633
bump version to 0.7.6 (#661) 2024-05-28 20:55:40 -07:00
Red J Adaya
14b38b31c8
AI Chat Sidebar (#657) 2024-05-28 20:53:16 -07:00
SG Prakash
1ace947d1e
added hide/show MenuBar feature (#660)
**Description:**
I recently installed waveterm and I just love it. I like to use my
terminal without titlebar, So I removed the titlebar of waveterm in my
ubuntu desktop but the menu bar is showing constantly. So I look into
the code and made the changes. This pull request adds a simple feature
which will hide/show the menubar using `ALT` key.

**Changes Made:**
1. When initializing electron's BrowserWindow, I added a parameter
`autoHideMenuBar: true`.

**Testing Done:**
Tested the feature by pressing `ALT` Key. It works perfectly.
2024-05-28 20:48:28 -07:00
Evan Simkowitz
13f4203437
Autocomplete using the Newton parser (#599)
I've reworked the autocomplete parser to more closely match Newton, the
Fig-compatible parser I prototyped earlier this year. I was able to move
a lot faster by reusing patterns that inshellisense proved out, such as
for templates and generators.

I also support some features that inshellisense doesn't, like proper
combining of Posix-compatible flags, handling of option argument
separators, and handling of cursors in insertValues.
2024-05-28 17:17:29 -07:00
orliesaurus
cd15beba26
fix: yml formatting issues (#656)
looks like there were some issues to the yml format before that caused
the workflow to not run.
2024-05-21 16:02:30 -07:00
Mike Sawka
aac9e27382
upgrade electron version (#658) 2024-05-16 12:48:37 -07:00
Ian Jennings
d07068c09d
TestDriver v2.12.12 (#655) 2024-05-08 11:10:17 -07:00
Cole Lashley
1307a77b56 ai chat selection fix (#639) 2024-05-06 20:02:13 -07:00
Ian Jennings
2772c76728
Upgrade TestDriver to v2.12.5 (#652) 2024-05-06 14:17:25 -07:00
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
Mike Sawka
d6b82e3792
blockstore integration (#650)
* blockstore migration
* use a testdb for tests,
* cut down test sizes so they run a bit faster
* test init/cleanup code improvements
2024-05-06 10:24:34 -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
Evan Simkowitz
67544c9a0f
Fix Build Helper for Yarn Modern (#646)
I am removing the Yarn cache from our Build Helper. The
actions/node-setup cache option is not compatible with Yarn Modern. With
Yarn Modern, the `yarn install` command that sets up our
project-specific yarn config will also install all the module
dependencies, meaning we don't need a separate call to resolve these.
Altogether, even without the cache, it only takes 21s for Yarn Modern to
install and resolve dependencies.
2024-05-02 17:53: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
orliesaurus
5afe233381
Introduce corepack dependency (#643)
This Pull Request introduces the corepack dependency, necessary for the
Testdriver infrastructure to run.

## Rationale:

Corepack enables faster installations and is required for `yarn`
By default, corepack is not installed on the testdriver infrastructure,
necessitating this addition.

## Benefits:

Allows better handling of `yarn` installation.

## Testing:
Local testing has confirmed successful corepack installation and
functionality within the testdriver infrastructure.
2024-05-02 16:08:31 -07:00
dependabot[bot]
4c0c4f422a
Bump ejs from 3.1.9 to 3.1.10 in the npm_and_yarn group across 1 directory (#642)
Bumps the npm_and_yarn group with 1 update in the / directory:
[ejs](https://github.com/mde/ejs).

Updates `ejs` from 3.1.9 to 3.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mde/ejs/releases">ejs's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.10</h2>
<p>Version 3.1.10</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3f807dea9"><code>d3f807d</code></a>
Version 3.1.10</li>
<li><a
href="9ee26dde5d"><code>9ee26dd</code></a>
Mocha TDD</li>
<li><a
href="e469741dca"><code>e469741</code></a>
Basic pollution protection</li>
<li><a
href="715e9507fa"><code>715e950</code></a>
Merge pull request <a
href="https://redirect.github.com/mde/ejs/issues/756">#756</a> from
Jeffrey-mu/main</li>
<li><a
href="cabe3146ad"><code>cabe314</code></a>
Include advanced usage examples</li>
<li><a
href="29b076cdbb"><code>29b076c</code></a>
Added header</li>
<li><a
href="11503c79af"><code>11503c7</code></a>
Merge branch 'main' of github.com:mde/ejs into main</li>
<li><a
href="7690404e2f"><code>7690404</code></a>
Added security banner to README</li>
<li><a
href="f47d7aedd5"><code>f47d7ae</code></a>
Update SECURITY.md</li>
<li><a
href="828cea1687"><code>828cea1</code></a>
Update SECURITY.md</li>
<li>Additional commits viewable in <a
href="https://github.com/mde/ejs/compare/v3.1.9...v3.1.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ejs&package-manager=npm_and_yarn&previous-version=3.1.9&new-version=3.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/wavetermdev/waveterm/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 14:40:36 -07:00
Evan Simkowitz
07b29277e9
Update build documentation to reflect that Corepack is needed (#641) 2024-05-02 14:35:10 -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
cd855762cd
Migrate package manager to Yarn Modern (#628)
We were using Yarn Classic. While this is not deprecated, Yarn is moving
in a different direction with Yarn Modern (read more
[here](https://yarnpkg.com/migration/overview)) and we should align with
that. The migration mainly requires rebuilding our lockfile. We will
still use `node_modules` for now, though in the future we may want to
adopt the new [Plug'n'Play model](https://yarnpkg.com/features/pnp).
2024-05-02 14:13:32 -07:00
Ian Jennings
397d4d7369
Update TestDriver to v2.11.2 (#640) 2024-05-02 12:54:45 -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
e973a6ff8f
Add link to full license report (#638) 2024-05-02 11:30:20 -07:00
dependabot[bot]
34392ab65d
Bump ejs from 3.1.9 to 3.1.10 in the npm_and_yarn group across 1 directory (#637)
Bumps the npm_and_yarn group with 1 update in the / directory:
[ejs](https://github.com/mde/ejs).

Updates `ejs` from 3.1.9 to 3.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mde/ejs/releases">ejs's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.10</h2>
<p>Version 3.1.10</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3f807dea9"><code>d3f807d</code></a>
Version 3.1.10</li>
<li><a
href="9ee26dde5d"><code>9ee26dd</code></a>
Mocha TDD</li>
<li><a
href="e469741dca"><code>e469741</code></a>
Basic pollution protection</li>
<li><a
href="715e9507fa"><code>715e950</code></a>
Merge pull request <a
href="https://redirect.github.com/mde/ejs/issues/756">#756</a> from
Jeffrey-mu/main</li>
<li><a
href="cabe3146ad"><code>cabe314</code></a>
Include advanced usage examples</li>
<li><a
href="29b076cdbb"><code>29b076c</code></a>
Added header</li>
<li><a
href="11503c79af"><code>11503c7</code></a>
Merge branch 'main' of github.com:mde/ejs into main</li>
<li><a
href="7690404e2f"><code>7690404</code></a>
Added security banner to README</li>
<li><a
href="f47d7aedd5"><code>f47d7ae</code></a>
Update SECURITY.md</li>
<li><a
href="828cea1687"><code>828cea1</code></a>
Update SECURITY.md</li>
<li>Additional commits viewable in <a
href="https://github.com/mde/ejs/compare/v3.1.9...v3.1.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ejs&package-manager=npm_and_yarn&previous-version=3.1.9&new-version=3.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/wavetermdev/waveterm/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 10:58:48 -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
Cole Lashley
6c3e5b8746
Block store (#578)
Contains the implementation of the block store

In this pr is a simple way to send and receive data through a database

I have implemented the base functionality as well as quite a few tests
to make sure that everything works
 
There are a few methods that have yet to be implemented, but
theoretically they should be implemented as calls to the other
functions, ie append should just be a call to WriteAt

This doesn't affect anything yet so it can safely be merged whenever. I
don't want this pr to stagnate like file view, so I'm happy to write
multiple prs for this
2024-04-30 18:21:31 -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
Evan Simkowitz
1c2c0c5efc
Use FOSSA to generate license reports on every PR (#625) 2024-04-30 17:27:20 -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
Ian Jennings
8cea209823
TestDriver.ai: Validate that overlapping text does not appear in UI (#528) 2024-04-30 16:43:27 -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
Ian Jennings
c53e0a99f6
TestDriver.ai: Add comments to PRs (#498) 2024-04-30 12:37:22 -07:00
Cole Lashley
e6df2c216d
Client show defaults small fix (#614) 2024-04-30 11:37:01 -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
Cole Lashley
ac91fa8596
fixed ai timeout bug (#617) 2024-04-29 15:56:20 -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
4296856cc1
Fixed separator code in config path (#616)
* un quoted separator in config

* addressed review comments
2024-04-29 12:40:36 -07:00
Evan Simkowitz
d0867477ff
add path separator for config dir handler (#613) 2024-04-26 12:08:10 -07:00
Evan Simkowitz
25b77c7fee
Attempt 2 to resolve security warning (#612)
* replace path with filepath

* remove configPath from error

* remove unnecessary printf

* replace more paths with filepath

* remove unnecessary abs path call

* bad commit
2024-04-26 12:00:11 -07:00
Evan Simkowitz
db557e0b69
Validate config dir path to resolve security warning (#611)
* Attempt to validate config path to resolve security warning

* move above fullpath

* make sure path does not reference parent dir
2024-04-26 11:23:09 -07:00
Ian Jennings
22c5d224bd
TestDriver: Update to 2.9.4 (#607)
* update to 2.9.4

* move prerun to action file

* update v

* migrate prompt

* bunk update to trigger re-run
2024-04-26 11:11:30 -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
fcf8e4ed44
ignore ptmx error (#608) 2024-04-25 15:35:48 -07:00