Compare commits

..

2 Commits

Author SHA1 Message Date
Eugene
48e510b7f7 lock down node-abi 2025-05-24 10:28:46 +02:00
Eugene
ed1384750a bump electron to v36 2025-05-24 10:14:24 +02:00
15 changed files with 5 additions and 34 deletions

View File

@@ -349,7 +349,6 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -343,7 +343,6 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -342,7 +342,6 @@ Pull requests and plugins are welcome!
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -366,7 +366,6 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -343,7 +343,6 @@ Pull-запросы и плагины приветствуются!
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -342,7 +342,6 @@
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/geodic"><img src="https://avatars.githubusercontent.com/u/64704703?v=4?s=100" width="100px;" alt="geodic"/><br /><sub><b>geodic</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=geodic" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loopx9"><img src="https://avatars.githubusercontent.com/u/46422475?v=4?s=100" width="100px;" alt="loopx9"/><br /><sub><b>loopx9</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=loopx9" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -8,7 +8,7 @@
<true/> <true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key> <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/> <true/>
<key>com.apple.security.device.audio-input</key> <key>com.apple.security.device.microphone</key>
<true/> <true/>
<key>com.apple.security.device.camera</key> <key>com.apple.security.device.camera</key>
<true/> <true/>

View File

@@ -13,12 +13,4 @@ export abstract class LinkHandler {
} }
abstract handle (uri: string, tab?: BaseTerminalTabComponent<any>): void abstract handle (uri: string, tab?: BaseTerminalTabComponent<any>): void
private _fullMatchRegex: RegExp | null = null
get fullMatchRegex (): RegExp {
if (!this._fullMatchRegex) {
this._fullMatchRegex = new RegExp(`^${this.regex.source}$`)
}
return this._fullMatchRegex
}
} }

View File

