pub enum Message {
Show 39 variants
VpsRegistryEmpty,
VpsAdded {
name: String,
},
VpsRemoved {
name: String,
},
VpsDuplicate {
name: String,
},
VpsNotFound {
name: String,
},
VpsActiveSelected {
name: String,
},
ErrorConfig {
detail: String,
},
ErrorSshConnection {
detail: String,
},
ErrorAuthentication {
detail: String,
},
ErrorCommandFailed {
detail: String,
},
ErrorHostKeyChanged {
detail: String,
},
ErrorTimeout {
detail: String,
},
ErrorFileNotFound {
path: String,
},
ErrorUnavailable {
service: String,
},
ErrorSoftware {
op: String,
},
ErrorPartialFailure {
detail: String,
},
ErrorInvalidArgument {
detail: String,
},
ErrorNoActiveVps,
ErrorUnexpected {
detail: String,
},
VpsEdited {
name: String,
},
ExportCompleted {
path: String,
},
ImportCompleted,
PrimaryKeyReady {
source: String,
key_file: String,
},
ReencryptCompleted {
hosts: usize,
},
TunnelPressCtrlC,
HealthCheckOk {
name: String,
},
ScpUploadCompleted {
bytes: u64,
ms: u64,
},
ScpDownloadCompleted {
bytes: u64,
ms: u64,
},
SftpUploadCompleted {
bytes: u64,
ms: u64,
},
SftpDownloadCompleted {
bytes: u64,
ms: u64,
},
SftpFsOpDone {
op: String,
path: String,
ms: u64,
},
SftpFsOpDoneTo {
op: String,
path: String,
to: String,
ms: u64,
},
LocalePreferenceSaved {
lang: String,
path: String,
},
LocalePreferenceCleared,
LocaleStatusTitle,
TunnelLocalListening {
bind: String,
port: u16,
remote_host: String,
remote_port: u16,
vps: String,
timeout_ms: u64,
},
TunnelSocks5Listening {
bind: String,
port: u16,
vps: String,
timeout_ms: u64,
},
TunnelStreamLocalListening {
bind: String,
port: u16,
socket_path: String,
vps: String,
timeout_ms: u64,
},
TunnelReverseListening {
remote_bind: String,
remote_port: u16,
local_host: String,
local_port: u16,
vps: String,
timeout_ms: u64,
},
}Expand description
All system UI messages.
SINGLE source of user-visible strings. Each variant has an exhaustive
translation in en() and pt(). FORBIDDEN to use UI literals outside this enum.
Variants with dynamic fields (e.g. { name: String }) allow including
contextual data in the message. Message is not Copy because
String fields are not Copy.
Variants§
VpsRegistryEmpty
No VPS registered in the configuration file.
VpsAdded
VPS successfully added to the registry.
VpsRemoved
VPS successfully removed from the registry.
VpsDuplicate
Attempt to add a VPS that already exists.
VpsNotFound
Requested VPS was not found in the registry.
VpsActiveSelected
Active VPS selected for subsequent operations.
ErrorConfig
Configuration could not be read or written.
ErrorSshConnection
Error establishing an SSH connection to the remote server.
ErrorAuthentication
SSH authentication was rejected by the server.
ErrorCommandFailed
Remote SSH command execution failed.
ErrorHostKeyChanged
Remote host key no longer matches the pinned entry.
ErrorTimeout
Operation exceeded its deadline.
ErrorFileNotFound
Requested file was not found.
A required external service is unavailable.
ErrorSoftware
The program itself failed in a way retrying cannot fix.
ErrorPartialFailure
A multi-host fan-out succeeded only in part.
ErrorInvalidArgument
Invalid argument supplied to the operation.
ErrorNoActiveVps
--use-active was requested but no active marker is set.
Previously this error fell through to the untranslated branch and reached a pt-BR operator in English. It is operator prose, not machine plumbing: the remedy is a command the human has to type.
ErrorUnexpected
A failure that carries no product error type.
Reached from the last branch of resolve_exit_code, where an anyhow
chain held neither SshCliError nor DomainError. That branch printed
the raw English chain regardless of --lang, so the one error a user is
least equipped to interpret was also the only one never translated.
VpsEdited
VPS record edited successfully.
ExportCompleted
Export completed.
ImportCompleted
Import completed.
PrimaryKeyReady
Primary key ready.
ReencryptCompleted
Re-encrypt completed.
TunnelPressCtrlC
Instruction to stop the tunnel via Ctrl+C.
HealthCheckOk
Successful VPS connectivity check.
ScpUploadCompleted
SCP upload completed.
ScpDownloadCompleted
SCP download completed.
SftpUploadCompleted
SFTP upload completed (G-SFTP).
SftpDownloadCompleted
SFTP download completed (G-SFTP).
SftpFsOpDone
SFTP filesystem operation completed on a single path (A4).
A4: mkdir, rmdir, rm and stat built their human line with an inline
English format!, so --lang pt-BR silently produced English for exactly the
commands an operator reads most often. This is the same defect already recorded
for the tunnel banner: a translation that existed but no call site could reach.
Fields
SftpFsOpDoneTo
SFTP filesystem operation completed with a destination path (rename).
Fields
LocalePreferenceSaved
Locale preference saved.
LocalePreferenceCleared
Locale preference cleared.
LocaleStatusTitle
Header for locale show output.
TunnelLocalListening
Local forward is listening.
Fields
TunnelSocks5Listening
SOCKS5 proxy is listening.
Fields
TunnelStreamLocalListening
Forward to a remote Unix socket is listening.
Fields
TunnelReverseListening
Reverse forward established on the server.
Implementations§
Trait Implementations§
impl Eq for Message
impl StructuralPartialEq for Message
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.