Compare commits

..

133 Commits

Author SHA1 Message Date
allcontributors[bot]
84a58de57f docs: update .all-contributorsrc [skip ci] 2022-04-04 10:41:27 +00:00
allcontributors[bot]
b519afc42c docs: update README.it-IT.md [skip ci] 2022-04-04 10:41:26 +00:00
allcontributors[bot]
49aade155b docs: update README.ko-KR.md [skip ci] 2022-04-04 10:41:25 +00:00
allcontributors[bot]
240fc57435 docs: update README.ru-RU.md [skip ci] 2022-04-04 10:41:24 +00:00
allcontributors[bot]
cf7b344fb1 docs: update README.zh-CN.md [skip ci] 2022-04-04 10:41:23 +00:00
allcontributors[bot]
c6e5a951f8 docs: update README.md [skip ci] 2022-04-04 10:41:22 +00:00
Eugeny
de861ad98e Merge pull request #6086 from TimaGribanov/patch-1 2022-04-04 12:41:15 +02:00
Timofey Gribanov
068abec8d8 Update README.ru-RU.md
Added Italian button. Changed language links' texts to the own name in a target language.
2022-04-04 13:38:54 +03:00
Eugene Pankov
98d3b824c4 fixed macOS alt-n and alt-shift-letter handling - fixes #4815, fixes #6029 2022-04-03 17:58:15 +02:00
Eugeny
f3cd986f2b Merge pull request #6060 from Eugeny/dependabot/npm_and_yarn/sentry/cli-1.74.3 2022-04-03 16:13:24 +02:00
Eugene Pankov
6d734ab7c6 Update xtermFrontend.ts 2022-04-03 16:12:23 +02:00
Eugene Pankov
4aa824d725 search improvements, added highlighting - fixes #5940, fixes #5032, fixes #5152 2022-04-03 15:19:22 +02:00
Eugene Pankov
cfa29acb5a search improvements, added decorators 2022-04-03 14:31:36 +02:00
Eugene Pankov
cfa1fd38de bumped xterm 2022-04-03 14:31:07 +02:00
Eugene Pankov
595b92366b rename ssh2 patch 2022-04-03 14:30:44 +02:00
dependabot[bot]
bb59f3a2ef Bump @sentry/cli from 1.73.0 to 1.74.3
Bumps [@sentry/cli](https://github.com/getsentry/sentry-cli) from 1.73.0 to 1.74.3.
- [Release notes](https://github.com/getsentry/sentry-cli/releases)
- [Changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-cli/compare/1.73.0...1.74.3)

---
updated-dependencies:
- dependency-name: "@sentry/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-03 12:10:25 +00:00
Eugene Pankov
a9a0ea3a42 Update icons.json 2022-04-03 14:07:50 +02:00
Eugene Pankov
79cb1f1d9c Merge branch 'master' of github.com:Eugeny/tabby 2022-04-03 14:06:22 +02:00
Eugeny
3a16a118e7 Merge pull request #6015 from Eugeny/dependabot/npm_and_yarn/ssh2-1.8.0 2022-04-03 14:05:52 +02:00
Eugeny
b16210f561 Merge pull request #5993 from Eugeny/dependabot/npm_and_yarn/fortawesome/fontawesome-free-6.1.1 2022-04-03 14:05:45 +02:00
Eugeny
6aafbfc288 Merge pull request #6058 from Eugeny/dependabot/npm_and_yarn/app/windows-process-tree-0.3.3 2022-04-03 14:05:38 +02:00
Eugeny
41aaac6a23 Merge pull request #6059 from Eugeny/dependabot/npm_and_yarn/electron-18.0.1 2022-04-03 14:04:43 +02:00
Eugene Pankov
911e72c398 option to force plain-text copying - fixes #5050 2022-04-03 13:57:40 +02:00
Eugene Pankov
8e00761b0c don't filter out non-monospace fonts - fixes #5544 2022-04-02 18:12:56 +02:00
Eugene Pankov
4dadba7f80 fixed fallback font embedding (powerline icons) - fixes #6071, fixes #3346, fixes #5189 2022-04-02 18:06:35 +02:00
Eugene Pankov
94b3212afb msys2: set correct starting directory - fixes #6079 2022-04-02 17:46:34 +02:00
Eugene Pankov
3a012878d0 Merge branch 'master' of github.com:Eugeny/tabby 2022-04-01 12:51:59 +02:00
Eugene Pankov
bc89774fbc added missing strings 2022-04-01 12:51:53 +02:00
dependabot[bot]
40c3a5427a Bump electron from 17.3.0 to 18.0.1
Bumps [electron](https://github.com/electron/electron) from 17.3.0 to 18.0.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.3.0...v18.0.1)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 04:05:38 +00:00
dependabot[bot]
79b518e17e Bump windows-process-tree from 0.3.2 to 0.3.3 in /app
Bumps [windows-process-tree](https://github.com/Microsoft/vscode-windows-process-tree) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/Microsoft/vscode-windows-process-tree/releases)
- [Commits](https://github.com/Microsoft/vscode-windows-process-tree/compare/0.3.2...0.3.3)

---
updated-dependencies:
- dependency-name: windows-process-tree
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 04:01:48 +00:00
Eugeny
89bbd6669b Merge pull request #6049 from boonkerz/sftp 2022-03-30 19:18:17 +02:00
Thomas Peterson
d1532f64a0 Merge remote-tracking branch 'origin' into sftp 2022-03-30 19:00:42 +02:00
Eugene Pankov
f7e51c298d Merge branch 'master' of github.com:Eugeny/tabby 2022-03-30 14:20:10 +02:00
Eugene Pankov
a9bcc0b206 sftp: fixed folder refresh after uploading 2022-03-30 14:20:06 +02:00
Thomas Peterson
45eebf47f3 Fixing Lang Typo 2022-03-30 14:01:01 +02:00
Thomas Peterson
a4600890c3 Fixing Lang Typo 2022-03-30 13:59:56 +02:00
Thomas Peterson
54aa027764 Fixing the modal dialog and some architecture issues :) 2022-03-30 13:57:54 +02:00
boonkerz
8904209bb5 Update tabby-ssh/src/components/sftpCreateDirectoryModal.component.pug
Co-authored-by: Eugeny <x@null.page>
2022-03-30 09:10:22 +02:00
boonkerz
d710c5d3fa Update tabby-ssh/src/sftpContextMenu.ts
Co-authored-by: Eugeny <x@null.page>
2022-03-30 09:10:16 +02:00
Thomas Peterson
e2a74a2f6e Fix Typings 2022-03-29 18:43:32 +02:00
Thomas Peterson
e223effe98 SFTP Feature: implement Create Folder 2022-03-29 18:26:57 +02:00
Eugeny
4b02d61f3f Merge pull request #6048 from Eugeny/all-contributors/add-artu-ole 2022-03-29 16:35:50 +02:00
allcontributors[bot]
9b8ae6d6be docs: update .all-contributorsrc [skip ci] 2022-03-29 14:35:43 +00:00
allcontributors[bot]
c9e8e54fe3 docs: update README.it-IT.md [skip ci] 2022-03-29 14:35:42 +00:00
allcontributors[bot]
004a04640d docs: update README.ko-KR.md [skip ci] 2022-03-29 14:35:41 +00:00
allcontributors[bot]
e71ac85ec3 docs: update README.ru-RU.md [skip ci] 2022-03-29 14:35:40 +00:00
allcontributors[bot]
ed2d1a1606 docs: update README.zh-CN.md [skip ci] 2022-03-29 14:35:39 +00:00
allcontributors[bot]
edc9656fd2 docs: update README.md [skip ci] 2022-03-29 14:35:38 +00:00
Eugeny
65ef8cde5a Merge pull request #6046 from artu-ole/master 2022-03-29 16:35:18 +02:00
Artur
6e09931952 Preserve profile groups collapse state.
use local storage rather than config store
Remove config save and toggleGroupCollapse not to be async
2022-03-29 15:24:58 +03:00
dependabot[bot]
4e8cb70fe0 Bump ssh2 from 1.7.0 to 1.8.0
Bumps [ssh2](https://github.com/mscdex/ssh2) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/mscdex/ssh2/releases)
- [Commits](https://github.com/mscdex/ssh2/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: ssh2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 12:11:04 +00:00
Eugeny
40cf2bde9b Merge pull request #6047 from Eugeny/dependabot/npm_and_yarn/app/minimist-1.2.6 2022-03-29 14:07:26 +02:00
Eugeny
21b70b3ee5 Merge pull request #6043 from Eugeny/dependabot/npm_and_yarn/tabby-ssh/types/ssh2-0.5.52 2022-03-29 14:07:17 +02:00
Eugeny
2f4318e1f4 Merge pull request #6041 from Eugeny/dependabot/npm_and_yarn/electron-17.3.0 2022-03-29 14:07:09 +02:00
Eugeny
c75c5aae14 Merge pull request #6025 from Eugeny/dependabot/npm_and_yarn/plist-3.0.5 2022-03-29 14:06:42 +02:00
Eugeny
c39d79c1c6 Merge pull request #5969 from Eugeny/dependabot/npm_and_yarn/sortablejs-1.15.0 2022-03-29 14:06:30 +02:00
dependabot[bot]
418df22da4 Bump minimist from 1.2.5 to 1.2.6 in /app
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 12:00:13 +00:00
Eugeny
2f66dc3bb0 Merge pull request #6020 from Eugeny/dependabot/npm_and_yarn/tabby-web-demo/minimist-1.2.6 2022-03-29 13:59:46 +02:00
Eugeny
2a192af169 Merge pull request #6021 from Eugeny/dependabot/npm_and_yarn/web/minimist-1.2.6 2022-03-29 13:59:37 +02:00
Eugeny
a1f269f8ac Merge pull request #6022 from Eugeny/dependabot/npm_and_yarn/tabby-core/minimist-1.2.6 2022-03-29 13:59:32 +02:00
Eugeny
c1386349ea Merge pull request #6023 from Eugeny/dependabot/npm_and_yarn/tabby-terminal/minimist-1.2.6 2022-03-29 13:59:27 +02:00
Eugeny
80443b073c Merge pull request #6024 from Eugeny/dependabot/npm_and_yarn/minimist-1.2.6 2022-03-29 13:59:20 +02:00
dependabot[bot]
591f0eb445 Bump @types/ssh2 from 0.5.51 to 0.5.52 in /tabby-ssh
Bumps [@types/ssh2](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ssh2) from 0.5.51 to 0.5.52.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ssh2)

---
updated-dependencies:
- dependency-name: "@types/ssh2"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 04:18:53 +00:00
dependabot[bot]
b2333d5c7c Bump electron from 17.2.0 to 17.3.0
Bumps [electron](https://github.com/electron/electron) from 17.2.0 to 17.3.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.2.0...v17.3.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 04:04:11 +00:00
Eugeny
a5282eaf8c Merge pull request #6006 from Eugeny/dependabot/npm_and_yarn/electron-17.2.0 2022-03-26 23:09:40 +01:00
Eugeny
5a5b73a636 Merge pull request #6014 from Eugeny/dependabot/npm_and_yarn/electron-notarize-1.2.1 2022-03-26 23:08:25 +01:00
Eugeny
f406de1873 Merge pull request #6028 from Eugeny/all-contributors/add-ysc3839 2022-03-26 23:08:16 +01:00
allcontributors[bot]
7744b28561 docs: update .all-contributorsrc [skip ci] 2022-03-26 22:07:56 +00:00
allcontributors[bot]
a32ec15d30 docs: update README.it-IT.md [skip ci] 2022-03-26 22:07:55 +00:00
allcontributors[bot]
88c8a4667a docs: update README.ko-KR.md [skip ci] 2022-03-26 22:07:54 +00:00
allcontributors[bot]
a9d6a968d5 docs: update README.ru-RU.md [skip ci] 2022-03-26 22:07:53 +00:00
Eugeny
018355ce44 Merge pull request #6027 from ysc3839/fix-win7-crash 2022-03-26 23:07:52 +01:00
allcontributors[bot]
47a837b109 docs: update README.zh-CN.md [skip ci] 2022-03-26 22:07:52 +00:00
allcontributors[bot]
116c144576 docs: update README.md [skip ci] 2022-03-26 22:07:51 +00:00
Richard Yu
aedad13f48 fix crash on Windows 7 2022-03-27 04:19:22 +08:00
dependabot[bot]
b9abe4f2ca Bump plist from 3.0.4 to 3.0.5
Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/TooTallNate/node-plist/releases)
- [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-plist/commits)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:12 +00:00
dependabot[bot]
d1e85dc870 Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:09 +00:00
dependabot[bot]
2f0ebf9a61 Bump minimist from 1.2.5 to 1.2.6 in /tabby-terminal
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:04 +00:00
dependabot[bot]
ac36627392 Bump minimist from 1.2.5 to 1.2.6 in /tabby-core
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:03 +00:00
dependabot[bot]
fab5feb29d Bump minimist from 1.2.5 to 1.2.6 in /web
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:01 +00:00
Eugeny
69ddd2fc9f Merge pull request #6019 from Eugeny/all-contributors/add-Jai-JAP 2022-03-26 11:48:01 +01:00
dependabot[bot]
3e7f4dd6dc Bump minimist from 1.2.5 to 1.2.6 in /tabby-web-demo
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 10:48:00 +00:00
allcontributors[bot]
296be13b40 docs: update .all-contributorsrc [skip ci] 2022-03-26 10:47:52 +00:00
allcontributors[bot]
2d7398c623 docs: update README.it-IT.md [skip ci] 2022-03-26 10:47:51 +00:00
allcontributors[bot]
add55d014e docs: update README.ko-KR.md [skip ci] 2022-03-26 10:47:50 +00:00
allcontributors[bot]
0c8c2d3e95 docs: update README.ru-RU.md [skip ci] 2022-03-26 10:47:49 +00:00
allcontributors[bot]
9b07ab053a docs: update README.zh-CN.md [skip ci] 2022-03-26 10:47:48 +00:00
allcontributors[bot]
f447658c62 docs: update README.md [skip ci] 2022-03-26 10:47:47 +00:00
Eugeny
40e0bcce17 Merge pull request #5907 from Jai-JAP/master 2022-03-26 11:47:30 +01:00
Jai A P
48c06fc26e Update build-linux.js 2022-03-25 19:28:02 +05:30
Jai A P
360b75693b Update build-native.js 2022-03-25 19:27:36 +05:30
Jai A P
579c0e9aa5 Update HACKING.md 2022-03-25 17:05:54 +05:30
Jai A P
5a66a64f87 Update build-native.js 2022-03-25 16:26:37 +05:30
Jai A P
ead2dbc208 Update build-native.js 2022-03-25 16:25:39 +05:30
Jai A P
37ba06b65c Update build-linux.js 2022-03-25 16:25:06 +05:30
Jai A P
b2c611f9a6 Update build-native.js 2022-03-25 16:21:58 +05:30
Jai A P
eb6bf288cc Update build.yml 2022-03-25 16:19:20 +05:30
Jai A P
0f35b3bcfa Update build.yml 2022-03-25 16:16:57 +05:30
Jai A P
86effd748f Merge branch 'Eugeny:master' into master 2022-03-25 16:11:53 +05:30
dependabot[bot]
98f19e1ada Bump electron-notarize from 1.1.1 to 1.2.1
Bumps [electron-notarize](https://github.com/electron/electron-notarize) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/electron/electron-notarize/releases)
- [Changelog](https://github.com/electron/electron-notarize/blob/master/.releaserc.json)
- [Commits](https://github.com/electron/electron-notarize/compare/v1.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: electron-notarize
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-25 04:05:49 +00:00
dependabot[bot]
9ac7a67d74 Bump electron from 17.1.2 to 17.2.0
Bumps [electron](https://github.com/electron/electron) from 17.1.2 to 17.2.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.1.2...v17.2.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-24 04:11:22 +00:00
dependabot[bot]
adac51c71d Bump @fortawesome/fontawesome-free from 6.0.0 to 6.1.1
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.0.0 to 6.1.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.0.0...6.1.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-23 04:03:55 +00:00
Eugene Pankov
aee6ae907d added missing strings to .pot 2022-03-22 15:28:55 +01:00
Eugene Pankov
75c911b5e4 locale update, added Portuguese (Brazil) and missing strings 2022-03-22 15:25:41 +01:00
Eugene Pankov
8ec419f8e5 fixed duplicate default hotkeys 2022-03-22 11:28:17 +01:00
jai-jap
2229d54b33 Revert "Delete build.yml"
This reverts commit 332c5c0b5e.
2022-03-21 15:50:26 +05:30
jai-jap
8c0d681345 Revert "Delete docs.yml"
This reverts commit f18c1f6d3a.
2022-03-21 15:50:14 +05:30
Jai A P
541c264384 Merge branch 'Eugeny:master' into master 2022-03-21 15:39:01 +05:30
Jai A P
f18c1f6d3a Delete docs.yml 2022-03-21 15:33:23 +05:30
Jai A P
332c5c0b5e Delete build.yml 2022-03-21 15:33:13 +05:30
Jai A P
4aca0fdf09 Update build-native.js 2022-03-21 12:09:24 +05:30
Jai A P
26f93f7ac5 Update build-linux.js 2022-03-21 12:08:52 +05:30
dependabot[bot]
237cb5b26c Bump sortablejs from 1.14.0 to 1.15.0
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.14.0...1.15.0)

---
updated-dependencies:
- dependency-name: sortablejs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 04:04:56 +00:00
Jai A P
f2f0953b24 Fix windows 2022-03-09 22:04:29 +05:30
Jai A P
39fbf467de Update build.yml 2022-03-09 21:32:28 +05:30
Jai A P
d6bcdbde78 Fixes 2022-03-09 21:27:29 +05:30
Jai A P
38f8a7cfef Update build.yml 2022-03-09 17:18:07 +05:30
Jai A P
b27f5c2145 Revert last change 2022-03-09 12:37:16 +05:30
Jai A P
c3e4031aab Update build-linux.js 2022-03-09 12:36:10 +05:30
Jai A P
8c96788b00 Merge branch 'Eugeny:master' into master 2022-03-09 11:52:59 +05:30
Jai A P
725edd53cb Update build-windows.js 2022-03-09 11:19:04 +05:30
Jai A P
1b31187201 Update build.yml 2022-03-09 11:17:02 +05:30
Jai A P
b5506cff61 Update build-linux.js 2022-03-09 10:35:37 +05:30
Jai A P
5c325a347c Update build.yml 2022-03-08 23:15:58 +05:30
Jai A P
b70a193dbd Update build.yml 2022-03-08 22:58:11 +05:30
Jai A P
e2d4ef58c4 Update build.yml 2022-03-08 22:45:46 +05:30
Jai A P
d35c03d083 Update build.yml 2022-03-08 22:35:56 +05:30
Jai A P
c533e6c8fd Update electron-builder.yml 2022-03-08 22:31:13 +05:30
Jai-JAP
690a632f96 Add windows arm64 2022-03-08 21:53:59 +05:30
Jai-JAP
d8bec496ee Fix Linux pacman uploads 2022-03-08 21:43:09 +05:30
Jai-JAP
ea38943905 Fixes 2022-03-08 21:14:19 +05:30
Jai-JAP
90bd8b424f Manual run 2022-03-08 21:11:08 +05:30
Jai-JAP
a874a5e4d5 Add Linux armv7l and arm64 support 2022-03-08 20:59:59 +05:30
65 changed files with 2698 additions and 429 deletions

View File

@@ -655,6 +655,42 @@
"contributions": [
"code"
]
},
{
"login": "Jai-JAP",
"name": "Jai A P",
"avatar_url": "https://avatars.githubusercontent.com/u/78354625?v=4",
"profile": "https://github.com/Jai-JAP",
"contributions": [
"platform"
]
},
{
"login": "ysc3839",
"name": "Richard Yu",
"avatar_url": "https://avatars.githubusercontent.com/u/12028138?v=4",
"profile": "https://blog.ysc3839.com",
"contributions": [
"code"
]
},
{
"login": "artu-ole",
"name": "artu-ole",
"avatar_url": "https://avatars.githubusercontent.com/u/15938416?v=4",
"profile": "https://github.com/artu-ole",
"contributions": [
"code"
]
},
{
"login": "TimaGribanov",
"name": "Timofey Gribanov",
"avatar_url": "https://avatars.githubusercontent.com/u/48593815?v=4",
"profile": "https://timagribanov.github.io/",
"contributions": [
"doc"
]
}
],
"contributorsPerLine": 7,

View File

@@ -64,7 +64,7 @@ jobs:
env:
ARCH: ${{matrix.arch}}
- name: Build native deps
- name: Fix cross build
run: |
rm -rf app/node_modules/cpu-features
rm -rf app/node_modules/ssh2/crypto/build
@@ -199,8 +199,6 @@ jobs:
mv dist/*.rpm artifact-rpm/ || true
mkdir artifact-pacman
mv dist/*.pacman artifact-pacman/ || true
mkdir artifact-snap
mv dist/*.snap artifact-snap/ || true
mkdir artifact-tar.gz
mv dist/*.tar.gz artifact-tar.gz/ || true
mkdir artifact-web
@@ -209,31 +207,25 @@ jobs:
- uses: actions/upload-artifact@master
name: Upload DEB
with:
name: Linux DEB
name: Linux DEB (x86_64)
path: artifact-deb
- uses: actions/upload-artifact@master
name: Upload RPM
with:
name: Linux RPM
name: Linux RPM (x86_64)
path: artifact-rpm
- uses: actions/upload-artifact@master
name: Upload Pacman Package
with:
name: Linux Pacman
name: Linux Pacman (x86_64)
path: artifact-pacman
- uses: actions/upload-artifact@master
name: Upload Snap
with:
name: Linux Snap
path: artifact-snap
- uses: actions/upload-artifact@master
name: Upload Linux tarball
with:
name: Linux tarball
name: Linux tarball (x86_64)
path: artifact-tar.gz
- uses: actions/upload-artifact@master
@@ -242,9 +234,15 @@ jobs:
name: Web tarball
path: artifact-web
Windows-Build:
runs-on: windows-2022
needs: Lint
strategy:
matrix:
include:
- arch: x86_64
- arch: arm64
steps:
- name: Checkout
@@ -270,6 +268,8 @@ jobs:
node scripts/build-native.js
yarn run build
node scripts/prepackage-plugins.js
env:
ARCH: ${{matrix.arch}}
- name: Build and sign packages
run: node scripts/build-windows.js
@@ -283,6 +283,8 @@ jobs:
- name: Build packages without signing
run: node scripts/build-windows.js
if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))"
env:
ARCH: ${{matrix.arch}}
- name: Upload symbols
run: |
@@ -296,18 +298,18 @@ jobs:
- name: Package artifacts
run: |
mkdir artifact-setup
mv dist/*-setup.exe artifact-setup/
mv dist/*-setup-*.exe artifact-setup/
mkdir artifact-portable
mv dist/*-portable.zip artifact-portable/
mv dist/*-portable-*.zip artifact-portable/
- uses: actions/upload-artifact@master
name: Upload installer
with:
name: Windows installer
name: Windows installer (${{matrix.arch}})
path: artifact-setup
- uses: actions/upload-artifact@master
name: Upload portable build
with:
name: Windows portable build
name: Windows portable build (${{matrix.arch}})
path: artifact-portable

View File

@@ -14,6 +14,8 @@ yarn
./scripts/build-native.js
```
**Note: For compiling for Linux armv7l, you need to downgrade electron to 17.0.0 in package.json present in root directory of tabby source**
```
# Linux (Debian/Ubuntu here as an example)
sudo apt install libfontconfig-dev libsecret-1-dev libarchive-tools libnss3 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm1 cmake

View File

@@ -241,6 +241,10 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
</tr>
<tr>
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -235,6 +235,10 @@ Pull requests and plugins are welcome!
</tr>
<tr>
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -240,6 +240,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
</tr>
<tr>
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -21,7 +21,7 @@
<br/>
<p align="center">
Этот README также доступен на: <a href="./README.md">Английском</a> <a href="./README.ko-KR.md">Корейском</a> <a href="./README.zh-CN.md">Китайском</a>
Этот README также доступен на: <a href="./README.md">English</a> <a href="./README.ko-KR.md">한국어</a> <a href="./README.zh-CN.md">简体中文</a> <a href="./README.it-IT.md">Italiano</a>
</p>
----
@@ -241,6 +241,10 @@ Pull-запросы и плагины приветствуются!
</tr>
<tr>
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -240,6 +240,10 @@
</tr>
<tr>
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -182,7 +182,7 @@ export class Window {
console.error('Failed to set window blur', error)
}
} else {
DwmEnableBlurBehindWindow(this.window, enabled)
DwmEnableBlurBehindWindow(this.window.getNativeWindowHandle(), enabled)
}
} else if (process.platform === 'linux') {
this.window.setBackgroundColor(enabled ? '#00000000' : '#131d27')

View File

@@ -40,7 +40,7 @@
"serialport": "10.4.0",
"serialport-binding-webserialapi": "^1.0.3",
"windows-native-registry": "^3.2.1",
"windows-process-tree": "^0.3.2"
"windows-process-tree": "^0.3.3"
},
"devDependencies": {
"@types/mz": "2.7.4",

View File

@@ -2133,9 +2133,9 @@ minimatch@^3.0.4:
brace-expansion "^1.1.7"
minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
version "2.9.0"
@@ -3885,10 +3885,10 @@ windows-native-registry@^3.2.1:
dependencies:
node-addon-api "^3.1.0"
windows-process-tree@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.2.tgz#8c39f39e7707e09fd74638a7ef644b5f389096d3"
integrity sha512-x8Y4KOV8tUhhPiO0TH7wOMTZ677rw7VEwq+dTuHHiLTClkrNXWSY3XzP6ez3fs2Cab4FajrtmiqRs0jTMZHfyw==
windows-process-tree@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.3.tgz#7c178815f02bf4cfbcac1f93b2f3a3cc10bc9245"
integrity sha512-rkiAMP0AS27xikFyn7i4gPbOK16UdjY8X/C6eo37CnfNLqTvK2eEaT+Dh0e5xnvmlsi0lEKd60O+4ajzfDkq7A==
dependencies:
nan "^2.13.2"

View File

@@ -39,11 +39,11 @@ publish:
win:
icon: "./build/windows/icon.ico"
artifactName: tabby-${version}-portable.${ext}
artifactName: tabby-${version}-portable-${env.ARCH}.${ext}
rfc3161TimeStampServer: http://timestamp.sectigo.com
nsis:
oneClick: false
artifactName: tabby-${version}-setup.${ext}
artifactName: tabby-${version}-setup-${env.ARCH}.${ext}
installerIcon: "./build/windows/icon.ico"
allowToChangeInstallationDirectory: true
shortcutName: Tabby Terminal
@@ -68,7 +68,7 @@ mac:
linux:
category: "Utility;TerminalEmulator;System"
icon: "./build/icons"
artifactName: tabby-${version}-linux.${ext}
artifactName: tabby-${version}-linux-${env.ARCH}.${ext}
executableArgs:
- "--no-sandbox"
desktop:

View File

@@ -190,12 +190,12 @@ msgid "Bracketed paste (requires shell support)"
msgstr ""
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:48
#: tabby-settings/src/components/profilesSettingsTab.component.ts:164
#: tabby-settings/src/components/profilesSettingsTab.component.ts:165
msgid "Built-in"
msgstr ""
#: locale/tmp-html/tabby-core/src/components/renameTabModal.component.html:7
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:53
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:55
#: locale/tmp-html/tabby-settings/src/components/hotkeyInputModal.component.html:14
#: locale/tmp-html/tabby-settings/src/components/setVaultPassphraseModal.component.html:14
#: locale/tmp-html/tabby-ssh/src/components/sftpDeleteModal.component.html:7
@@ -226,7 +226,7 @@ msgstr ""
msgid "Ciphers"
msgstr ""
#: tabby-core/src/services/profiles.service.ts:124
#: tabby-core/src/services/profiles.service.ts:125
msgid "Clear recent profiles"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Close tabs to the right"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:33
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:35
#: tabby-core/src/tabContextMenu.ts:124
msgid "Color"
msgstr ""
@@ -318,8 +318,8 @@ msgstr ""
msgid "Connect through a proxy server"
msgstr ""
#: tabby-core/src/index.ts:211
#: tabby-core/src/services/profiles.service.ts:166
#: tabby-core/src/index.ts:214
#: tabby-core/src/services/profiles.service.ts:170
msgid "Connect to \"%s\"..."
msgstr ""
@@ -329,7 +329,7 @@ msgstr ""
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:10
#: tabby-serial/src/components/serialTab.component.ts:72
#: tabby-ssh/src/components/sshTab.component.ts:144
#: tabby-ssh/src/components/sshTab.component.ts:145
#: tabby-telnet/src/components/telnetTab.component.ts:81
msgid "Connecting"
msgstr ""
@@ -342,7 +342,7 @@ msgstr ""
msgid "Connection failed: {error}"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:40
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:42
msgid "Connection name will be used instead"
msgstr ""
@@ -400,6 +400,10 @@ msgstr ""
msgid "Cursor shape"
msgstr ""
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:47
msgid "Custom"
msgstr ""
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:77
msgid "Custom CSS"
msgstr ""
@@ -431,19 +435,19 @@ msgstr ""
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:28
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:9
#: tabby-settings/src/components/profilesSettingsTab.component.ts:129
#: tabby-settings/src/components/profilesSettingsTab.component.ts:191
#: tabby-settings/src/components/profilesSettingsTab.component.ts:204
#: tabby-settings/src/components/profilesSettingsTab.component.ts:194
#: tabby-settings/src/components/profilesSettingsTab.component.ts:207
#: tabby-settings/src/components/vaultSettingsTab.component.ts:49
#: tabby-ssh/src/sftpContextMenu.ts:33
#: tabby-ssh/src/sftpContextMenu.ts:41
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:86
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:89
#: tabby-terminal/src/components/loginScriptsSettings.component.ts:32
msgid "Delete"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:127
#: tabby-settings/src/components/profilesSettingsTab.component.ts:189
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:84
#: tabby-settings/src/components/profilesSettingsTab.component.ts:192
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:87
msgid "Delete \"{name}\"?"
msgstr ""
@@ -459,7 +463,7 @@ msgstr ""
msgid "Delete previous word"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:201
#: tabby-settings/src/components/profilesSettingsTab.component.ts:204
msgid "Delete the group's profiles?"
msgstr ""
@@ -487,10 +491,14 @@ msgstr ""
msgid "Disable"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:39
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:41
msgid "Disable dynamic tab title"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:189
msgid "Disable fluent background while dragging"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:182
msgid "Disable GPU acceleration"
msgstr ""
@@ -500,12 +508,12 @@ msgid "Disabled"
msgstr ""
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:26
#: tabby-ssh/src/components/sshTab.component.ts:245
#: tabby-ssh/src/components/sshTab.component.ts:246
#: tabby-telnet/src/components/telnetTab.component.ts:124
msgid "Disconnect"
msgstr ""
#: tabby-ssh/src/components/sshTab.component.ts:243
#: tabby-ssh/src/components/sshTab.component.ts:244
#: tabby-telnet/src/components/telnetTab.component.ts:122
msgid "Disconnect from {host}?"
msgstr ""
@@ -518,7 +526,7 @@ msgstr ""
msgid "Do not abort"
msgstr ""
#: tabby-ssh/src/components/sshTab.component.ts:246
#: tabby-ssh/src/components/sshTab.component.ts:247
#: tabby-telnet/src/components/telnetTab.component.ts:125
msgid "Do not close"
msgstr ""
@@ -654,6 +662,10 @@ msgstr ""
msgid "Fixed"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:190
msgid "Fluent background sometimes causes drag lag"
msgstr ""
#: tabby-local/src/tabContextMenu.ts:136
msgid "Focus all panes"
msgstr ""
@@ -893,9 +905,9 @@ msgid "Jump to previous word"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:130
#: tabby-settings/src/components/profilesSettingsTab.component.ts:192
#: tabby-settings/src/components/profilesSettingsTab.component.ts:195
#: tabby-settings/src/components/vaultSettingsTab.component.ts:50
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:87
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:90
#: tabby-terminal/src/components/loginScriptsSettings.component.ts:33
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:49
msgid "Keep"
@@ -990,7 +1002,7 @@ msgid "Local echo"
msgstr ""
#: tabby-local/src/profiles.ts:11
#: tabby-settings/src/components/profilesSettingsTab.component.ts:238
#: tabby-settings/src/components/profilesSettingsTab.component.ts:237
msgid "Local terminal"
msgstr ""
@@ -1004,7 +1016,7 @@ msgstr ""
msgid "Long-click for context menu"
msgstr ""
#: tabby-core/src/services/profiles.service.ts:151
#: tabby-core/src/services/profiles.service.ts:154
msgid "Manage profiles"
msgstr ""
@@ -1032,7 +1044,7 @@ msgstr ""
msgid "Move tab to the right"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:203
#: tabby-settings/src/components/profilesSettingsTab.component.ts:206
msgid "Move to \"Ungrouped\""
msgstr ""
@@ -1061,7 +1073,7 @@ msgstr ""
msgid "New item"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:173
#: tabby-settings/src/components/profilesSettingsTab.component.ts:176
#: tabby-settings/src/components/vaultSettingsTab.component.ts:118
msgid "New name"
msgstr ""
@@ -1294,7 +1306,7 @@ msgid "Ports"
msgstr ""
#: tabby-serial/src/components/serialTab.component.ts:92
#: tabby-ssh/src/components/sshTab.component.ts:176
#: tabby-ssh/src/components/sshTab.component.ts:177
#: tabby-telnet/src/components/telnetTab.component.ts:58
msgid "Press any key to reconnect"
msgstr ""
@@ -1329,7 +1341,7 @@ msgstr ""
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:2
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:4
#: tabby-local/src/services/dockMenu.service.ts:25
#: tabby-local/src/services/dockMenu.service.ts:40
msgid "Profiles"
msgstr ""
@@ -1354,8 +1366,8 @@ msgstr ""
msgid "Puts all of Tabby's configuration into the vault"
msgstr ""
#: tabby-core/src/index.ts:210
#: tabby-core/src/services/profiles.service.ts:165
#: tabby-core/src/index.ts:213
#: tabby-core/src/services/profiles.service.ts:169
msgid "Quick connect"
msgstr ""
@@ -1373,7 +1385,8 @@ msgid "Ready Timeout (Milliseconds)"
msgstr ""
#: tabby-core/src/services/profiles.service.ts:112
#: tabby-core/src/services/profiles.service.ts:125
#: tabby-core/src/services/profiles.service.ts:126
#: tabby-local/src/services/dockMenu.service.ts:28
msgid "Recent"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Run as administrator"
msgstr ""
#: locale/tmp-html/tabby-core/src/components/renameTabModal.component.html:6
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:52
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:54
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:28
msgid "Save"
msgstr ""
@@ -1527,12 +1540,24 @@ msgstr ""
msgid "Search"
msgstr ""
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:10
msgid "Search color schemes"
msgstr ""
#: tabby-settings/src/components/hotkeySettingsTab.component.ts:11
msgid "Search hotkeys"
msgstr ""
#: tabby-plugin-manager/src/components/pluginsSettingsTab.component.ts:14
msgid "Search plugins"
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:19
msgid "Secret sync token"
msgstr ""
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:45
#: tabby-electron/src/services/platform.service.ts:208
#: tabby-electron/src/services/platform.service.ts:209
msgid "Select"
msgstr ""
@@ -1544,11 +1569,11 @@ msgstr ""
msgid "Select file storage"
msgstr ""
#: tabby-core/src/index.ts:222
#: tabby-core/src/index.ts:225
msgid "Select profile"
msgstr ""
#: tabby-core/src/services/profiles.service.ts:174
#: tabby-core/src/services/profiles.service.ts:178
msgid "Select profile or enter an address"
msgstr ""
@@ -1912,7 +1937,7 @@ msgstr ""
msgid "Try again"
msgstr ""
#: tabby-ssh/src/session/ssh.ts:473
#: tabby-ssh/src/session/ssh.ts:474
msgid "Trying saved password"
msgstr ""
@@ -1928,7 +1953,7 @@ msgstr ""
msgid "Uninstall"
msgstr ""
#: tabby-settings/src/components/profilesSettingsTab.component.ts:241
#: tabby-settings/src/components/profilesSettingsTab.component.ts:240
msgid "Unknown"
msgstr ""
@@ -1983,7 +2008,7 @@ msgstr ""
msgid "Using CONNECT method"
msgstr ""
#: tabby-ssh/src/session/ssh.ts:462
#: tabby-ssh/src/session/ssh.ts:463
msgid "Using preset password"
msgstr ""

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
"PO-Revision-Date: 2022-02-28 08:08\n"
"PO-Revision-Date: 2022-03-22 14:14\n"
#: tabby-local/src/components/terminalTab.component.ts:113
msgid "\"{command}\" is still running. Close?"
@@ -128,7 +128,7 @@ msgstr "Chiedi conferma prima di chiudere una scheda"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:122
msgid "Audible"
msgstr "Sonoro"
msgstr "Sonore"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:74
msgid "Authentication method"
@@ -1147,7 +1147,7 @@ msgstr "Numero di righe conservate nel buffer"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:116
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:48
msgid "Off"
msgstr "Spento"
msgstr "Disattivo"
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:79
msgid "Official"
@@ -1707,7 +1707,7 @@ msgstr "Porta proxy SOCKS"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:109
msgid "Sound"
msgstr "Avvisi"
msgstr "Notifiche"
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:31
msgid "Source code"
@@ -1867,7 +1867,7 @@ msgstr "Sfondo del terminale"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:112
msgid "Terminal bell"
msgstr "Avvisi del terminale"
msgstr "Notifiche del terminale"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2040,7 +2040,7 @@ msgstr "Trasparenza"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:119
msgid "Visual"
msgstr "Visivo"
msgstr "Visive"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:102
msgid "Warn on multi-line paste"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
"PO-Revision-Date: 2022-02-28 08:08\n"
"PO-Revision-Date: 2022-03-22 14:14\n"
#: tabby-local/src/components/terminalTab.component.ts:113
msgid "\"{command}\" is still running. Close?"
@@ -288,7 +288,7 @@ msgstr "Szablon kolorów"
#: tabby-core/src/hotkeys.ts:65
msgid "Combine all tabs into the current tab"
msgstr ""
msgstr "Połącz wszystkie karty w aktualną kartę"
#: locale/tmp-html/tabby-local/src/components/commandLineEditor.component.html:4
msgid "Command line"
@@ -831,15 +831,15 @@ msgstr "Klawisze skrótów"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
msgstr ""
msgstr "HTTP proxy"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:61
msgid "HTTP proxy host"
msgstr ""
msgstr "HTTP proxy host"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:65
msgid "HTTP proxy port"
msgstr ""
msgstr "HTTP proxy port"
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:20
msgid "Icon"
@@ -929,7 +929,7 @@ msgstr "Wymiana kluczy"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
msgid "Keyboard"
msgstr ""
msgstr "Klawiatura"
#: locale/tmp-html/tabby-ssh/src/components/keyboardInteractiveAuthPanel.component.html:2
msgid "Keyboard-interactive auth"
@@ -1032,7 +1032,7 @@ msgstr "Zmodyfikowano {date}"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:40
msgid "Mouse"
msgstr ""
msgstr "Mysz"
#: tabby-core/src/hotkeys.ts:45
msgid "Move tab to the left"
@@ -1707,7 +1707,7 @@ msgstr "SOCKS proxy port"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:109
msgid "Sound"
msgstr ""
msgstr "Dźwięk"
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:31
msgid "Source code"
@@ -1928,7 +1928,7 @@ msgstr "Próba zapisanego hasła"
#: tabby-core/src/hotkeys.ts:61
msgid "Turn current tab's panes into separate tabs"
msgstr ""
msgstr "Zamień panele bieżącej karty w oddzielne karty"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
msgid "Ungrouped"
@@ -1991,7 +1991,7 @@ msgstr "Nazwa Użytkownika"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:25
msgid "Using CONNECT method"
msgstr ""
msgstr "Użycie metody CONNECT"
#: tabby-ssh/src/session/ssh.ts:462
msgid "Using preset password"
@@ -2097,7 +2097,7 @@ msgstr "Ramka okna"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:147
msgid "Windows"
msgstr ""
msgstr "Windows"
#: locale/tmp-html/tabby-local/src/components/shellSettingsTab.component.html:11
msgid "Windows 10 build 18309 or above is recommended for ConPTY"

2159
locale/pt-BR.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
"PO-Revision-Date: 2022-03-06 13:35\n"
"PO-Revision-Date: 2022-03-22 14:20\n"
#: tabby-local/src/components/terminalTab.component.ts:113
msgid "\"{command}\" is still running. Close?"
@@ -847,7 +847,7 @@ msgstr "Ícone"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:154
msgid "id.tab-width.dynamic"
msgstr "id.tab-width.dynamic"
msgstr "Dinâmico"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:64
msgid "If disabled, only custom profiles will show up in the profile selector"
@@ -2155,5 +2155,5 @@ msgstr "Diminuir zoom"
#: locale/tmp-html/tabby-ssh/src/components/sshPortForwardingConfig.component.html:55
msgctxt "[Dynamic] port forwarding"
msgid "id.port-forwarding.dynamic"
msgstr "id.port-forwarding.dynamic"
msgstr "Dinâmico"

View File

@@ -9,9 +9,9 @@
"@angular/platform-browser": "^12.0.0",
"@angular/platform-browser-dynamic": "^12.0.0",
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
"@fortawesome/fontawesome-free": "^6.0.0",
"@fortawesome/fontawesome-free": "^6.1.1",
"@ng-bootstrap/ng-bootstrap": "^10.0.0",
"@sentry/cli": "^1.73.0",
"@sentry/cli": "^1.74.3",
"@sentry/electron": "^2.5.4",
"@tabby-gang/to-string-loader": "^1.1.7-beta.2",
"@types/deep-equal": "1.0.1",
@@ -34,11 +34,11 @@
"cross-env": "7.0.3",
"css-loader": "^6.7.1",
"deep-equal": "2.0.5",
"electron": "17.1.2",
"electron": "18.0.1",
"electron-builder": "^22.14.13",
"electron-download": "^4.1.1",
"electron-installer-snap": "^5.1.0",
"electron-notarize": "^1.1.1",
"electron-notarize": "^1.2.1",
"electron-rebuild": "^3.2.7",
"eslint": "^7.32.0",
"file-loader": "^6.2.0",
@@ -68,11 +68,11 @@
"shell-quote": "^1.7.3",
"shelljs": "0.8.5",
"slugify": "^1.6.5",
"sortablejs": "^1.14.0",
"sortablejs": "^1.15.0",
"source-code-pro": "^2.38.0",
"source-map-loader": "^3.0.1",
"source-sans-pro": "3.6.0",
"ssh2": "^1.7.0",
"ssh2": "^1.8.0",
"style-loader": "^3.3.1",
"svg-inline-loader": "^0.8.2",
"ts-loader": "^9.2.8",

View File

@@ -4,9 +4,13 @@ const vars = require('./vars')
const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/')
process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch
builder({
dir: true,
linux: ['deb', 'tar.gz', 'rpm', 'pacman'],
armv7l: process.env.ARCH === 'armv7l',
arm64: process.env.ARCH === 'arm64',
config: {
extraMetadata: {
version: vars.version,

View File

@@ -3,12 +3,14 @@ const rebuild = require('electron-rebuild').default
const path = require('path')
const vars = require('./vars')
process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch
let lifecycles = []
for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
const build = rebuild({
buildPath: path.resolve(__dirname, '../' + dir),
electronVersion: vars.electronVersion,
arch: process.env.ARCH ?? process.arch,
arch: process.env.ARCH,
force: true,
})
build.catch(e => {

View File

@@ -5,9 +5,12 @@ const vars = require('./vars')
const isTag = (process.env.GITHUB_REF || process.env.BUILD_SOURCEBRANCH || '').startsWith('refs/tags/')
const isCI = !!process.env.GITHUB_REF
process.env.ARCH = process.env.ARCH || process.arch
builder({
dir: true,
win: ['nsis', 'zip'],
arm64: process.env.ARCH === 'arm64',
config: {
extraMetadata: {
version: vars.version,

View File

@@ -4,7 +4,7 @@ hotkeys:
close-tab:
- 'Ctrl-Shift-W'
reopen-tab:
- 'Ctrl-Shift-T'
- 'Ctrl-Shift-Z'
toggle-last-tab: []
rename-tab:
- 'Ctrl-Shift-R'
@@ -56,7 +56,7 @@ hotkeys:
tab-19: []
tab-20: []
split-right:
- 'Ctrl-Shift-E'
- 'Ctrl-Shift-S'
split-bottom:
- 'Ctrl-Shift-D'
split-left: []
@@ -79,4 +79,4 @@ hotkeys:
switch-profile:
- 'Ctrl-Alt-T'
profile-selector:
- 'Ctrl-Shift-T'
- 'Ctrl-Shift-E'

View File

@@ -5,7 +5,7 @@ hotkeys:
close-tab:
- 'Ctrl-Shift-W'
reopen-tab:
- 'Ctrl-Shift-T'
- 'Ctrl-Shift-Z'
toggle-last-tab: []
rename-tab:
- 'Ctrl-Shift-R'
@@ -57,7 +57,7 @@ hotkeys:
tab-19: []
tab-20: []
split-right:
- 'Ctrl-Shift-E'
- 'Ctrl-Shift-S'
split-bottom:
- 'Ctrl-Shift-D'
split-left: []
@@ -80,4 +80,4 @@ hotkeys:
switch-profile:
- 'Ctrl-Alt-T'
profile-selector:
- 'Ctrl-Shift-T'
- 'Ctrl-Shift-E'

File diff suppressed because one or more lines are too long

View File

@@ -102,6 +102,10 @@ export class LocaleService {
code: 'pt-PT',
name: 'Português',
},
{
code: 'pt-BR',
name: 'Português do Brasil',
},
{
code: 'bg-BG',
name: 'Български',

View File

@@ -90,9 +90,9 @@ messageformat@^2.3.0:
messageformat-parser "^4.1.2"
minimist@^1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
mixpanel@^0.13.0:
version "0.13.0"

View File

@@ -152,7 +152,7 @@ export class ElectronPlatformService extends PlatformService {
async listFonts (): Promise<string[]> {
if (this.hostApp.platform === Platform.Windows || this.hostApp.platform === Platform.macOS) {
let fonts = await new Promise<any[]>((resolve) => fontManager.findFonts({ monospace: true }, resolve))
let fonts = await new Promise<any[]>((resolve) => fontManager.findFonts({}, resolve))
fonts = fonts.map(x => x.family.trim())
return fonts
}

View File

@@ -13,6 +13,8 @@ export interface Shell {
*/
fsBase?: string
cwd?: string
/**
* SVG icon
*/

View File

@@ -80,6 +80,7 @@ export class LocalProfilesService extends ProfileProvider<LocalProfile> {
command: shell.command,
args: shell.args ?? [],
env: shell.env,
cwd: shell.cwd,
}
}

View File

@@ -26,6 +26,13 @@ export class MSYS2ShellProvider extends ShellProvider {
return []
}
let homePath: string|undefined = path.resolve(msys2Path, 'home', process.env.USERNAME!)
try {
await fs.access(msys2Path)
} catch {
homePath = undefined
}
const environments = ['msys', 'mingw64', 'clang64', 'ucrt64']
return environments.map(e => ({
@@ -35,6 +42,7 @@ export class MSYS2ShellProvider extends ShellProvider {
args: ['-defterm', '-here', '-no-start', '-' + e],
icon: require('../icons/msys2.svg'),
env: {},
cwd: homePath,
}))
}
}

View File

@@ -24,7 +24,7 @@ ul.nav-tabs.mb-2(ngbNav, #nav='ngbNav')
type='text',
[(ngModel)]='_1',
(ngModelChange)='searchAvailable(_1)',
placeholder='Search plugins'
[placeholder]='"Search plugins"|translate'
)
ngb-accordion.mb-4(*ngIf='availablePlugins$', [closeOthers]='true')

View File

@@ -1,4 +1,5 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
import { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, first, tap, flatMap, map } from 'rxjs'
import semverGt from 'semver/functions/gt'
@@ -10,6 +11,8 @@ enum BusyState { Installing = 'Installing', Uninstalling = 'Uninstalling' }
const FORCE_ENABLE = ['tabby-core', 'tabby-settings', 'tabby-electron', 'tabby-web', 'tabby-plugin-manager']
_('Search plugins')
/** @hidden */
@Component({
template: require('./pluginsSettingsTab.component.pug'),

View File

@@ -4,7 +4,7 @@ h3.mb-3(translate) Hotkeys
.input-group-prepend
.input-group-text
i.fas.fa-fw.fa-search
input.form-control(type='search', placeholder='Search hotkeys', [(ngModel)]='hotkeyFilter')
input.form-control(type='search', [placeholder]='"Search hotkeys"|translate', [(ngModel)]='hotkeyFilter')
.form-group.hotkeys-table
ng-container(*ngFor='let hotkey of hotkeyDescriptions')

View File

@@ -1,4 +1,5 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
import { Component, NgZone } from '@angular/core'
import {
ConfigService,
@@ -7,6 +8,8 @@ import {
HostAppService,
} from 'tabby-core'
_('Search hotkeys')
/** @hidden */
@Component({
selector: 'hotkey-settings-tab',

View File

@@ -36,7 +36,7 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
ng-container(*ngFor='let group of profileGroups')
ng-container(*ngIf='isGroupVisible(group)')
.list-group-item.list-group-item-action.d-flex.align-items-center(
(click)='group.collapsed = !group.collapsed'
(click)='toggleGroupCollapse(group)'
)
.fa.fa-fw.fa-chevron-right(*ngIf='group.collapsed')
.fa.fa-fw.fa-chevron-down(*ngIf='!group.collapsed')

View File

@@ -143,6 +143,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
refresh (): void {
this.profiles = this.config.store.profiles
this.profileGroups = []
const profileGroupCollapsed = JSON.parse(window.localStorage.profileGroupCollapsed ?? '{}')
for (const profile of this.profiles) {
let group = this.profileGroups.find(x => x.name === profile.group)
@@ -151,7 +152,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
name: profile.group,
profiles: [],
editable: true,
collapsed: false,
collapsed: profileGroupCollapsed[profile.group ?? ''] ?? false,
}
this.profileGroups.push(group)
}
@@ -160,12 +161,14 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
this.profileGroups.sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? -1)
this.profileGroups.push({
const builtIn = {
name: this.translate.instant('Built-in'),
profiles: this.builtinProfiles,
editable: false,
collapsed: false,
})
}
builtIn.collapsed = profileGroupCollapsed[builtIn.name ?? ''] ?? false
this.profileGroups.push(builtIn)
}
async editGroup (group: ProfileGroup): Promise<void> {
@@ -246,6 +249,13 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
}[this.profilesService.providerForProfile(profile)?.id ?? ''] ?? 'warning'
}
toggleGroupCollapse (group: ProfileGroup): void {
group.collapsed = !group.collapsed
const profileGroupCollapsed = JSON.parse(window.localStorage.profileGroupCollapsed ?? '{}')
profileGroupCollapsed[group.name ?? ''] = group.collapsed
window.localStorage.profileGroupCollapsed = JSON.stringify(profileGroupCollapsed)
}
async editDefaults (provider: ProfileProvider<Profile>): Promise<void> {
const modal = this.ngbModal.open(
EditProfileModalComponent,

View File

@@ -318,8 +318,8 @@ h3.mt-4(translate) Hacks
.form-line(*ngIf='hostApp.platform === Platform.Windows')
.header
.title Disable fluent background while dragging
.description Fluent background sometimes causes drag lag
.title(translate) Disable fluent background while dragging
.description(translate) Fluent background sometimes causes drag lag
toggle(
[(ngModel)]='config.store.hacks.disableVibrancyWhileDragging',

View File

@@ -0,0 +1,12 @@
.modal-body
label(translate) Name for the new directory
.form-group.w-100.mr-2
input.form-control(
type='text',
[(ngModel)]='directoryName',
)
.modal-footer
button.btn.btn-success((click)='create()', translate) Create
button.btn.btn-danger((click)='cancel()', translate) Cancel

View File

@@ -0,0 +1,24 @@
import { Component } from '@angular/core'
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
import { BaseComponent } from 'tabby-core'
/** @hidden */
@Component({
template: require('./sftpCreateDirectoryModal.component.pug'),
})
export class SFTPCreateDirectoryModalComponent extends BaseComponent {
directoryName: string
constructor (
private modalInstance: NgbActiveModal,
) {
super()
}
create (): void {
this.modalInstance.close(this.directoryName)
}
cancel (): void {
this.modalInstance.close('')
}
}

View File

@@ -6,6 +6,10 @@
(click)='navigate(segment.path)'
) {{segment.name}}
button.btn.btn-link.btn-sm.d-flex((click)='openCreateDirectoryModal()')
i.fas.fa-plus.mr-1
div(translate) Create directory
button.btn.btn-link.btn-sm.d-flex((click)='upload()')
i.fas.fa-upload.mr-1
div(translate) Upload

View File

@@ -5,6 +5,8 @@ import { FileUpload, MenuItemOptions, NotificationsService, PlatformService } fr
import { SFTPSession, SFTPFile } from '../session/sftp'
import { SSHSession } from '../session/ssh'
import { SFTPContextMenuItemProvider } from '../api'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { SFTPCreateDirectoryModalComponent } from './sftpCreateDirectoryModal.component'
interface PathSegment {
name: string
@@ -26,6 +28,7 @@ export class SFTPPanelComponent {
pathSegments: PathSegment[] = []
constructor (
private ngbModal: NgbModal,
private platform: PlatformService,
private notifications: NotificationsService,
@Optional() @Inject(SFTPContextMenuItemProvider) protected contextMenuProviders: SFTPContextMenuItemProvider[],
@@ -106,14 +109,27 @@ export class SFTPPanelComponent {
}
}
async openCreateDirectoryModal (): Promise<void> {
const modal = this.ngbModal.open(SFTPCreateDirectoryModalComponent)
const directoryName = await modal.result
if (directoryName !== '') {
this.sftp.mkdir(path.join(this.path, directoryName)).then(() => {
this.notifications.notice('The directory was created successfully')
this.navigate(path.join(this.path, directoryName))
}).catch(() => {
this.notifications.error('The directory could not be created')
})
}
}
async upload (): Promise<void> {
const transfers = await this.platform.startUpload({ multiple: true })
await Promise.all(transfers.map(t => this.uploadOne(t)))
}
async uploadOne (transfer: FileUpload): Promise<void> {
await this.sftp.upload(path.join(this.path, transfer.getName()), transfer)
const savedPath = this.path
await this.sftp.upload(path.join(this.path, transfer.getName()), transfer)
if (this.path === savedPath) {
await this.navigate(this.path)
}

View File

@@ -26,6 +26,7 @@ import { SFTPContextMenu } from './tabContextMenu'
import { SSHProfilesService } from './profiles'
import { SFTPContextMenuItemProvider } from './api/contextMenu'
import { CommonSFTPContextMenu } from './sftpContextMenu'
import { SFTPCreateDirectoryModalComponent } from './components/sftpCreateDirectoryModal.component'
/** @hidden */
@NgModule({
@@ -50,6 +51,7 @@ import { CommonSFTPContextMenu } from './sftpContextMenu'
entryComponents: [
SSHProfileSettingsComponent,
SFTPDeleteModalComponent,
SFTPCreateDirectoryModalComponent,
SSHPortForwardingModalComponent,
SSHSettingsTabComponent,
SSHTabComponent,
@@ -58,6 +60,7 @@ import { CommonSFTPContextMenu } from './sftpContextMenu'
declarations: [
SSHProfileSettingsComponent,
SFTPDeleteModalComponent,
SFTPCreateDirectoryModalComponent,
SSHPortForwardingModalComponent,
SSHPortForwardingConfigComponent,
SSHSettingsTabComponent,

View File

@@ -123,6 +123,11 @@ export class SFTPSession {
await promisify((f: any) => this.sftp.rmdir(p, f))()
}
async mkdir (p: string): Promise<void> {
this.logger.debug('mkdir', p)
await promisify((f: any) => this.sftp.mkdir(p, f))()
}
async rename (oldPath: string, newPath: string): Promise<void> {
this.logger.debug('rename', oldPath, newPath)
await promisify((f: any) => this.sftp.rename(oldPath, newPath, f))()

View File

@@ -22,6 +22,12 @@ export class CommonSFTPContextMenu extends SFTPContextMenuItemProvider {
async getItems (item: SFTPFile, panel: SFTPPanelComponent): Promise<MenuItemOptions[]> {
return [
{
click: async () => {
await panel.openCreateDirectoryModal()
},
label: this.translate.instant('Create directory'),
},
{
click: async () => {
if ((await this.platform.showMessageBox({

View File

@@ -22,9 +22,9 @@
"@types/node" "*"
"@types/ssh2@^0.5.46":
version "0.5.51"
resolved "https://registry.yarnpkg.com/@types/ssh2/-/ssh2-0.5.51.tgz#8fd9f9d7d3e8973b5227878f8f1e2b4eda1716b3"
integrity sha512-aIq7ownezauW/+VWYaeXwd5J1Evnn4EXyeKi7bT3H6ZLBLoqsmhdvkHYPLpnZPM6unKKKsxTHIyQAVOZnPiJBw==
version "0.5.52"
resolved "https://registry.yarnpkg.com/@types/ssh2/-/ssh2-0.5.52.tgz#9dbd8084e2a976e551d5e5e70b978ed8b5965741"
integrity sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==
dependencies:
"@types/node" "*"
"@types/ssh2-streams" "*"

View File

@@ -26,13 +26,13 @@
"ngx-colors": "^3.0.4",
"ps-node": "^0.1.6",
"runes": "^0.4.2",
"xterm": "npm:@tabby-gang/xterm@^4.17.1-beta.2",
"xterm-addon-fit": "^0.5.0",
"xterm-addon-ligatures": "^0.5.0",
"xterm-addon-search": "^0.8.2",
"xterm-addon-serialize": "^0.6.1",
"xterm-addon-unicode11": "^0.3.0",
"xterm-addon-webgl": "^0.12.0-beta.24",
"xterm": "npm:@tabby-gang/xterm@^4.19.0-beta.2",
"xterm-addon-fit": "^0.6.0-beta.8",
"xterm-addon-ligatures": "^0.6.0-beta.14",
"xterm-addon-search": "^0.9.0-beta.18",
"xterm-addon-serialize": "^0.7.0-beta.12",
"xterm-addon-unicode11": "^0.4.0-beta.3",
"xterm-addon-webgl": "^0.12.0-beta.27",
"zmodem.js": "^0.1.9"
},
"peerDependencies": {

View File

@@ -11,6 +11,7 @@ import { Frontend } from '../frontends/frontend'
import { XTermFrontend, XTermWebGLFrontend } from '../frontends/xtermFrontend'
import { ResizeEvent } from './interfaces'
import { TerminalDecorator } from './decorator'
import { SearchPanelComponent } from '../components/searchPanel.component'
/**
* A class to base your custom terminal tabs on
@@ -100,6 +101,8 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
alternateScreenActive = false
@ViewChild(SearchPanelComponent, { 'static': false }) searchPanel?: SearchPanelComponent
// Deps start
config: ConfigService
element: ElementRef
@@ -258,7 +261,9 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
case 'search':
this.showSearchPanel = true
setImmediate(() => {
this.element.nativeElement.querySelector('.search-input').focus()
const input = this.element.nativeElement.querySelector('.search-input')
input?.focus()
input?.select()
})
break
case 'pane-focus-all':

View File

@@ -4,7 +4,7 @@ search-panel(
*ngIf='showSearchPanel && hasFocus',
@toolbarSlide,
[frontend]='frontend',
(close)='showSearchPanel = false'
(close)='showSearchPanel = false; frontend?.cancelSearch()'
)
button.btn.btn-sm.btn-link.toolbar-pin-button(

View File

@@ -2,7 +2,7 @@
flex: auto;
display: flex;
flex-direction: column;
overflow: hidden;
// overflow: hidden;
position: relative;
&> .content {

View File

@@ -72,7 +72,7 @@
.input-group-prepend
.input-group-text
i.fas.fa-fw.fa-search
input.form-control(type='search', placeholder='Search color schemes', [(ngModel)]='filter')
input.form-control(type='search', [placeholder]='"Search color schemes"|translate', [(ngModel)]='filter')
.body
.list-group-light.mb-3
@@ -89,7 +89,7 @@
.mr-auto
span {{scheme.name}}
.badge.badge-info.ml-2(*ngIf='customColorSchemes.includes(scheme)') Custom
.badge.badge-info.ml-2(*ngIf='customColorSchemes.includes(scheme)', translate) Custom
div
.d-flex

View File

@@ -1,11 +1,14 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import deepEqual from 'deep-equal'
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
import { Component, Inject, Input, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding } from '@angular/core'
import { ConfigService, PlatformService, TranslateService } from 'tabby-core'
import { TerminalColorSchemeProvider } from '../api/colorSchemeProvider'
import { TerminalColorScheme } from '../api/interfaces'
_('Search color schemes')
/** @hidden */
@Component({
template: require('./colorSchemeSettingsTab.component.pug'),

View File

@@ -1,33 +1,37 @@
input.search-input.form-control(
type='text',
[(ngModel)]='query',
(ngModelChange)='onQueryChange()',
[class.text-danger]='notFound',
(click)='$event.stopPropagation()',
(keyup.enter)='findPrevious()',
(keyup.esc)='close.emit()',
[placeholder]='"Search"|translate'
)
.input-group
input.search-input.form-control(
type='text',
[(ngModel)]='query',
(ngModelChange)='onQueryChange()',
[class.text-danger]='state.resultCount == 0',
(click)='$event.stopPropagation()',
(keyup.enter)='findPrevious()',
(keyup.esc)='close.emit()',
[placeholder]='"Search"|translate'
)
.input-group-append(*ngIf='state.resultCount > 0')
.input-group-text.result-counter {{state.resultIndex + 1}} / {{state.resultCount}}
button.btn.btn-link(
(click)='findPrevious()',
ngbTooltip='Search up',
placement='bottom',
[fastHtmlBind]='icons.arrowUp'
)
ng-container(*ngIf='state.resultCount > 0')
button.btn.btn-link(
(click)='findPrevious()',
ngbTooltip='Search up',
placement='bottom',
[fastHtmlBind]='icons.arrowUp'
)
button.btn.btn-link(
(click)='findNext()',
ngbTooltip='Search down',
placement='bottom',
[fastHtmlBind]='icons.arrowDown'
)
button.btn.btn-link(
(click)='findNext()',
ngbTooltip='Search down',
placement='bottom',
[fastHtmlBind]='icons.arrowDown'
)
.mr-2
button.btn.btn-link(
(click)='options.caseSensitive = !options.caseSensitive; saveSearchOptions()',
[class.active]='options.caseSensitive',
[class.btn-info]='options.caseSensitive',
ngbTooltip='Case sensitivity',
placement='bottom',
[fastHtmlBind]='icons.case'
@@ -35,7 +39,7 @@ button.btn.btn-link(
button.btn.btn-link(
(click)='options.regex = !options.regex; saveSearchOptions()',
[class.active]='options.regex',
[class.btn-info]='options.regex',
ngbTooltip='Regular expression',
placement='bottom',
[fastHtmlBind]='icons.regexp'
@@ -43,7 +47,7 @@ button.btn.btn-link(
button.btn.btn-link(
(click)='options.wholeWord = !options.wholeWord; saveSearchOptions()',
[class.active]='options.wholeWord',
[class.btn-info]='options.wholeWord',
ngbTooltip='Whole word',
placement='bottom',
[fastHtmlBind]='icons.wholeWord'

View File

@@ -1,6 +1,6 @@
:host {
position: fixed;
width: 400px;
width: 600px;
right: 40px;
z-index: 5;
border-radius: 0 0 5px 5px;
@@ -15,3 +15,8 @@
flex-shrink: 0;
}
}
.result-counter {
font-size: 0.7rem;
opacity: .5;
}

View File

@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter } from '@angular/core'
import { Frontend, SearchOptions } from '../frontends/frontend'
import { Frontend, SearchOptions, SearchState } from '../frontends/frontend'
import { ConfigService, NotificationsService, TranslateService } from 'tabby-core'
@Component({
@@ -10,7 +10,7 @@ import { ConfigService, NotificationsService, TranslateService } from 'tabby-cor
export class SearchPanelComponent {
@Input() query: string
@Input() frontend: Frontend
notFound = false
state: SearchState = { resultCount: 0 }
options: SearchOptions = {
incremental: true,
...this.config.store.terminal.searchOptions,
@@ -34,7 +34,7 @@ export class SearchPanelComponent {
) { }
onQueryChange (): void {
this.notFound = false
this.state = { resultCount: 0 }
this.findPrevious(true)
}
@@ -42,8 +42,8 @@ export class SearchPanelComponent {
if (!this.query) {
return
}
if (!this.frontend.findNext(this.query, { ...this.options, incremental: incremental || undefined })) {
this.notFound = true
this.state = this.frontend.findNext(this.query, { ...this.options, incremental: incremental || undefined })
if (!this.state.resultCount) {
this.notifications.notice(this.translate.instant('Not found'))
}
}
@@ -52,8 +52,8 @@ export class SearchPanelComponent {
if (!this.query) {
return
}
if (!this.frontend.findPrevious(this.query, { ...this.options, incremental: incremental || undefined })) {
this.notFound = true
this.state = this.frontend.findPrevious(this.query, { ...this.options, incremental: incremental || undefined })
if (!this.state.resultCount) {
this.notifications.notice(this.translate.instant('Not found'))
}
}

View File

@@ -127,6 +127,14 @@ div.mt-4
(ngModelChange)='config.save()',
)
.form-line
.header
.title(translate) Copy with formatting
toggle(
[(ngModel)]='config.store.terminal.copyAsHTML',
(ngModelChange)='config.save()',
)
.form-line
.header
.title(translate) Bracketed paste (requires shell support)

View File

@@ -24,6 +24,7 @@ export class TerminalConfigProvider extends ConfigProvider {
rightClick: 'menu',
pasteOnMiddleClick: true,
copyOnSelect: false,
copyAsHTML: true,
scrollOnInput: true,
altIsMeta: false,
wordSeparator: ' ()[]{}\'"',

View File

@@ -9,6 +9,11 @@ export interface SearchOptions {
incremental?: true
}
export interface SearchState {
resultIndex?: number
resultCount: number
}
/**
* Extend to add support for a different VT frontend implementation
*/
@@ -75,8 +80,9 @@ export abstract class Frontend {
abstract configure (): void
abstract setZoom (zoom: number): void
abstract findNext (term: string, searchOptions?: SearchOptions): boolean
abstract findPrevious (term: string, searchOptions?: SearchOptions): boolean
abstract findNext (term: string, searchOptions?: SearchOptions): SearchState
abstract findPrevious (term: string, searchOptions?: SearchOptions): SearchState
abstract cancelSearch (): void
abstract saveState (): any
abstract restoreState (state: string): void

View File

@@ -1,180 +1,4 @@
/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
* Fabrice Bellard's javascript vt100 for jslinux:
* http://bellard.org/jslinux/
* Copyright (c) 2011 Fabrice Bellard
* The original design remains. The terminal itself
* has been extended to include xterm CSI codes, among
* other features.
*/
/**
* Default styles for xterm.js
*/
.xterm {
position: relative;
user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
.xterm.focus,
.xterm:focus {
outline: none;
}
.xterm .xterm-helpers {
position: absolute;
top: 0;
/**
* The z-index of the helpers must be higher than the canvases in order for
* IMEs to appear on top.
*/
z-index: 5;
}
.xterm .xterm-helper-textarea {
padding: 0;
border: 0;
margin: 0;
/* Move textarea out of the screen to the far left, so that the cursor is not visible */
position: absolute;
opacity: 0;
left: -9999em;
top: 0;
width: 0;
height: 0;
z-index: -5;
/** Prevent wrapping so the IME appears against the textarea at the correct position */
white-space: nowrap;
overflow: hidden;
resize: none;
}
.xterm .composition-view {
/* TODO: Composition position got messed up somewhere */
background: #000;
color: #FFF;
display: none;
position: absolute;
white-space: nowrap;
z-index: 1;
}
.xterm .composition-view.active {
display: block;
}
.xterm .xterm-viewport {
/* On OS X this is required in order for the scroll bar to appear fully opaque */
background-color: #000;
overflow-y: scroll;
cursor: default;
position: absolute;
right: 0;
left: 0;
top: 0;
bottom: 0;
}
.xterm .xterm-screen {
position: relative;
}
.xterm .xterm-screen canvas {
position: absolute;
left: 0;
top: 0;
}
.xterm .xterm-scroll-area {
visibility: hidden;
}
.xterm-char-measure-element {
display: inline-block;
visibility: hidden;
position: absolute;
top: 0;
left: -9999em;
line-height: normal;
}
.xterm {
cursor: text;
}
.xterm.enable-mouse-events {
/* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
cursor: default;
}
.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
cursor: pointer;
}
.xterm.column-select.focus {
/* Column selection mode */
cursor: crosshair;
}
.xterm .xterm-accessibility,
.xterm .xterm-message {
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 10;
color: transparent;
}
.xterm .live-region {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
.xterm-dim {
opacity: 0.5;
}
.xterm-underline {
text-decoration: underline;
}
.xterm-strikethrough {
text-decoration: line-through;
}
/*----*/
@import url("../../node_modules/xterm/css/xterm.css");
@font-face {
font-family: "monospace-fallback";
@@ -188,3 +12,17 @@
.xterm-viewport::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, .25);
}
.xterm-decoration-overview-ruler {
right: 6px;
}
.xterm-find-result-decoration {
box-sizing: content-box;
border-radius: 3px;
padding: 2px;
margin: -2px;
outline: 2px solid yellow;
backdrop-filter: contrast(2);
}

View File

@@ -1,11 +1,11 @@
import { Injector } from '@angular/core'
import { ConfigService, getCSSFontFamily, HostAppService, HotkeysService, Platform, PlatformService } from 'tabby-core'
import { Frontend, SearchOptions } from './frontend'
import { Frontend, SearchOptions, SearchState } from './frontend'
import { takeUntil } from 'rxjs'
import { Terminal, ITheme } from 'xterm'
import { FitAddon } from 'xterm-addon-fit'
import { LigaturesAddon } from 'xterm-addon-ligatures'
import { SearchAddon } from 'xterm-addon-search'
import { ISearchOptions, SearchAddon } from 'xterm-addon-search'
import { WebglAddon } from 'xterm-addon-webgl'
import { Unicode11Addon } from 'xterm-addon-unicode11'
import { SerializeAddon } from 'xterm-addon-serialize'
@@ -34,6 +34,7 @@ export class XTermFrontend extends Frontend {
private configuredTheme: ITheme = {}
private copyOnSelect = false
private search = new SearchAddon()
private searchState: SearchState = { resultCount: 0 }
private fitAddon = new FitAddon()
private serializeAddon = new SerializeAddon()
private ligaturesAddon?: LigaturesAddon
@@ -55,6 +56,7 @@ export class XTermFrontend extends Frontend {
this.xterm = new Terminal({
allowTransparency: true,
overviewRulerWidth: 8,
windowsMode: process.platform === 'win32',
})
this.xtermCore = this.xterm['_core']
@@ -177,6 +179,10 @@ export class XTermFrontend extends Frontend {
this.xterm.loadAddon(this.search)
this.search.onDidChangeResults(state => {
this.searchState = state ?? { resultCount: 0 }
})
window.addEventListener('resize', this.resizeHandler)
this.resizeHandler()
@@ -217,7 +223,7 @@ export class XTermFrontend extends Frontend {
if (!text.trim().length) {
return
}
if (text.length < 1024 * 32) {
if (text.length < 1024 * 32 && this.configService.store.terminal.copyAsHTML) {
this.platformService.setClipboard({
text: this.getSelection(),
html: this.getSelectionAsHTML(),
@@ -320,12 +326,40 @@ export class XTermFrontend extends Frontend {
this.setFontSize()
}
findNext (term: string, searchOptions?: SearchOptions): boolean {
return this.search.findNext(term, searchOptions)
private getSearchOptions (searchOptions?: SearchOptions): ISearchOptions {
return {
...searchOptions,
decorations: {
matchOverviewRuler: '#cccc00',
activeMatchColorOverviewRuler: '#ffff00',
matchBorder: '#cc0',
activeMatchBorder: '#ff0',
activeMatchBackground: 'rgba(255, 255, 0, 0.125)',
},
}
}
findPrevious (term: string, searchOptions?: SearchOptions): boolean {
return this.search.findPrevious(term, searchOptions)
private wrapSearchResult (result: boolean): SearchState {
if (!result) {
return { resultCount: 0 }
}
return this.searchState
}
findNext (term: string, searchOptions?: SearchOptions): SearchState {
return this.wrapSearchResult(
this.search.findNext(term, this.getSearchOptions(searchOptions))
)
}
findPrevious (term: string, searchOptions?: SearchOptions): SearchState {
return this.wrapSearchResult(
this.search.findPrevious(term, this.getSearchOptions(searchOptions))
)
}
cancelSearch (): void {
this.search.clearDecorations()
}
saveState (): any {

View File

@@ -90,9 +90,9 @@ lru-cache@^6.0.0:
yallist "^4.0.0"
minimist@^1.1.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
ngx-colors@^3.0.4:
version "3.0.4"
@@ -157,43 +157,43 @@ xtend@^4.0.0:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
xterm-addon-fit@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz#2d51b983b786a97dcd6cde805e700c7f913bc596"
integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==
xterm-addon-fit@^0.6.0-beta.8:
version "0.6.0-beta.8"
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.6.0-beta.8.tgz#d1df80c146ee63a8bcb135e5337dba84fa87d753"
integrity sha512-T3bmdIXg019PQnJ7tMx81YUOW8Tjzw6ZB+ejWGNMsgYauFtgXTBAmdXzJ4dDJTlWDW18SHId+O6EmGzC77c44g==
xterm-addon-ligatures@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.5.2.tgz#b822487a59f73b734d95aecd24167a83adff5828"
integrity sha512-VhBc6fa7Tnl9w5bQpYscgjKgy87v9Aysm4jRcPxWTHwVa9YUpEYjSmg9V7LvCUkCTRH9zvFiw3qZMZYsdeeg6Q==
xterm-addon-ligatures@^0.6.0-beta.14:
version "0.6.0-beta.14"
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.14.tgz#392b8df0e32dcfc87f43b79901ec1c2abc997ae7"
integrity sha512-WeObuNFfGULKhfvbFyCccjxBk+BX6YMvG54lu40kgW5ubwpt0BcnKTQAxHvt9mSeT0lG0A5GxcbimBeRWc484Q==
dependencies:
font-finder "^1.1.0"
font-ligatures "^1.4.1"
xterm-addon-search@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.2.tgz#be7aa74d5ff12c901707c6ff674229f214318032"
integrity sha512-I1863mjn8P6uVrqm/X+btalVsqjAKLhnhpbP7SavAOpEkI1jJhbHU2UTp7NjeRtcKTks6UWk/ycgds5snDSejg==
xterm-addon-search@^0.9.0-beta.18:
version "0.9.0-beta.18"
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.18.tgz#5317aed1dc747f468ccb7ecd151fb00d82a8a19d"
integrity sha512-SAeA3thc2WJNYXwjOEJFLpZ1ZVOs22RLmz9a6WcrzXkvCjLZRvbRGwX25Ms+Dd7dVDQNbKVUzUJohspP/vYr0Q==
xterm-addon-serialize@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.6.1.tgz#509335afee1367628dc685b822a1055b1213de83"
integrity sha512-dKscxAaNU6+cWEpuLrUGEn/IjrRvhdaVbDyJlIN1uQYGTi8HOgoGIoy6D5WtPabl2/CJ0W4OwlOQaUotCktXYA==
xterm-addon-serialize@^0.7.0-beta.12:
version "0.7.0-beta.12"
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.12.tgz#4f845d8b1a9f9b7ae3f910455ce8c58b041babc7"
integrity sha512-b4Ug0B/RSJMux+KAcp+PXVqubVyXjN1yCQw1FOkgVYTpmd9AH/X+EcxKml5Lz8DsKmsXqfD9AlV3WpEeT+OtMw==
xterm-addon-unicode11@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.3.0.tgz#e4435c3c91a5294a7eb8b79c380acbb28a659463"
integrity sha512-x5fHDZT2j9tlTlHnzPHt++9uKZ2kJ/lYQOj3L6xJA22xoJsS8UQRw/5YIFg2FUHqEAbV77Z1fZij/9NycMSH/A==
xterm-addon-unicode11@^0.4.0-beta.3:
version "0.4.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa"
integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q==
xterm-addon-webgl@^0.12.0-beta.24:
version "0.12.0-beta.24"
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.24.tgz#5c17256933991856554c95c9bd1eaab42e9727a0"
integrity sha512-+wZxKReEOlfN9JRHyikoffA6Do61/THR7QY35ajkQo0lLutKr6hTd/TLTuZh0PhFVelgTgudpXqlP++Lc0WFIA==
xterm-addon-webgl@^0.12.0-beta.27:
version "0.12.0-beta.27"
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.27.tgz#afc5bc01d1ef3af9005fb9f6325a4db9c92aa8d9"
integrity sha512-P948trotU8FMHtaA7C2x97VpLq6QLSjO53kWNvONS0/XwEKQBIYCI7Jfri2wcLgfQg6Cn4OQGLoj2YBK3MMyww==
"xterm@npm:@tabby-gang/xterm@^4.17.1-beta.2":
version "4.17.1-beta.2"
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.17.1-beta.2.tgz#3b4b542297609f082c12b0877582cdf1398a84b5"
integrity sha512-tKePw6VBFVGvnKaxtfuS7qKbeX8bIT0+7asXSP70RA/78h8xeq3YoRHaV/cZEHaicNHMchlYFbXl3VpHXwusDw==
"xterm@npm:@tabby-gang/xterm@^4.19.0-beta.2":
version "4.19.0-beta.2"
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.19.0-beta.2.tgz#ffac3b0e776130f96ed860c8d44b30328d08ef62"
integrity sha512-6V4xlCFfvZ3SXy+fQL4n0rn/gyil5sThvVz6FSbfSVIHCY14JGiWt/7ouZwm3V4kdEgWmsf2P9KjR15YqVjECg==
yallist@^4.0.0:
version "4.0.0"

View File

@@ -34,9 +34,9 @@ loader-utils@^1.1.0:
json5 "^1.0.1"
minimist@^1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
object-assign@^4.0.1:
version "4.1.1"

View File

@@ -644,9 +644,9 @@ minimatch@^3.0.4:
brace-expansion "^1.1.7"
minimist@^1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
nice-try@^1.0.4:
version "1.0.5"

View File

@@ -87,9 +87,13 @@ module.exports = options => {
{ test: /\.yaml$/, use: ['json-loader', 'yaml-loader'] },
{ test: /\.svg/, use: ['svg-inline-loader'] },
{
test: /\.(ttf|eot|otf|woff|woff2|ogg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
test: /\.(eot|otf|woff|woff2|ogg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
type: 'asset',
},
{
test: /\.ttf$/,
type: 'asset/inline',
},
{
test: /\.po$/,
use: [

View File

@@ -187,10 +187,10 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
"@fortawesome/fontawesome-free@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz#6f3bd8e42997c7d536a1246877ed8bcd4f005a54"
integrity sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q==
"@fortawesome/fontawesome-free@^6.1.1":
version "6.1.1"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.1.tgz#bf5d45611ab74890be386712a0e5d998c65ee2a1"
integrity sha512-J/3yg2AIXc9wznaVqpHVX3Wa5jwKovVF0AMYSnbmcXTiL3PpRPfF58pzWucCwEiCJBp+hCNRLWClTomD8SseKg==
"@gar/promisify@^1.0.1":
version "1.1.2"
@@ -294,10 +294,10 @@
"@sentry/utils" "6.7.1"
tslib "^1.9.3"
"@sentry/cli@^1.73.0":
version "1.73.0"
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.73.0.tgz#0d0bce913e0060ae192741c6693c57e50078c886"
integrity sha512-n4YINqmoncGUkLEpd4WuW+oD+aoUyQPhRbSBSYkbCFxPPmopn1VExCB2Vvzwj7vjXYRRGkix6keBMS0LLs3A3Q==
"@sentry/cli@^1.74.3":
version "1.74.3"
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.3.tgz#8405a19f6bb21b2ff3d051fb8a18056cc796c5ae"
integrity sha512-74NiqWTgTFDPe2S99h1ge5UMe6aAC44ebareadd1P6MdaNfYz6JUEa2QrDfMq7TKccEiRFXhXBHbUI8mxzrzuQ==
dependencies:
https-proxy-agent "^5.0.0"
mkdirp "^0.5.5"
@@ -305,6 +305,7 @@
npmlog "^4.1.2"
progress "^2.0.3"
proxy-from-env "^1.1.0"
which "^2.0.2"
"@sentry/core@6.7.1":
version "6.7.1"
@@ -554,16 +555,16 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
"@types/node@*", "@types/node@16.0.1":
"@types/node@*", "@types/node@^16.11.26":
version "16.11.26"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47"
integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==
"@types/node@16.0.1":
version "16.0.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8"
integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug==
"@types/node@^14.6.2":
version "14.14.35"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313"
integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -1533,6 +1534,11 @@ buffer@^5.1.0:
base64-js "^1.3.1"
ieee754 "^1.1.13"
buildcheck@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
builder-util-runtime@8.9.2:
version "8.9.2"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28"
@@ -2155,12 +2161,13 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cpu-features@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a"
integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==
cpu-features@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.3.tgz#2acee87f762d11d5197babb34629293007a09edd"
integrity sha512-p6C/uud4F4bDyCz9+BNU22KdV1AGxPK6L9rQG9x3x4SSzdMPyBPErP7Rxn8avT2ex1M2g5Rpjz5Us/ri/766Qg==
dependencies:
nan "^2.14.1"
buildcheck "0.0.3"
nan "^2.15.0"
crc@^3.8.0:
version "3.8.0"
@@ -2692,10 +2699,10 @@ electron-localshortcut@^3.1.0:
keyboardevent-from-electron-accelerator "^2.0.0"
keyboardevents-areequal "^0.2.1"
electron-notarize@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz#3ed274b36158c1beb1dbef14e7faf5927e028629"
integrity sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==
electron-notarize@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.2.1.tgz#347c18eca8e29dddadadee511b870c13d4008baf"
integrity sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==
dependencies:
debug "^4.1.1"
fs-extra "^9.0.1"
@@ -2750,13 +2757,13 @@ electron-to-chromium@^1.3.723:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
electron@17.1.2:
version "17.1.2"
resolved "https://registry.yarnpkg.com/electron/-/electron-17.1.2.tgz#b4e4a0df883d9a9854cf865efa2bb00b12d55b1d"
integrity sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ==
electron@18.0.1:
version "18.0.1"
resolved "https://registry.yarnpkg.com/electron/-/electron-18.0.1.tgz#70653ecee008bea8a4240da78d0f5a426bb24d50"
integrity sha512-8y3nxmK+v/tiuaR8yd4K83ApHxgomMIPAEl3J+2Jfv/D5G6M3KnvxNlNiNoTXI8uOegfmoqiDm5/2xlWFLzfLQ==
dependencies:
"@electron/get" "^1.13.0"
"@types/node" "^14.6.2"
"@types/node" "^16.11.26"
extract-zip "^1.0.3"
elliptic@^6.5.3:
@@ -5328,9 +5335,9 @@ minimist-options@4.1.0:
kind-of "^6.0.3"
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minipass-collect@^1.0.2:
version "1.0.2"
@@ -5451,7 +5458,7 @@ mute-stream@~0.0.4:
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
nan@^2.13.2, nan@^2.14.1, nan@^2.15.0:
nan@^2.13.2, nan@^2.15.0:
version "2.15.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
@@ -6400,9 +6407,9 @@ pkg-up@^2.0.0:
find-up "^2.1.0"
plist@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
version "3.0.5"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
dependencies:
base64-js "^1.5.1"
xmlbuilder "^9.0.7"
@@ -7615,10 +7622,10 @@ socks@^2.6.1:
ip "^1.1.5"
smart-buffer "^4.1.0"
sortablejs@^1.14.0:
version "1.14.0"
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.14.0.tgz#6d2e17ccbdb25f464734df621d4f35d4ab35b3d8"
integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==
sortablejs@^1.15.0:
version "1.15.0"
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.0.tgz#53230b8aa3502bb77a29e2005808ffdb4a5f7e2a"
integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==
sorted-object@~2.0.1:
version "2.0.1"
@@ -7729,15 +7736,15 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
ssh2@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz#7aa30f2a5266f0ffd93944621b4eb1f403330fd4"
integrity sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==
ssh2@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.8.0.tgz#97a9bfa3348412a2ed266265ddb351746b6edfc8"
integrity sha512-NVIRkIwJvWl+mcRozp+EBzHMVCcbDKBea64ToPdZEk43yAVGwmfqYZRPFRnnvGjsKC34wYCmiupTcKgCVNVNNg==
dependencies:
asn1 "^0.2.4"
bcrypt-pbkdf "^1.0.2"
optionalDependencies:
cpu-features "0.0.2"
cpu-features "0.0.3"
nan "^2.15.0"
sshpk@^1.7.0: