mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
* task fix and keyboard fix
* fixes for build scripts
* passthrough feature
* feat: inline domain health checks and improve address UX
- addPublicDomain returns DNS query + port check results (AddPublicDomainRes)
so frontend skips separate API calls after adding a domain
- addPrivateDomain returns check_dns result for the gateway
- Support multiple ports per domain in validation modal (deduplicated)
- Run port checks concurrently via futures::future::join_all
- Add note to add-domain dialog showing other interfaces on same host
- Add addXForwardedHeaders to knownProtocols in SDK Host.ts
- Add plugin filter kind, pluginId filter, matchesAny, and docs to
getServiceInterface.ts
- Add PassthroughInfo type and passthroughs field to NetworkInfo
- Pluralize "port forwarding rules" in i18n dictionaries
* feat: add shared host note to private domain dialog with i18n
* fix: scope public domain to single binding and return single port check
Accept internalPort in AddPublicDomainParams to target a specific
binding. Disable the domain on all other bindings. Return a single
CheckPortRes instead of Vec. Revert multi-port UI to singular port
display from 0f8a66b35.
* better shared hostname approach, and improve look-feel of addresses tables
* fix starttls
* preserve usb as top efi boot option
* fix race condition in wan ip check
* sdk beta.56
* various bug, improve smtp
* multiple bugs, better outbound gateway UX
* remove non option from smtp for better package compat
* bump sdk
---------
Co-authored-by: Aiden McClelland <me@drbonez.dev>
41 lines
938 B
TypeScript
41 lines
938 B
TypeScript
import {
|
|
computed,
|
|
Directive,
|
|
inject,
|
|
InjectionToken,
|
|
input,
|
|
} from '@angular/core'
|
|
import { TuiHintDirective } from '@taiga-ui/core'
|
|
import { i18nPipe } from '../i18n/i18n.pipe'
|
|
|
|
export const VERSION = new InjectionToken<string>('VERSION')
|
|
|
|
@Directive({
|
|
selector: '[docsLink]',
|
|
hostDirectives: [TuiHintDirective],
|
|
host: {
|
|
target: '_blank',
|
|
rel: 'noreferrer',
|
|
'[attr.href]': 'url()',
|
|
},
|
|
})
|
|
export class DocsLinkDirective {
|
|
private readonly version = inject(VERSION)
|
|
|
|
readonly path = input.required<string>()
|
|
readonly fragment = input<string>('')
|
|
|
|
protected readonly url = computed(() => {
|
|
const path = this.path()
|
|
const relative = path.startsWith('/') ? path : `/${path}`
|
|
|
|
return `https://docs.start9.com${relative}?version=${this.version}${this.fragment()}`
|
|
})
|
|
|
|
constructor() {
|
|
inject(TuiHintDirective).content.set(
|
|
inject(i18nPipe).transform('Documentation'),
|
|
)
|
|
}
|
|
}
|