1#[derive(Debug, Clone)]
22pub enum Message {
23 AutostartEnabled,
25 AutostartEnabledUser,
26 AutostartDisabled,
27 AutostartAlreadyDisabled,
28 AutostartEnableFailed(String),
29 AutostartDisableFailed(String),
30 AutostartStatus(String),
31 AutostartRequiresAdmin,
32 AutostartCheckingAlternative,
33
34 TaskCreated,
36 TaskUpdated,
37 TaskNotFound,
38 TaskUpdateFailed,
39 TasksDeletedCount(usize),
40 TasksNotFoundForDate(String),
41 TasksNotFoundSad,
42 TasksHeader,
43 TasksDiscoverySummary {
45 incomplete: usize,
46 jira: usize,
47 gitlab: usize,
48 },
49 TasksDiscoverySeparator,
51 TasksDiscoverySearchingIncomplete,
52 TasksDiscoveryFetchingExternal,
53 NoTaskIdsProvided,
54 TasksNotFoundForIds(Vec<i32>),
55 TasksToBeDeleted,
56 ConfirmDeleteTask,
57 ConfirmDeleteTasks(usize),
58 ConfirmDeleteAllTodayTasks(usize),
59 ConfirmDeleteAllTodayTasksFinal,
60 NoTasksForToday,
61 TaskNotFoundWithId(i32),
62 CurrentTaskState,
63 TaskEditPreview,
64 ConfirmTaskUpdate,
65 NoChangesDetected,
66 NoTasksSelected,
67 SelectTasksToEdit,
68 EditingTask(String),
69 TaskUpdatedWithName(String),
70 TaskSkippedNoChanges(String),
71 TaskEditingCompleted,
72 PromptTaskNameEdit,
73 PromptTaskCommentEdit,
74 PromptTaskCompletenessEdit,
75 TaskCompletenessRange,
76
77 WorkdayEnded,
79 WorkdayNeverStarted(String), WorkdayNotFoundForDate(String),
82 WorkdayCreateFailed,
83 WorkdayStarting(String), WorkdayCouldNotFindAfterFinalizing(String), ConfigSaved,
88 ConfigDeleted,
89 ConfigParseError,
90 ConfigSaveError,
91 ConfigModuleGitLab,
92 ConfigModuleJira,
93 ConfigModuleSiServer,
94 ConfigModuleMonitor,
95 ConfigModuleServer,
96 ConfigModuleProductivity,
97 ConfigModuleTaskDiscovery,
98 ConfigModuleJiraInbox,
99 TaskDiscoveryIgnoreListHeader,
100 TaskDiscoveryIgnoreListEmpty,
101 TaskDiscoveryIgnoreNameAdded(String),
102 TaskDiscoveryIgnoreNameExists(String),
103 TaskDiscoveryIgnoreNamesAdded(usize),
104
105 DailyReportSent(String), MonthlyReportSent(String), MonthlyReportTriggered,
109 ReportSendFailed(String), MonthlyReportSendFailed(String), ReportHeader(String), WorkingHoursForMonth(String), ReportPayloadHeading {
114 url: String,
115 date: String,
116 },
117
118 ExportingData(String, String), ExportCompleted(String), ExportingAllData,
122
123 TemplateCreated(String),
125 TemplateUpdated(String),
126 TemplateDeleted(String),
127 TemplateNotFound(String),
128 TemplateAlreadyExists(String),
129 TemplateCreateFailed,
130 NoTemplatesFound,
131 TemplateListHeader,
132 SelectTemplateToEdit,
133 SelectTemplateToDelete,
134 ConfirmDeleteTemplate(String),
135 EditingTemplate(String),
136 NoTemplatesMatchingQuery(String),
137 TemplateSearchResults(String),
138 SelectTemplateAction,
139 PromptTemplateName,
140 PromptTemplateTaskName,
141 PromptTemplateComment,
142 PromptTemplateCompleteness,
143 CreatingTaskFromTemplate(String),
144 SelectTemplate,
145 CreateTemplateFirst,
146
147 TagCreated(String),
149 TagUpdated(String),
150 TagDeleted(String),
151 TagNotFound(String),
152 TagAlreadyExists(String),
153 NoTagsFound,
154 TagListHeader,
155 EditingTag(String),
156 SelectTagAction,
157 SelectTagToEdit,
158 SelectTagToDelete,
159 ConfirmDeleteTag(String),
160 ConfirmDeleteTagWithTasks(String, usize), PromptTagName,
162 PromptTagColor,
163 NoTasksWithTag(String),
164 TasksWithTag(String),
165 TagsAddedToTask(String),
166
167 ShortIntervalsDetected(usize, String), PromptMinWorkInterval,
170
171 WorkdayUpdateFailed,
173
174 PausesTitle(String),
176
177 MonitorStarted {
179 pause_threshold: u64,
180 poll_interval: u64,
181 activity_threshold: u64,
182 },
183 MonitorExitedNormally,
184 MonitorShuttingDown,
185 MonitorError(String),
186 MonitorTaskPanicked(String),
187 PauseStarted,
188 PauseEnded,
189
190 WatcherStarted(u32), WatcherStopped(u32), WatcherNotRunning,
194 WatcherNotRunningPidNotFound,
195 WatcherStartingForeground,
196 WatcherAlreadyRunning,
197 WatcherAlreadyRunningPid(String), WatcherStoppingExisting(String), WatcherFailedToStopExisting(String), WatcherReceivedSigterm,
201 WatcherReceivedSigint,
202 WatcherReceivedCtrlC,
203 WatcherCtrlCListenFailed(String), WatcherSignalHandlingNotSupported,
205 DaemonModeNotSupported,
206 FailedToGetCurrentExecutable,
207 FailedToCreateSigtermHandler,
208 FailedToCreateSigintHandler,
209
210 UpdateAvailable {
212 app_name: String,
213 latest: String,
214 },
215 UpdateCompleted {
216 app_name: String,
217 version: String,
218 },
219 NoUpdateRequired,
220 UpdateDownloadUrlNotSet,
221 UpdateLatestTagNotFound(String),
222 WatcherStoppingForUpdate,
223 WatcherRestartingAfterUpdate,
224 WatcherStoppingForConfig,
225 WatcherRestartingAfterConfig,
226 WatcherRestarted,
227 WatcherRestartFailed {
228 error: String,
229 },
230 UpdateBinaryNotFoundInArchive,
231
232 WrongPassword(i32), GitlabFetchFailed(String), GitlabUserIdFailed(String), JiraFetchFailed(String), SiServerConfigNotFound,
240 SiServerSessionFailed(String), SiServerRestDatesFailed(String), SiServerRestDatesParsingFailed(String), KaslServerReached {
246 url: String,
247 version: String,
248 },
249 KaslServerConnected {
250 user_name: String,
251 agent_name: String,
252 },
253 KaslServerConfigured(String), KaslServerDatabaseUnhealthy(String), KaslServerUnreachable(String), KaslServerTokenRejected(String), KaslServerUrlNeedsScheme(String), KaslServerTokenEmpty,
259 KaslServerTokenMissing,
260 KaslServerTokenNotRemoved(String), KaslServerNotConnected,
262 KaslServerDisconnected,
263 KaslServerNoDayToPush(String), KaslServerDayPushed {
265 date: String,
266 pauses: usize,
267 tasks: usize,
268 },
269 KaslServerTasksDeleted(u64), KaslServerPushRejected(String), KaslServerPushTokenRejected(String), KaslServerPushRetryable(String), KaslServerDayQueued(String), KaslServerQueueEmpty,
275 KaslServerQueueOwed(i64), KaslServerQueueEntry {
277 date: String,
278 attempts: i32,
279 last_error: Option<String>,
280 },
281 KaslServerQueueSending(usize), KaslServerDayRefused {
283 date: String,
284 reason: String,
285 },
286 KaslServerDayDeferred {
287 date: String,
288 reason: String,
289 },
290 KaslServerFlushSummary {
291 accepted: usize,
292 refused: usize,
293 deferred: usize,
294 },
295 KaslServerBackfillRange {
296 from: String,
297 to: String,
298 days: usize,
299 },
300 KaslServerBackfillNoDays {
301 from: String,
302 to: String,
303 },
304 KaslServerBackfillOrderReversed, KaslServerBackfillWholeHistory {
306 from: String,
307 to: String,
308 days: usize,
309 },
310 KaslServerBackfillNothingRecorded, KaslServerCompatibility {
312 server_version: String,
313 api_version: String,
314 },
315 KaslServerPrivacyHeading(String), KaslServerPrivacySummary(String), KaslServerPrivacyStoredHeading,
318 KaslServerPrivacyStored {
319 what: String,
320 detail: String,
321 },
322 KaslServerPrivacyNeverHeading,
323 KaslServerPrivacyBullet(String), KaslServerPrivacyVisibleHeading,
325 KaslServerPrivacyRetention(String), KaslServerPrivacyOnChange(String), KaslServerPrivacyUpdatedAt(String), KaslServerPrivacySetByAdmin,
329
330 PulseOff,
332 PulseNothingYet,
333 PulseLastSent {
334 ago: String,
335 state: Option<String>,
336 },
337 PulseFailing {
338 ago: String,
339 error: String,
340 },
341 PulseLastArrived(String), PulseSilent(String), PulseShownOffline(String), PulseClockSkew(i64), PulseEnabled(String), PulseNoWatcher,
347 PulseFirstArrived(String), PulseFirstFailed(String), PulseFirstPending,
350 PulseDisabled(Option<String>), PulseAlreadyOff,
352
353 DatabaseOperationFailed {
355 operation: String,
356 error: String,
357 },
358 NoIdSet,
359
360 FileNotFound,
362 InvalidPidFileContent,
363
364 PathConfigured,
366 PathConfigWarning {
367 error: String,
368 },
369 PathRegistryQueryError {
370 status: String,
371 },
372 PathRegistryUpdateError {
373 status: String,
374 stderr: String,
375 },
376 FailedToJoinPaths,
377 FailedToExecuteRegQuery,
378 FailedToParseRegOutput,
379 FailedToGetPathFromReg,
380 FailedToExecuteRegSet,
381 FailedToOpenProcess(u32), FailedToTerminateProcess(u32), ProcessTerminationNotSupported,
384
385 MonthlyProductivity(f64), LowProductivityWarning {
388 current: f64,
389 threshold: f64,
390 },
391 ProductivityTooLowToSend {
392 current: f64,
393 threshold: f64,
394 },
395 ManualPauseCreated {
396 start_time: String,
397 end_time: String,
398 duration_minutes: u64,
399 },
400 ManualPauseOverlaps {
401 start_time: String,
402 end_time: String,
403 },
404 ManualPauseRemoved(i32),
405 ManualPauseNotFound(i32),
406
407 PromptTaskName,
411 TaskNameMergedFromPaste,
412 PromptTaskComment,
413 PromptTaskCompleteness,
414 PromptMinPauseDuration,
415 PromptPauseThreshold,
416 PromptPollInterval,
417 PromptActivityThreshold,
418 PromptMinProductivityThreshold,
419 PromptWorkdayHours,
420 PromptMinWorkdayFraction,
421 PromptServerApiUrl,
422 PromptServerAuthToken,
423 PromptKaslServerUrl,
424 PromptKaslServerToken,
425 PromptSelectModules,
426 PromptSelectTasksToImport,
427 PromptSelectTasksToIgnore,
428 PromptSelectIgnoreNamesToRemove,
429 PromptAddIgnoreName,
430
431 OperationCompleted,
433 OperationCancelled,
434 InvalidInput,
435 PermissionDenied,
436 DeprecatedCommand(&'static str, &'static str), ErrorSendingEvents(String), ErrorSendingMonthlyReport(String), ErrorInRdevListener(String), ErrorRequestingRestDates(String), SelectingTask(String), JiraInboxRequiresJiraConfig,
449 JiraInboxEmpty,
450 JiraInboxListHeader,
451 JiraInboxListSliced {
453 shown: usize,
454 total: usize,
455 what: String,
456 },
457 JiraInboxNoMatch {
459 total: usize,
460 what: String,
461 },
462 JiraInboxSynced {
463 fetched: usize,
464 new_count: usize,
465 changed: usize,
466 gone: usize,
467 },
468 JiraInboxNewIssues(usize),
469 JiraInboxNotFound(String),
470 JiraInboxPinned(String),
471 JiraInboxUnpinned(String),
472 JiraInboxDismissed(String),
473 JiraInboxUndismissed(String),
474 JiraInboxSnoozed(String, String),
476 JiraInboxUnsnoozed(String),
477 JiraInboxAllSnoozed(i64),
479 JiraInboxWoke(usize),
481 JiraInboxTriaged {
483 taken: usize,
484 snoozed: usize,
485 dismissed: usize,
486 skipped: usize,
487 left: usize,
489 },
490 JiraInboxOpened(String),
491 JiraInboxTaken(String),
492
493 JiraInboxAlreadyTaken(String, String),
495
496 JiraInboxSummary {
498 total: i64,
499 fresh: i64,
500 taken: i64,
501 },
502 JiraInboxOpenFailed(String),
503
504 InboxRulesSkipped(usize),
506 InboxRuleSkipped(usize, String),
508 InboxRuleActed(String),
510 InboxRulesNone,
512 InboxRulesApplied(usize),
514 InboxRulesNotApplied(usize),
516
517 ToastActionUnknown(String),
519 ToastActionApplied(String),
521 ToastActionFailed(String, String),
523
524 JiraMoved(String),
526 JiraCommented(String),
528 JiraWriteFailed(String, String),
530 JiraResolvedTaskOpen(String, String),
533 PromptJiraAfterDone(String),
535 PromptJiraCloseComment,
536 PromptJiraComment,
537 PromptMarkResolvedDone,
538
539 PromptJiraInboxEnabled,
540 PromptJiraInboxPollInterval,
541 PromptJiraInboxNotify,
542 PromptJiraInboxSortFieldId,
543 PromptJiraInboxSortFieldLabel,
544 PromptJiraInboxExtraFieldId,
545 PromptJiraInboxExtraFieldLabel,
546
547 MigrationsFound(usize), RunningMigration(u32, String), MigrationCompleted(u32), MigrationFailed(u32, String), AllMigrationsCompleted,
553 DatabaseVersion(u32),
554 DatabaseUpToDate,
555 DatabaseNeedsUpdate,
556 MigrationHistory,
557 NothingToRollback,
558 RollingBack(u32, u32), RollbackCompleted(u32), }