Merge branch 'master' of github.com:Eugeny/tabby

This commit is contained in:
Eugene Pankov 2022-03-30 14:20:10 +02:00
commit f7e51c298d
No known key found for this signature in database
GPG key ID: 5896FCBBDD1CF4F4
23 changed files with 130 additions and 65 deletions

View file

@ -655,6 +655,33 @@
"contributions": [ "contributions": [
"code" "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"
]
} }
], ],
"contributorsPerLine": 7, "contributorsPerLine": 7,

View file

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

View file

@ -14,6 +14,8 @@ yarn
./scripts/build-native.js ./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) # 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 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,9 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
</tr> </tr>
<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="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>
</tr> </tr>
</table> </table>

View file

@ -235,6 +235,9 @@ Pull requests and plugins are welcome!
</tr> </tr>
<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="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>
</tr> </tr>
</table> </table>

View file

@ -240,6 +240,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
</tr> </tr>
<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="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>
</tr> </tr>
</table> </table>

View file

@ -241,6 +241,9 @@ Pull-запросы и плагины приветствуются!
</tr> </tr>
<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="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>
</tr> </tr>
</table> </table>

View file

@ -240,6 +240,9 @@
</tr> </tr>
<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="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>
</tr> </tr>
</table> </table>

View file

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

View file

@ -2133,9 +2133,9 @@ minimatch@^3.0.4:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
version "1.2.5" version "1.2.6"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0: minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
version "2.9.0" version "2.9.0"

View file

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

View file

@ -34,11 +34,11 @@
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"deep-equal": "2.0.5", "deep-equal": "2.0.5",
"electron": "17.1.2", "electron": "17.3.0",
"electron-builder": "^22.14.13", "electron-builder": "^22.14.13",
"electron-download": "^4.1.1", "electron-download": "^4.1.1",
"electron-installer-snap": "^5.1.0", "electron-installer-snap": "^5.1.0",
"electron-notarize": "^1.1.1", "electron-notarize": "^1.2.1",
"electron-rebuild": "^3.2.7", "electron-rebuild": "^3.2.7",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
@ -68,7 +68,7 @@
"shell-quote": "^1.7.3", "shell-quote": "^1.7.3",
"shelljs": "0.8.5", "shelljs": "0.8.5",
"slugify": "^1.6.5", "slugify": "^1.6.5",
"sortablejs": "^1.14.0", "sortablejs": "^1.15.0",
"source-code-pro": "^2.38.0", "source-code-pro": "^2.38.0",
"source-map-loader": "^3.0.1", "source-map-loader": "^3.0.1",
"source-sans-pro": "3.6.0", "source-sans-pro": "3.6.0",

View file

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

View file