@@ -31,7 +31,7 @@ export class LinkHighlighterDecorator extends TerminalDecorator {
const openLink = async uri => { const openLink = async uri => {
for (const handler of this.handlers) { for (const handler of this.handlers) {
if (!handler.fullMatchRegex.test(uri)) { if (!handler.regex.test(uri)) {
continue continue
} }
if (!await handler.verify(await handler.convert(uri, tab), tab)) { if (!await handler.verify(await handler.convert(uri, tab), tab)) {

View File

@@ -6,7 +6,6 @@ export const supportedAlgorithms = {
[SSHAlgorithmType.HOSTKEY]: russh.getSupportedKeyTypes().filter(x => x !== 'none'), [SSHAlgorithmType.HOSTKEY]: russh.getSupportedKeyTypes().filter(x => x !== 'none'),
[SSHAlgorithmType.CIPHER]: russh.getSupportedCiphers().filter(x => x !== 'clear'), [SSHAlgorithmType.CIPHER]: russh.getSupportedCiphers().filter(x => x !== 'clear'),
[SSHAlgorithmType.HMAC]: russh.getSupportedMACs().filter(x => x !== 'none'), [SSHAlgorithmType.HMAC]: russh.getSupportedMACs().filter(x => x !== 'none'),
[SSHAlgorithmType.COMPRESSION]: russh.getSupportedCompressionAlgorithms().reverse(),
} }
export const defaultAlgorithms = { export const defaultAlgorithms = {
@@ -43,9 +42,4 @@ export const defaultAlgorithms = {
'hmac-sha1-etm@openssh.com', 'hmac-sha1-etm@openssh.com',
'hmac-sha1', 'hmac-sha1',
], ],
[SSHAlgorithmType.COMPRESSION]: [
'zlib@openssh.com',
'zlib',
'none',
],
} }

View File

@@ -5,8 +5,6 @@ export enum SSHAlgorithmType {
KEX = 'kex', KEX = 'kex',
CIPHER = 'cipher', CIPHER = 'cipher',
HOSTKEY = 'serverHostKey', HOSTKEY = 'serverHostKey',
COMPRESSION = 'compression',
} }
export interface SSHProfile extends ConnectableTerminalProfile { export interface SSHProfile extends ConnectableTerminalProfile {

View File

@@ -286,12 +286,6 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
div(*ngFor='let alg of supportedAlgorithms.serverHostKey') div(*ngFor='let alg of supportedAlgorithms.serverHostKey')
checkbox([text]='alg', [(ngModel)]='algorithms.serverHostKey[alg]') checkbox([text]='alg', [(ngModel)]='algorithms.serverHostKey[alg]')
.form-line.align-items-start
.header
.title Compression
.w-75
div(*ngFor='let alg of supportedAlgorithms.compression')
checkbox([text]='alg', [(ngModel)]='algorithms.compression[alg]')
li(ngbNavItem) li(ngbNavItem)
a(ngbNavLink, translate) Colors a(ngbNavLink, translate) Colors
ng-template(ngbNavContent) ng-template(ngbNavContent)

View File

@@ -107,7 +107,7 @@ export class SSHProfileSettingsComponent {
this.profile.options.algorithms![k] = Object.entries(this.algorithms[k]) this.profile.options.algorithms![k] = Object.entries(this.algorithms[k])
.filter(([_, v]) => !!v) .filter(([_, v]) => !!v)
.map(([key, _]) => key) .map(([key, _]) => key)
if(k !== SSHAlgorithmType.COMPRESSION) { this.profile.options.algorithms![k].sort() } this.profile.options.algorithms![k].sort()
} }
if (this.connectionMode !== 'jumpHost') { if (this.connectionMode !== 'jumpHost') {

View File

@@ -55,7 +55,7 @@ export class SSHProfilesService extends QuickConnectProfileProvider<SSHProfile>
super() super()
for (const k of Object.values(SSHAlgorithmType)) { for (const k of Object.values(SSHAlgorithmType)) {
this.configDefaults.options.algorithms[k] = [...defaultAlgorithms[k]] this.configDefaults.options.algorithms[k] = [...defaultAlgorithms[k]]
if (k !== SSHAlgorithmType.COMPRESSION) { this.configDefaults.options.algorithms[k].sort() } this.configDefaults.options.algorithms[k].sort()
} }
} }

View File

@@ -315,7 +315,6 @@ export class SSHSession {
kex: this.profile.options.algorithms?.[SSHAlgorithmType.KEX]?.filter(x => supportedAlgorithms[SSHAlgorithmType.KEX].includes(x)), kex: this.profile.options.algorithms?.[SSHAlgorithmType.KEX]?.filter(x => supportedAlgorithms[SSHAlgorithmType.KEX].includes(x)),
mac: this.profile.options.algorithms?.[SSHAlgorithmType.HMAC]?.filter(x => supportedAlgorithms[SSHAlgorithmType.HMAC].includes(x)), mac: this.profile.options.algorithms?.[SSHAlgorithmType.HMAC]?.filter(x => supportedAlgorithms[SSHAlgorithmType.HMAC].includes(x)),
key: this.profile.options.algorithms?.[SSHAlgorithmType.HOSTKEY]?.filter(x => supportedAlgorithms[SSHAlgorithmType.HOSTKEY].includes(x)), key: this.profile.options.algorithms?.[SSHAlgorithmType.HOSTKEY]?.filter(x => supportedAlgorithms[SSHAlgorithmType.HOSTKEY].includes(x)),
compression: this.profile.options.algorithms?.[SSHAlgorithmType.COMPRESSION]?.filter(x => supportedAlgorithms[SSHAlgorithmType.COMPRESSION].includes(x)),
}, },
keepaliveIntervalSeconds: Math.round((this.profile.options.keepaliveInterval ?? 15000) / 1000), keepaliveIntervalSeconds: Math.round((this.profile.options.keepaliveInterval ?? 15000) / 1000),
keepaliveCountMax: this.profile.options.keepaliveCountMax, keepaliveCountMax: this.profile.options.keepaliveCountMax,