Commit Graph

1522 Commits

Author SHA1 Message Date
wave-builder[bot]
5982960798
chore: bump package version to 0.10.0-beta.2 2024-12-10 00:57:23 +00:00
Evan Simkowitz
84bec65e50
Add tooltip for unpin and close tab buttons (#1445) 2024-12-09 16:55:52 -08:00
Evan Simkowitz
34b73b8bea
Update switcher icons, fix bug makeIconClass, add guid to new workspace name (#1444) 2024-12-09 16:52:59 -08:00
Evan Simkowitz
edab90aa55
New colors for workspace switcher (#1443)
Also updates workspace switcher button and tab bg colors
2024-12-09 16:24:32 -08:00
systemshift
c071cc04c3
Perplexity api (#1432)
I have added Perplexity to the default AI models. I see Anthropic models
are becoming part of the default as well, so I thought I should add a
model that is specific for web search.

This pull request is a work in progress; reviews and edit
recommendations are welcome.

---------

Co-authored-by: sawka <mike@commandline.dev>
2024-12-09 15:48:33 -08:00
Evan Simkowitz
b706d4524b
Queue workspace switching on emain (#1440) 2024-12-09 15:47:56 -08:00
Evan Simkowitz
7c799d74eb
Found another erroneous layout bootstrap (#1442)
CreateTab already bootstraps its own layout, don't need
BootstrapNewWorkspaceLayout
2024-12-09 15:22:41 -08:00
Sylvie Crowe
43c134ea9a
fix: don't show wsh error for a connection error (#1438) 2024-12-09 15:18:58 -08:00
Evan Simkowitz
6a3f72830b
Was accidentally bootstrapping new layout twice (#1441) 2024-12-09 15:11:02 -08:00
Mike Sawka
878a7285ab
implement tab:preset, and increase active tab opacity (#1439) 2024-12-09 14:48:16 -08:00
Evan Simkowitz
c5501a5335
Move wlayout to wcore, create new tab layout for all new tabs (#1437)
Moves the wlayout package contents to wcore to prevent import cycles.
Moves the layout calls to other wcore functions instead of being handled
by the services. Removes redundant CreateTab in EnsureInitialData and
adds a isInitialLaunch flag to the CreateTab and CreateWorkspace
functions to ensure that the initial tab is pinned and does not have the
initial tab layout (since the starter layout gets applied later)
2024-12-09 14:24:02 -08:00
Evan Simkowitz
cf9d24a834
Separate Snap publish jobs (#1433)
Separating Snap publish jobs so they can be retried individually
2024-12-09 10:13:41 -08:00
Sylvie Crowe
f78067b62d
fix: smarter connection typeahead arrows (#1431)
This changes the order of typeahead options to be more user friendly.
Additionally, it moves the selected element to the top after a non-arrow
keypress.
2024-12-06 21:32:50 -08:00
wave-builder[bot]
4d3105e9b0
chore: bump package version to 0.10.0-beta.1 2024-12-07 03:41:25 +00:00
Mike Sawka
ac8dc25ead
fix block controller status (add version) (#1430) 2024-12-06 19:39:58 -08:00
Evan Simkowitz
f858d3ba0f
Pass workspace id to contextmenu-show (#1429)
Sometimes, the context menu click handlers don't seem to get passed any
window object. Here, I'm sending over the workspace id with the
`contextmenu-show` event so that we can resolve our cached copy of the
object in case the value from the click handler is empty.
2024-12-06 19:10:34 -08:00
Evan Simkowitz
7d21f55b84
Retry the macOS builds in case of notarize failures (#1428)
The notarize operation is flaky so I'm wrapping it in a retry
2024-12-06 17:26:40 -08:00
wave-builder[bot]
297f006cce
chore: bump package version to 0.10.0-beta.0 2024-12-07 00:36:27 +00:00
Evan Simkowitz
e0ede0ff60
Add workspace switch accelerators, skip prompt if workspace is already open (#1427) 2024-12-06 16:35:01 -08:00
Evan Simkowitz
7bf1ca5a49
Remove unused vars in wcore (#1426) 2024-12-06 15:55:36 -08:00
Evan Simkowitz
e2b999c4b0
Rename "Default workspace" to "Starter workspace" (#1425) 2024-12-06 15:50:52 -08:00
Mike Sawka
9f6cdfdbf6
closetab / tab destroy fixes (#1424) 2024-12-06 15:42:29 -08:00
Evan Simkowitz
72ea58267d
Workspace app menu (#1423)
Adds a new app menu for creating a new workspace or switching to an
existing one. This required adding a new WPS event any time a workspace
gets updated, since the Electron app menus are static.

This also fixes a bug where closing a workspace could delete it if it
didn't have both a pinned and an unpinned tab.
2024-12-06 15:33:00 -08:00
Sylvie Crowe
66d1686e84
fix: changes for nowsh compatibility with wsl (#1422)
The wsl largely ignores most nowsh stuff, but there are some options
that can be specified for wsl. This ensures that it will still work
whether or not they are set.

Additionally if fixes the wsh not installed icon.
2024-12-06 14:19:19 -08:00
Evan Simkowitz
ab565409cb
Even simpler tab flicker fix (#1421) 2024-12-06 12:13:49 -08:00
Mike Sawka
925389fc70
force createTab to go through the queue as well (#1420) 2024-12-06 12:00:24 -08:00
Mike Sawka
00e3c4ec75
fix bcstart -- don't allow two controllers to start simultaneously (#1418) 2024-12-06 11:08:51 -08:00
Sylvie Crowe
6dfc85b324
Retry Without Wsh on Fail (#1406)
Adds the ability for connections to continue without wsh if they fail.
This involves creating a menu that warns the user that wsh could not be
used.
2024-12-06 10:11:38 -08:00
Mike Sawka
9f10be5629
add more extensions to mimetype database. (#1417)
fallback to text/plain for 0 byte files
2024-12-06 09:36:26 -08:00
dependabot[bot]
74bb5c7317
Bump github.com/sashabaranov/go-openai from 1.35.7 to 1.36.0 (#1409)
Bumps
[github.com/sashabaranov/go-openai](https://github.com/sashabaranov/go-openai)
from 1.35.7 to 1.36.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sashabaranov/go-openai/releases">github.com/sashabaranov/go-openai's
releases</a>.</em></p>
<blockquote>
<h2>v1.36.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Make user field optional in embedding request by <a
href="https://github.com/nagar-ajay"><code>@​nagar-ajay</code></a> in <a
href="https://redirect.github.com/sashabaranov/go-openai/pull/899">sashabaranov/go-openai#899</a></li>
<li>feat: add gpt-4o-2024-11-20 model by <a
href="https://github.com/liushuangls"><code>@​liushuangls</code></a> in
<a
href="https://redirect.github.com/sashabaranov/go-openai/pull/905">sashabaranov/go-openai#905</a></li>
<li>feat: add RecvRaw by <a
href="https://github.com/WqyJh"><code>@​WqyJh</code></a> in <a
href="https://redirect.github.com/sashabaranov/go-openai/pull/896">sashabaranov/go-openai#896</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/nagar-ajay"><code>@​nagar-ajay</code></a> made
their first contribution in <a
href="https://redirect.github.com/sashabaranov/go-openai/pull/899">sashabaranov/go-openai#899</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sashabaranov/go-openai/compare/v1.35.7...v1.36.0">https://github.com/sashabaranov/go-openai/compare/v1.35.7...v1.36.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c203ca001f"><code>c203ca0</code></a>
feat: add RecvRaw (<a
href="https://redirect.github.com/sashabaranov/go-openai/issues/896">#896</a>)</li>
<li><a
href="21fa42c18d"><code>21fa42c</code></a>
feat: add gpt-4o-2024-11-20 model (<a
href="https://redirect.github.com/sashabaranov/go-openai/issues/905">#905</a>)</li>
<li><a
href="74ed75f291"><code>74ed75f</code></a>
Make user field optional in embedding request (<a
href="https://redirect.github.com/sashabaranov/go-openai/issues/899">#899</a>)</li>
<li>See full diff in <a
href="https://github.com/sashabaranov/go-openai/compare/v1.35.7...v1.36.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sashabaranov/go-openai&package-manager=go_modules&previous-version=1.35.7&new-version=1.36.0)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 09:21:17 -08:00
Mike Sawka
3b03a7ab3d
tab race condition fixes (#1407) 2024-12-06 00:10:17 -08:00
Evan Simkowitz
0fe05a725a
Refuse setActiveTab if tab is already set (#1405) 2024-12-05 20:50:55 -08:00
Evan Simkowitz
3c69237d9b
Prevent crashes when user spams Cmd:T (#1404)
When a user spams Cmd:T, a WaveTabView might be created but never end up
getting mounted to the window, since another will come along before it
can. In these cases, the WaveTabView is essentially in a bad state and
attempting to switch to it will result in the window becoming
unresponsive. While we could recover it by running waveInit again, it's
easier to just dispose of it and treat it as an unloaded tab next time
it gets switched to.

This adds a timeout to each WaveTabView where once it gets assigned a
tab ID, it has 1 second to respond "ready" or it will be destroyed. This
should help prevent resource leakages for these dead views.
2024-12-05 20:03:30 -08:00
Mike Sawka
5744f4b06f
closeTab fix (#1403)
fixes bug with closeTab when the tab didn't exist in the waveWindow cache.  also adds Cmd-Shift-W to close a tab (doesn't work for pinned tabs).  and restores Cmd-W for killing blocks on pinned tabs
2024-12-05 18:26:20 -08:00
Evan Simkowitz
7a61f25331
Auditing async usage in frontend code (#1402)
I found a lot of places where asyncs weren't being properly wrapped or
awaited
2024-12-05 18:09:54 -08:00
Evan Simkowitz
297e2b627f
Patch version of path-to-regexp (#1401)
Fixes https://github.com/wavetermdev/waveterm/security/dependabot/50
2024-12-05 16:23:53 -08:00
Evan Simkowitz
1e804f4d15
Use window destroy instead of forceClose (#1400)
`destroy` bypasses the `close` event and forces the window to close.
This means that we can use it instead of `forceClose` and we don't need
to call it in the `closed` event.
2024-12-05 16:18:42 -08:00
Evan Simkowitz
5fbd72b590
Fix edge case when dragging pinnned tabs (#1399) 2024-12-05 14:58:04 -08:00
Evan Simkowitz
898d21d1b2
Small tweak to nohover to only start timeout on requestanimationframe (#1398) 2024-12-05 14:25:02 -08:00
Evan Simkowitz
cb50023d79
Fix issue where WaveAI text area would resize on launch (#1397) 2024-12-05 14:06:52 -08:00
Evan Simkowitz
8ec3c3f330
Update Go toolchain to 1.23.4 (#1395)
Because Electron now has a macOS 11 minimum supported version, we have
no blockers to adopting the latest Go toolchain. This also lets us use
the new `range` features in Go, among other things.
2024-12-05 12:13:45 -08:00
Evan Simkowitz
b22dd07929
Fix null ref in getConnConfigKeyAtom (#1396) 2024-12-05 12:11:17 -08:00
Mike Sawka
7386fc19f7
activity update + dont allow empty workspace names (#1393) 2024-12-05 10:35:54 -08:00
Mike Sawka
942eeaa8e9
wsh setbg + updated tab background docs (#1394) 2024-12-05 10:27:08 -08:00
Sylvie Crowe
b4b0222c9d
New Connections Configs (#1383)
This adds the following connections changes:
- connections can be hidden from the dropdown in our internal
connections.json config
- `wsh ssh` -i will write identity files to the internal
connections.json config for that connection
- the internal connections.json config will also be used to get identity
files when connecting
- the internal connections.json config allows setting theme, fontsize,
and font for specific connections
- successful connections (including those using wsh ssh) are saved to
the internal connections.json config
- the connections.json config will be used to help pre-populate the
dropdown list
- adds an item to the dropdown to edit the connections config in an
ephemeral block

---------

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2024-12-05 10:02:07 -08:00
Evan Simkowitz
5c315779ba
Remove another instance of redundant Vite Sass config (#1391) 2024-12-04 17:35:05 -08:00
Evan Simkowitz
df2889f280
Fix zombie tab context menus (#1390)
The memoizing of the tabs was causing the callbacks for
handleContextMenu to become dead ends. This makes more of the callbacks
into memoized callbacks and makes the handleContextMenu function itself
a memoized callback to ensure it's properly updated when its upstream
callbacks change.
2024-12-04 17:30:28 -08:00
Evan Simkowitz
87aea21184
Better flicker prevention when switching tabs (#1389)
There was still some flicker when nohover took effect before the tab
view actually switched. Now, we override the active tab in the tabbar
when the app is switching tabs. We also override active tab behavior so
that the close button is always visible while nohover is in effect. This
effectively removes the flickering
2024-12-04 17:20:06 -08:00
dependabot[bot]
402cf2db98
Bump @types/react from 18.3.12 to 18.3.13 in the dev-dependencies group across 1 directory (#1388)
Bumps the dev-dependencies group with 1 update in the / directory:
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).

Updates `@types/react` from 18.3.12 to 18.3.13
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=18.3.12&new-version=18.3.13)](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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 16:27:10 -08:00
Evan Simkowitz
6400678686
Upgrade Vite and other deps to resolve packaging issue (#1387)
There was a bug in Vite 6.0.1
(https://github.com/vitejs/vite/issues/18810) that was preventing NodeJS
libraries from being bundled in the main process. This meant that our
packaged app would refuse to run as it would be unable to find its Node
libraries.

This updates to Vite 6.0.2 to resolve this issue and also updates a few
other deps while we're at it.

Also removes the SASS modern-compiler config from our Vite config since
this is the default behavior in Vite 6.

closes #1373
2024-12-04 16:22:53 -08:00