@ -3,12 +3,14 @@ const rebuild = require('electron-rebuild').default
const path = require('path') const path = require('path')
const vars = require('./vars') const vars = require('./vars')
process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch
let lifecycles = [] let lifecycles = []
for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) { for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
const build = rebuild({ const build = rebuild({
buildPath: path.resolve(__dirname, '../' + dir), buildPath: path.resolve(__dirname, '../' + dir),
electronVersion: vars.electronVersion, electronVersion: vars.electronVersion,
arch: process.env.ARCH ?? process.arch, arch: process.env.ARCH,
force: true, force: true,
}) })
build.catch(e => { 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 isTag = (process.env.GITHUB_REF || process.env.BUILD_SOURCEBRANCH || '').startsWith('refs/tags/')
const isCI = !!process.env.GITHUB_REF const isCI = !!process.env.GITHUB_REF
process.env.ARCH = process.env.ARCH || process.arch
builder({ builder({
dir: true, dir: true,
win: ['nsis', 'zip'], win: ['nsis', 'zip'],
arm64: process.env.ARCH === 'arm64',
config: { config: {
extraMetadata: { extraMetadata: {
version: vars.version, version: vars.version,

View file

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

View file

@ -36,7 +36,7 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
ng-container(*ngFor='let group of profileGroups') ng-container(*ngFor='let group of profileGroups')
ng-container(*ngIf='isGroupVisible(group)') ng-container(*ngIf='isGroupVisible(group)')
.list-group-item.list-group-item-action.d-flex.align-items-center( .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-right(*ngIf='group.collapsed')
.fa.fa-fw.fa-chevron-down(*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 { refresh (): void {
this.profiles = this.config.store.profiles this.profiles = this.config.store.profiles
this.profileGroups = [] this.profileGroups = []
const profileGroupCollapsed = JSON.parse(window.localStorage.profileGroupCollapsed ?? '{}')
for (const profile of this.profiles) { for (const profile of this.profiles) {
let group = this.profileGroups.find(x => x.name === profile.group) let group = this.profileGroups.find(x => x.name === profile.group)
@ -151,7 +152,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
name: profile.group, name: profile.group,
profiles: [], profiles: [],
editable: true, editable: true,
collapsed: false, collapsed: profileGroupCollapsed[profile.group ?? ''] ?? false,
} }
this.profileGroups.push(group) 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.sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? -1)
this.profileGroups.push({ const builtIn = {
name: this.translate.instant('Built-in'), name: this.translate.instant('Built-in'),
profiles: this.builtinProfiles, profiles: this.builtinProfiles,
editable: false, editable: false,
collapsed: false, collapsed: false,
}) }
builtIn.collapsed = profileGroupCollapsed[builtIn.name ?? ''] ?? false
this.profileGroups.push(builtIn)
} }
async editGroup (group: ProfileGroup): Promise<void> { async editGroup (group: ProfileGroup): Promise<void> {
@ -246,6 +249,13 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
}[this.profilesService.providerForProfile(profile)?.id ?? ''] ?? 'warning' }[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> { async editDefaults (provider: ProfileProvider<Profile>): Promise<void> {
const modal = this.ngbModal.open( const modal = this.ngbModal.open(
EditProfileModalComponent, EditProfileModalComponent,

View file

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

View file

@ -90,9 +90,9 @@ lru-cache@^6.0.0:
yallist "^4.0.0" yallist "^4.0.0"
minimist@^1.1.0: minimist@^1.1.0:
version "1.2.5" version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
ngx-colors@^3.0.4: ngx-colors@^3.0.4:
version "3.0.4" version "3.0.4"

View file

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

View file

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

View file

@ -2692,10 +2692,10 @@ electron-localshortcut@^3.1.0:
keyboardevent-from-electron-accelerator "^2.0.0" keyboardevent-from-electron-accelerator "^2.0.0"
keyboardevents-areequal "^0.2.1" keyboardevents-areequal "^0.2.1"
electron-notarize@^1.1.1: electron-notarize@^1.2.1:
version "1.1.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz#3ed274b36158c1beb1dbef14e7faf5927e028629" resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.2.1.tgz#347c18eca8e29dddadadee511b870c13d4008baf"
integrity sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw== integrity sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==
dependencies: dependencies:
debug "^4.1.1" debug "^4.1.1"
fs-extra "^9.0.1" fs-extra "^9.0.1"
@ -2750,10 +2750,10 @@ electron-to-chromium@^1.3.723:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig== integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
electron@17.1.2: electron@17.3.0:
version "17.1.2" version "17.3.0"
resolved "https://registry.yarnpkg.com/electron/-/electron-17.1.2.tgz#b4e4a0df883d9a9854cf865efa2bb00b12d55b1d" resolved "https://registry.yarnpkg.com/electron/-/electron-17.3.0.tgz#cdcc46a7a3cd0b6f2a1757fbeb807f6b2fce847e"
integrity sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ== integrity sha512-KuYHCOw1a+CE9thZlWRqTScf6M81KLd6n5qpdBGb0rl62+50RUuau9CnYpBb3EJxrjsXLaiQCBBSdPsozf/XUg==
dependencies: dependencies:
"@electron/get" "^1.13.0" "@electron/get" "^1.13.0"
"@types/node" "^14.6.2" "@types/node" "^14.6.2"
@ -5328,9 +5328,9 @@ minimist-options@4.1.0:
kind-of "^6.0.3" kind-of "^6.0.3"
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5" version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minipass-collect@^1.0.2: minipass-collect@^1.0.2:
version "1.0.2" version "1.0.2"
@ -6400,9 +6400,9 @@ pkg-up@^2.0.0:
find-up "^2.1.0" find-up "^2.1.0"
plist@^3.0.1: plist@^3.0.1:
version "3.0.4" version "3.0.5"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
dependencies: dependencies:
base64-js "^1.5.1" base64-js "^1.5.1"
xmlbuilder "^9.0.7" xmlbuilder "^9.0.7"
@ -7615,10 +7615,10 @@ socks@^2.6.1:
ip "^1.1.5" ip "^1.1.5"
smart-buffer "^4.1.0" smart-buffer "^4.1.0"
sortablejs@^1.14.0: sortablejs@^1.15.0:
version "1.14.0" version "1.15.0"
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.14.0.tgz#6d2e17ccbdb25f464734df621d4f35d4ab35b3d8" resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.0.tgz#53230b8aa3502bb77a29e2005808ffdb4a5f7e2a"
integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w== integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==
sorted-object@~2.0.1: sorted-object@~2.0.1:
version "2.0.1" version "2.0.1"