pub enum Message {
Show 336 variants
AutostartEnabled,
AutostartEnabledUser,
AutostartDisabled,
AutostartAlreadyDisabled,
AutostartEnableFailed(String),
AutostartDisableFailed(String),
AutostartStatus(String),
AutostartRequiresAdmin,
AutostartCheckingAlternative,
TaskCreated,
TaskUpdated,
TaskNotFound,
TaskUpdateFailed,
TasksDeletedCount(usize),
TasksNotFoundForDate(String),
TasksNotFoundSad,
TasksHeader,
TasksDiscoverySummary {
incomplete: usize,
jira: usize,
gitlab: usize,
},
TasksDiscoverySeparator,
TasksDiscoverySearchingIncomplete,
TasksDiscoveryFetchingExternal,
NoTaskIdsProvided,
TasksNotFoundForIds(Vec<i32>),
TasksToBeDeleted,
ConfirmDeleteTask,
ConfirmDeleteTasks(usize),
ConfirmDeleteAllTodayTasks(usize),
ConfirmDeleteAllTodayTasksFinal,
NoTasksForToday,
TaskNotFoundWithId(i32),
CurrentTaskState,
TaskEditPreview,
ConfirmTaskUpdate,
NoChangesDetected,
NoTasksSelected,
SelectTasksToEdit,
EditingTask(String),
TaskUpdatedWithName(String),
TaskSkippedNoChanges(String),
TaskEditingCompleted,
PromptTaskNameEdit,
PromptTaskCommentEdit,
PromptTaskCompletenessEdit,
TaskCompletenessRange,
WorkdayEnded,
WorkdayNeverStarted(String),
WorkdayNotFoundForDate(String),
WorkdayCreateFailed,
WorkdayStarting(String),
WorkdayCouldNotFindAfterFinalizing(String),
ConfigSaved,
ConfigDeleted,
ConfigParseError,
ConfigSaveError,
ConfigModuleGitLab,
ConfigModuleJira,
ConfigModuleSiServer,
ConfigModuleMonitor,
ConfigModuleServer,
ConfigModuleProductivity,
ConfigModuleTaskDiscovery,
ConfigModuleJiraInbox,
TaskDiscoveryIgnoreListHeader,
TaskDiscoveryIgnoreListEmpty,
TaskDiscoveryIgnoreNameAdded(String),
TaskDiscoveryIgnoreNameExists(String),
TaskDiscoveryIgnoreNamesAdded(usize),
DailyReportSent(String),
MonthlyReportSent(String),
MonthlyReportTriggered,
ReportSendFailed(String),
MonthlyReportSendFailed(String),
ReportHeader(String),
WorkingHoursForMonth(String),
ReportPayloadHeading {
url: String,
date: String,
},
ExportingData(String, String),
ExportCompleted(String),
ExportingAllData,
TemplateCreated(String),
TemplateUpdated(String),
TemplateDeleted(String),
TemplateNotFound(String),
TemplateAlreadyExists(String),
TemplateCreateFailed,
NoTemplatesFound,
TemplateListHeader,
SelectTemplateToEdit,
SelectTemplateToDelete,
ConfirmDeleteTemplate(String),
EditingTemplate(String),
NoTemplatesMatchingQuery(String),
TemplateSearchResults(String),
SelectTemplateAction,
PromptTemplateName,
PromptTemplateTaskName,
PromptTemplateComment,
PromptTemplateCompleteness,
CreatingTaskFromTemplate(String),
SelectTemplate,
CreateTemplateFirst,
TagCreated(String),
TagUpdated(String),
TagDeleted(String),
TagNotFound(String),
TagAlreadyExists(String),
NoTagsFound,
TagListHeader,
EditingTag(String),
SelectTagAction,
SelectTagToEdit,
SelectTagToDelete,
ConfirmDeleteTag(String),
ConfirmDeleteTagWithTasks(String, usize),
PromptTagName,
PromptTagColor,
NoTasksWithTag(String),
TasksWithTag(String),
TagsAddedToTask(String),
ShortIntervalsDetected(usize, String),
PromptMinWorkInterval,
WorkdayUpdateFailed,
PausesTitle(String),
MonitorStarted {
pause_threshold: u64,
poll_interval: u64,
activity_threshold: u64,
},
MonitorExitedNormally,
MonitorShuttingDown,
MonitorError(String),
MonitorTaskPanicked(String),
PauseStarted,
PauseEnded,
WatcherStarted(u32),
WatcherStopped(u32),
WatcherNotRunning,
WatcherNotRunningPidNotFound,
WatcherStartingForeground,
WatcherAlreadyRunning,
WatcherAlreadyRunningPid(String),
WatcherStoppingExisting(String),
WatcherFailedToStopExisting(String),
WatcherReceivedSigterm,
WatcherReceivedSigint,
WatcherReceivedCtrlC,
WatcherCtrlCListenFailed(String),
WatcherSignalHandlingNotSupported,
DaemonModeNotSupported,
FailedToGetCurrentExecutable,
FailedToCreateSigtermHandler,
FailedToCreateSigintHandler,
UpdateAvailable {
app_name: String,
latest: String,
},
UpdateCompleted {
app_name: String,
version: String,
},
NoUpdateRequired,
UpdateDownloadUrlNotSet,
UpdateLatestTagNotFound(String),
WatcherStoppingForUpdate,
WatcherRestartingAfterUpdate,
WatcherStoppingForConfig,
WatcherRestartingAfterConfig,
WatcherRestarted,
WatcherRestartFailed {
error: String,
},
UpdateBinaryNotFoundInArchive,
WrongPassword(i32),
GitlabFetchFailed(String),
GitlabUserIdFailed(String),
JiraFetchFailed(String),
SiServerConfigNotFound,
SiServerSessionFailed(String),
SiServerRestDatesFailed(String),
SiServerRestDatesParsingFailed(String),
KaslServerReached {
url: String,
version: String,
},
KaslServerConnected {
user_name: String,
agent_name: String,
},
KaslServerConfigured(String),
KaslServerDatabaseUnhealthy(String),
KaslServerUnreachable(String),
KaslServerTokenRejected(String),
KaslServerUrlNeedsScheme(String),
KaslServerTokenEmpty,
KaslServerTokenMissing,
KaslServerTokenNotRemoved(String),
KaslServerNotConnected,
KaslServerDisconnected,
KaslServerNoDayToPush(String),
KaslServerDayPushed {
date: String,
pauses: usize,
tasks: usize,
},
KaslServerTasksDeleted(u64),
KaslServerPushRejected(String),
KaslServerPushTokenRejected(String),
KaslServerPushRetryable(String),
KaslServerDayQueued(String),
KaslServerQueueEmpty,
KaslServerQueueOwed(i64),
KaslServerQueueEntry {
date: String,
attempts: i32,
last_error: Option<String>,
},
KaslServerQueueSending(usize),
KaslServerDayRefused {
date: String,
reason: String,
},
KaslServerDayDeferred {
date: String,
reason: String,
},
KaslServerFlushSummary {
accepted: usize,
refused: usize,
deferred: usize,
},
KaslServerBackfillRange {
from: String,
to: String,
days: usize,
},
KaslServerBackfillNoDays {
from: String,
to: String,
},
KaslServerBackfillOrderReversed,
KaslServerBackfillWholeHistory {
from: String,
to: String,
days: usize,
},
KaslServerBackfillNothingRecorded,
KaslServerCompatibility {
server_version: String,
api_version: String,
},
KaslServerPrivacyHeading(String),
KaslServerPrivacySummary(String),
KaslServerPrivacyStoredHeading,
KaslServerPrivacyStored {
what: String,
detail: String,
},
KaslServerPrivacyNeverHeading,
KaslServerPrivacyBullet(String),
KaslServerPrivacyVisibleHeading,
KaslServerPrivacyRetention(String),
KaslServerPrivacyOnChange(String),
KaslServerPrivacyUpdatedAt(String),
KaslServerPrivacySetByAdmin,
PulseOff,
PulseNothingYet,
PulseLastSent {
ago: String,
state: Option<String>,
},
PulseFailing {
ago: String,
error: String,
},
PulseLastArrived(String),
PulseSilent(String),
PulseShownOffline(String),
PulseClockSkew(i64),
PulseEnabled(String),
PulseNoWatcher,
PulseFirstArrived(String),
PulseFirstFailed(String),
PulseFirstPending,
PulseDisabled(Option<String>),
PulseAlreadyOff,
DatabaseOperationFailed {
operation: String,
error: String,
},
NoIdSet,
FileNotFound,
InvalidPidFileContent,
PathConfigured,
PathConfigWarning {
error: String,
},
PathRegistryQueryError {
status: String,
},
PathRegistryUpdateError {
status: String,
stderr: String,
},
FailedToJoinPaths,
FailedToExecuteRegQuery,
FailedToParseRegOutput,
FailedToGetPathFromReg,
FailedToExecuteRegSet,
FailedToOpenProcess(u32),
FailedToTerminateProcess(u32),
ProcessTerminationNotSupported,
MonthlyProductivity(f64),
LowProductivityWarning {
current: f64,
threshold: f64,
},
ProductivityTooLowToSend {
current: f64,
threshold: f64,
},
ManualPauseCreated {
start_time: String,
end_time: String,
duration_minutes: u64,
},
ManualPauseOverlaps {
start_time: String,
end_time: String,
},
ManualPauseRemoved(i32),
ManualPauseNotFound(i32),
PromptTaskName,
TaskNameMergedFromPaste,
PromptTaskComment,
PromptTaskCompleteness,
PromptMinPauseDuration,
PromptPauseThreshold,
PromptPollInterval,
PromptActivityThreshold,
PromptMinProductivityThreshold,
PromptWorkdayHours,
PromptMinWorkdayFraction,
PromptServerApiUrl,
PromptServerAuthToken,
PromptKaslServerUrl,
PromptKaslServerToken,
PromptSelectModules,
PromptSelectTasksToImport,
PromptSelectTasksToIgnore,
PromptSelectIgnoreNamesToRemove,
PromptAddIgnoreName,
OperationCompleted,
OperationCancelled,
InvalidInput,
PermissionDenied,
DeprecatedCommand(&'static str, &'static str),
ErrorSendingEvents(String),
ErrorSendingMonthlyReport(String),
ErrorInRdevListener(String),
ErrorRequestingRestDates(String),
SelectingTask(String),
JiraInboxRequiresJiraConfig,
JiraInboxEmpty,
JiraInboxListHeader,
JiraInboxListSliced {
shown: usize,
total: usize,
what: String,
},
JiraInboxNoMatch {
total: usize,
what: String,
},
JiraInboxSynced {
fetched: usize,
new_count: usize,
changed: usize,
gone: usize,
},
JiraInboxNewIssues(usize),
JiraInboxNotFound(String),
JiraInboxPinned(String),
JiraInboxUnpinned(String),
JiraInboxDismissed(String),
JiraInboxUndismissed(String),
JiraInboxSnoozed(String, String),
JiraInboxUnsnoozed(String),
JiraInboxAllSnoozed(i64),
JiraInboxWoke(usize),
JiraInboxTriaged {
taken: usize,
snoozed: usize,
dismissed: usize,
skipped: usize,
left: usize,
},
JiraInboxOpened(String),
JiraInboxTaken(String),
JiraInboxAlreadyTaken(String, String),
JiraInboxSummary {
total: i64,
fresh: i64,
taken: i64,
},
JiraInboxOpenFailed(String),
InboxRulesSkipped(usize),
InboxRuleSkipped(usize, String),
InboxRuleActed(String),
InboxRulesNone,
InboxRulesApplied(usize),
InboxRulesNotApplied(usize),
ToastActionUnknown(String),
ToastActionApplied(String),
ToastActionFailed(String, String),
JiraMoved(String),
JiraCommented(String),
JiraWriteFailed(String, String),
JiraResolvedTaskOpen(String, String),
PromptJiraAfterDone(String),
PromptJiraCloseComment,
PromptJiraComment,
PromptMarkResolvedDone,
PromptJiraInboxEnabled,
PromptJiraInboxPollInterval,
PromptJiraInboxNotify,
PromptJiraInboxSortFieldId,
PromptJiraInboxSortFieldLabel,
PromptJiraInboxExtraFieldId,
PromptJiraInboxExtraFieldLabel,
MigrationsFound(usize),
RunningMigration(u32, String),
MigrationCompleted(u32),
MigrationFailed(u32, String),
AllMigrationsCompleted,
DatabaseVersion(u32),
DatabaseUpToDate,
DatabaseNeedsUpdate,
MigrationHistory,
NothingToRollback,
RollingBack(u32, u32),
RollbackCompleted(u32),
}Expand description
Comprehensive message enumeration for all user-facing communication.
Variants§
AutostartEnabled
AutostartEnabledUser
AutostartDisabled
AutostartAlreadyDisabled
AutostartEnableFailed(String)
AutostartDisableFailed(String)
AutostartStatus(String)
AutostartRequiresAdmin
AutostartCheckingAlternative
TaskCreated
TaskUpdated
TaskNotFound
TaskUpdateFailed
TasksDeletedCount(usize)
TasksNotFoundForDate(String)
TasksNotFoundSad
TasksHeader
TasksDiscoverySummary
Summary line before unified discovery MultiSelect
TasksDiscoverySeparator
Non-selectable separator between incomplete and other items
TasksDiscoverySearchingIncomplete
TasksDiscoveryFetchingExternal
NoTaskIdsProvided
TasksNotFoundForIds(Vec<i32>)
TasksToBeDeleted
ConfirmDeleteTask
ConfirmDeleteTasks(usize)
ConfirmDeleteAllTodayTasks(usize)
ConfirmDeleteAllTodayTasksFinal
NoTasksForToday
TaskNotFoundWithId(i32)
CurrentTaskState
TaskEditPreview
ConfirmTaskUpdate
NoChangesDetected
NoTasksSelected
SelectTasksToEdit
EditingTask(String)
TaskUpdatedWithName(String)
TaskSkippedNoChanges(String)
TaskEditingCompleted
PromptTaskNameEdit
PromptTaskCommentEdit
PromptTaskCompletenessEdit
TaskCompletenessRange
WorkdayEnded
WorkdayNeverStarted(String)
end was asked to close a day that was never opened.
WorkdayNotFoundForDate(String)
WorkdayCreateFailed
WorkdayStarting(String)
WorkdayCouldNotFindAfterFinalizing(String)
ConfigSaved
ConfigDeleted
ConfigParseError
ConfigSaveError
ConfigModuleGitLab
ConfigModuleJira
ConfigModuleSiServer
ConfigModuleMonitor
ConfigModuleServer
ConfigModuleProductivity
ConfigModuleTaskDiscovery
ConfigModuleJiraInbox
TaskDiscoveryIgnoreListHeader
TaskDiscoveryIgnoreListEmpty
TaskDiscoveryIgnoreNameAdded(String)
TaskDiscoveryIgnoreNameExists(String)
TaskDiscoveryIgnoreNamesAdded(usize)
DailyReportSent(String)
MonthlyReportSent(String)
MonthlyReportTriggered
ReportSendFailed(String)
MonthlyReportSendFailed(String)
ReportHeader(String)
WorkingHoursForMonth(String)
ReportPayloadHeading
ExportingData(String, String)
ExportCompleted(String)
ExportingAllData
TemplateCreated(String)
TemplateUpdated(String)
TemplateDeleted(String)
TemplateNotFound(String)
TemplateAlreadyExists(String)
TemplateCreateFailed
NoTemplatesFound
TemplateListHeader
SelectTemplateToEdit
SelectTemplateToDelete
ConfirmDeleteTemplate(String)
EditingTemplate(String)
NoTemplatesMatchingQuery(String)
TemplateSearchResults(String)
SelectTemplateAction
PromptTemplateName
PromptTemplateTaskName
PromptTemplateComment
PromptTemplateCompleteness
CreatingTaskFromTemplate(String)
SelectTemplate
CreateTemplateFirst
TagCreated(String)
TagUpdated(String)
TagDeleted(String)
TagNotFound(String)
TagAlreadyExists(String)
NoTagsFound
TagListHeader
EditingTag(String)
SelectTagAction
SelectTagToEdit
SelectTagToDelete
ConfirmDeleteTag(String)
ConfirmDeleteTagWithTasks(String, usize)
PromptTagName
PromptTagColor
NoTasksWithTag(String)
TasksWithTag(String)
TagsAddedToTask(String)
ShortIntervalsDetected(usize, String)
PromptMinWorkInterval
WorkdayUpdateFailed
PausesTitle(String)
MonitorStarted
MonitorExitedNormally
MonitorShuttingDown
MonitorError(String)
MonitorTaskPanicked(String)
PauseStarted
PauseEnded
WatcherStarted(u32)
WatcherStopped(u32)
WatcherNotRunning
WatcherNotRunningPidNotFound
WatcherStartingForeground
WatcherAlreadyRunning
WatcherAlreadyRunningPid(String)
WatcherStoppingExisting(String)
WatcherFailedToStopExisting(String)
WatcherReceivedSigterm
WatcherReceivedSigint
WatcherReceivedCtrlC
WatcherCtrlCListenFailed(String)
WatcherSignalHandlingNotSupported
DaemonModeNotSupported
FailedToGetCurrentExecutable
FailedToCreateSigtermHandler
FailedToCreateSigintHandler
UpdateAvailable
UpdateCompleted
NoUpdateRequired
UpdateDownloadUrlNotSet
UpdateLatestTagNotFound(String)
WatcherStoppingForUpdate
WatcherRestartingAfterUpdate
WatcherStoppingForConfig
WatcherRestartingAfterConfig
WatcherRestarted
WatcherRestartFailed
UpdateBinaryNotFoundInArchive
WrongPassword(i32)
GitlabFetchFailed(String)
GitlabUserIdFailed(String)
JiraFetchFailed(String)
SiServerConfigNotFound
SiServerSessionFailed(String)
SiServerRestDatesFailed(String)
SiServerRestDatesParsingFailed(String)
KaslServerReached
KaslServerConnected
KaslServerConfigured(String)
KaslServerDatabaseUnhealthy(String)
KaslServerUnreachable(String)
KaslServerTokenRejected(String)
KaslServerUrlNeedsScheme(String)
KaslServerTokenEmpty
KaslServerTokenMissing
KaslServerTokenNotRemoved(String)
KaslServerNotConnected
KaslServerDisconnected
KaslServerNoDayToPush(String)
KaslServerDayPushed
KaslServerTasksDeleted(u64)
KaslServerPushRejected(String)
KaslServerPushTokenRejected(String)
KaslServerPushRetryable(String)
KaslServerDayQueued(String)
KaslServerQueueEmpty
KaslServerQueueOwed(i64)
KaslServerQueueEntry
KaslServerQueueSending(usize)
KaslServerDayRefused
KaslServerDayDeferred
KaslServerFlushSummary
KaslServerBackfillRange
KaslServerBackfillNoDays
KaslServerBackfillOrderReversed
KaslServerBackfillWholeHistory
KaslServerBackfillNothingRecorded
KaslServerCompatibility
KaslServerPrivacyHeading(String)
KaslServerPrivacySummary(String)
KaslServerPrivacyStoredHeading
KaslServerPrivacyStored
KaslServerPrivacyNeverHeading
KaslServerPrivacyBullet(String)
KaslServerPrivacyVisibleHeading
KaslServerPrivacyRetention(String)
KaslServerPrivacyOnChange(String)
KaslServerPrivacyUpdatedAt(String)
KaslServerPrivacySetByAdmin
PulseOff
PulseNothingYet
PulseLastSent
PulseFailing
PulseLastArrived(String)
PulseSilent(String)
PulseShownOffline(String)
PulseClockSkew(i64)
PulseEnabled(String)
PulseNoWatcher
PulseFirstArrived(String)
PulseFirstFailed(String)
PulseFirstPending
PulseDisabled(Option<String>)
PulseAlreadyOff
DatabaseOperationFailed
NoIdSet
FileNotFound
InvalidPidFileContent
PathConfigured
PathConfigWarning
PathRegistryQueryError
PathRegistryUpdateError
FailedToJoinPaths
FailedToExecuteRegQuery
FailedToParseRegOutput
FailedToGetPathFromReg
FailedToExecuteRegSet
FailedToOpenProcess(u32)
FailedToTerminateProcess(u32)
ProcessTerminationNotSupported
MonthlyProductivity(f64)
LowProductivityWarning
ProductivityTooLowToSend
ManualPauseCreated
ManualPauseOverlaps
ManualPauseRemoved(i32)
ManualPauseNotFound(i32)
PromptTaskName
TaskNameMergedFromPaste
PromptTaskComment
PromptTaskCompleteness
PromptMinPauseDuration
PromptPauseThreshold
PromptPollInterval
PromptActivityThreshold
PromptMinProductivityThreshold
PromptWorkdayHours
PromptMinWorkdayFraction
PromptServerApiUrl
PromptServerAuthToken
PromptKaslServerUrl
PromptKaslServerToken
PromptSelectModules
PromptSelectTasksToImport
PromptSelectTasksToIgnore
PromptSelectIgnoreNamesToRemove
PromptAddIgnoreName
OperationCompleted
OperationCancelled
InvalidInput
PermissionDenied
DeprecatedCommand(&'static str, &'static str)
ErrorSendingEvents(String)
ErrorSendingMonthlyReport(String)
ErrorInRdevListener(String)
ErrorRequestingRestDates(String)
SelectingTask(String)
JiraInboxRequiresJiraConfig
JiraInboxEmpty
JiraInboxListHeader
JiraInboxListSliced
A cut or truncated list: how many shown of how many active, and the cuts in words.
JiraInboxNoMatch
The cuts left nothing; total is the whole inbox, so the user knows the list is not empty.
JiraInboxSynced
JiraInboxNewIssues(usize)
JiraInboxNotFound(String)
JiraInboxPinned(String)
JiraInboxUnpinned(String)
JiraInboxDismissed(String)
JiraInboxUndismissed(String)
JiraInboxSnoozed(String, String)
Key, and when it is due back.
JiraInboxUnsnoozed(String)
JiraInboxAllSnoozed(i64)
Nothing is awake, but this many are asleep.
JiraInboxWoke(usize)
How many snoozed issues came back.
JiraInboxTriaged
What a triage run came to.
Fields
JiraInboxOpened(String)
JiraInboxTaken(String)
JiraInboxAlreadyTaken(String, String)
The issue already became a task: key, then the task’s name.
JiraInboxSummary
What the inbox holds, shown under the daily report.
JiraInboxOpenFailed(String)
InboxRulesSkipped(usize)
How many inbox rules could not be read and are skipped.
InboxRuleSkipped(usize, String)
One skipped rule: its number in the config, then why.
InboxRuleActed(String)
What the rules did to one issue, already worded.
InboxRulesNone
The config holds no inbox rules.
InboxRulesApplied(usize)
rules --apply finished: how many issues it changed.
InboxRulesNotApplied(usize)
Issues a rule matches that its pin or dismissal has not reached.
ToastActionUnknown(String)
A courier was handed an action name that is not one of the three.
ToastActionApplied(String)
What a toast button came to: the one-line outcome, already worded.
ToastActionFailed(String, String)
A toast button could not be carried out: key, then why.
JiraMoved(String)
What a move in Jira came to, already worded.
JiraCommented(String)
A comment landed on the issue.
JiraWriteFailed(String, String)
The local change stands, but Jira was not updated: key, then why.
JiraResolvedTaskOpen(String, String)
A taken issue was resolved in Jira while its task is open: key, then the resolution in parentheses or nothing.
PromptJiraAfterDone(String)
The question after a linked task reaches 100%.
PromptJiraCloseComment
PromptJiraComment
PromptMarkResolvedDone
PromptJiraInboxEnabled
PromptJiraInboxPollInterval
PromptJiraInboxNotify
PromptJiraInboxSortFieldId
PromptJiraInboxSortFieldLabel
PromptJiraInboxExtraFieldId
PromptJiraInboxExtraFieldLabel
MigrationsFound(usize)
RunningMigration(u32, String)
MigrationCompleted(u32)
MigrationFailed(u32, String)
AllMigrationsCompleted
DatabaseVersion(u32)
DatabaseUpToDate
DatabaseNeedsUpdate
MigrationHistory
NothingToRollback
RollingBack(u32, u32)
RollbackCompleted(u32)
Trait Implementations§
Source§impl Display for Message
impl Display for Message
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Converts a Message enum variant into human-readable text.
§Examples
use kasl::libs::messages::Message;
// Automatic formatting through Display trait
let message = Message::TaskCreated;
println!("{}", message); // "Task created successfully"
// With parameters
let date_message = Message::WorkdayStarting("2025-01-15".to_string());
println!("{}", date_message); // "Starting workday for 2025-01-15"