While matching [user@]host[:port], we previously did not allow capital
letters in host.
While this makes sense for a hostname, it does not make sense to make
that restriction for a host. Since this can match on both, we must widen
it to accept characters allowed in host.
Going forward for new installations, config and data files will be
stored at the platform default paths, as defined by
[env-paths](https://www.npmjs.com/package/env-paths).
For backwards compatibility, if the `~/.waveterm` or `WAVETERM_HOME`
directory exists and contains valid data, it will be used. If this check
fails, then `WAVETERM_DATA_HOME` and `WAVETERM_CONFIG_HOME` will be
used. If these are not defined, then `XDG_DATA_HOME` and
`XDG_CONFIG_HOME` will be used. Finally, if none of these are defined,
the [env-paths](https://www.npmjs.com/package/env-paths) defaults will
be used.
As with the existing app, dev instances will write to `waveterm-dev`
directories, while all others will write to `waveterm`.
Adds new functionality on the backend that will merge any file from the
config directory that matches `<partName>.json` or `<partName>/*.json`
into the corresponding config part (presets, termthemes, etc.). This
lets us separate the AI presets into `presets/ai.json` so that we can
add a dropdown in the AI preset selector that will directly open the
file so a user can edit it more easily. Right now, this will create a
preview block in the layout, but in the future we can look into making
this block disconnected from the layout.
If you put AI presets in the regular presets.json file, it will still
work, since all the presets get merged. Same for any other config part.
Fixes
[https://github.com/wavetermdev/waveterm/security/code-scanning/50](https://github.com/wavetermdev/waveterm/security/code-scanning/50)
To fix the problem, we need to ensure that the size computation for the
allocation does not overflow. This can be achieved by validating the
length of `barr` before performing the arithmetic operation. We will set
a maximum allowable size for `barr` to ensure that the sum of
`oscPrefixLen(oscNum)` and `len(barr)` does not exceed the maximum value
for an `int`.
1. Define a maximum allowable size for `barr` (e.g., 64 MB).
2. Check the length of `barr` against this maximum size before
performing the allocation.
3. If `barr` exceeds the maximum size, return an error.
_Suggested fixes powered by Copilot Autofix. Review carefully before
merging._
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
If a user has changed the global AI settings and added a different base
url, the Wave Proxy preset would not work because it doesn't unset all
the AI settings.
Bumps the prod-dependencies group with 2 updates:
[@floating-ui/react](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react)
and [yaml](https://github.com/eemeli/yaml).
Updates `@floating-ui/react` from 0.26.24 to 0.26.25
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/floating-ui/floating-ui/releases"><code>@floating-ui/react</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@floating-ui/react</code><a
href="https://github.com/0"><code>@0</code></a>.26.25</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix(useListNavigation): handle virtual nested Home/End key
press</li>
<li>fix(useHover): ignore insignificant movement when resetting
<code>restMs</code></li>
<li>fix(useListNavigation): ignore duplicate arrow navigation when
composing</li>
<li>feat(useDelayGroup): add <code>enabled</code> option</li>
<li>fix(useDismiss): handle IME keydown events on Escape</li>
<li>fix(inner): round <code>max-height</code> only if not
scrollable</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/floating-ui/floating-ui/blob/master/packages/react/CHANGELOG.md"><code>@floating-ui/react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>0.26.25</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix(useListNavigation): handle virtual nested Home/End key
press</li>
<li>fix(useHover): ignore insignificant movement when resetting
<code>restMs</code></li>
<li>fix(useListNavigation): ignore duplicate arrow navigation when
composing</li>
<li>feat(useDelayGroup): add <code>enabled</code> option</li>
<li>fix(useDismiss): handle IME keydown events on Escape</li>
<li>fix(inner): round <code>max-height</code> only if not
scrollable</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1ed123b3a5"><code>1ed123b</code></a>
Version Packages (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3074">#3074</a>)</li>
<li><a
href="4a0f925f3a"><code>4a0f925</code></a>
fix(inner): round only if not scrollable (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3081">#3081</a>)</li>
<li><a
href="c0c83b42e4"><code>c0c83b4</code></a>
feat(useDelayGroup): add <code>enabled</code> option (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3080">#3080</a>)</li>
<li><a
href="5f4d7fc02d"><code>5f4d7fc</code></a>
fix(useListNavigation): handle virtual nested Home/End key press (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3079">#3079</a>)</li>
<li><a
href="1d3c35714d"><code>1d3c357</code></a>
fix(useListNavigation): ignore duplicate arrow navigation when composing
(<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3078">#3078</a>)</li>
<li><a
href="da6583b496"><code>da6583b</code></a>
fix(useDismiss): handle IME keydown events on <code>Escape</code> (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3075">#3075</a>)</li>
<li><a
href="98fd2032cf"><code>98fd203</code></a>
fix(useHover): ignore insignificant movement when resetting
<code>restMs</code> (<a
href="https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react/issues/3073">#3073</a>)</li>
<li>See full diff in <a
href="https://github.com/floating-ui/floating-ui/commits/@floating-ui/react@0.26.25/packages/react">compare
view</a></li>
</ul>
</details>
<br />
Updates `yaml` from 2.5.1 to 2.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eemeli/yaml/releases">yaml's
releases</a>.</em></p>
<blockquote>
<h2>v2.6.0</h2>
<ul>
<li>Use a proper tag for <code>!!merge <<</code> keys (<a
href="https://redirect.github.com/eemeli/yaml/issues/580">#580</a>)</li>
<li>Add <code>stringKeys</code> parse option (<a
href="https://redirect.github.com/eemeli/yaml/issues/581">#581</a>)</li>
<li>Stringify a Document as a Document (<a
href="https://redirect.github.com/eemeli/yaml/issues/576">#576</a>)</li>
<li>Add sponsorship by <a
href="https://manifest.build/">Manifest</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="808fba3cde"><code>808fba3</code></a>
2.6.0</li>
<li><a
href="438688f357"><code>438688f</code></a>
fix: Stringify a Document as a Document (fixes <a
href="https://redirect.github.com/eemeli/yaml/issues/576">#576</a>)</li>
<li><a
href="baaabd078a"><code>baaabd0</code></a>
feat: Add stringKeys parse option (<a
href="https://redirect.github.com/eemeli/yaml/issues/581">#581</a>)</li>
<li><a
href="f2fa108376"><code>f2fa108</code></a>
docs: Update Manifest logo (<a
href="https://redirect.github.com/eemeli/yaml/issues/582">#582</a>)</li>
<li><a
href="f088599a9c"><code>f088599</code></a>
docs: Align logos using the restricted styling available for GitHub
readmes</li>
<li><a
href="dbb8a42588"><code>dbb8a42</code></a>
docs: Fix manifest.png reference</li>
<li><a
href="28dc0a4688"><code>28dc0a4</code></a>
chore: Add sponsorship by Manifest</li>
<li><a
href="1491c20eb7"><code>1491c20</code></a>
chore: Refresh lockfile</li>
<li><a
href="7a434f0713"><code>7a434f0</code></a>
feat: Use a proper tag for !!merge << keys (<a
href="https://redirect.github.com/eemeli/yaml/issues/580">#580</a>)</li>
<li>See full diff in <a
href="https://github.com/eemeli/yaml/compare/v2.5.1...v2.6.0">compare
view</a></li>
</ul>
</details>
<br />
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>