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 DatabaseOperationFailed {
332 operation: String,
333 error: String,
334 },
335 NoIdSet,
336
337 FileNotFound,
339 InvalidPidFileContent,
340
341 PathConfigured,
343 PathConfigWarning {
344 error: String,
345 },
346 PathRegistryQueryError {
347 status: String,
348 },
349 PathRegistryUpdateError {
350 status: String,
351 stderr: String,
352 },
353 FailedToJoinPaths,
354 FailedToExecuteRegQuery,
355 FailedToParseRegOutput,
356 FailedToGetPathFromReg,
357 FailedToExecuteRegSet,
358 FailedToOpenProcess(u32), FailedToTerminateProcess(u32), ProcessTerminationNotSupported,
361
362 MonthlyProductivity(f64), LowProductivityWarning {
365 current: f64,
366 threshold: f64,
367 },
368 ProductivityTooLowToSend {
369 current: f64,
370 threshold: f64,
371 },
372 ManualPauseCreated {
373 start_time: String,
374 end_time: String,
375 duration_minutes: u64,
376 },
377 ManualPauseOverlaps {
378 start_time: String,
379 end_time: String,
380 },
381 ManualPauseRemoved(i32),
382 ManualPauseNotFound(i32),
383
384 PromptTaskName,
388 TaskNameMergedFromPaste,
389 PromptTaskComment,
390 PromptTaskCompleteness,
391 PromptMinPauseDuration,
392 PromptPauseThreshold,
393 PromptPollInterval,
394 PromptActivityThreshold,
395 PromptMinProductivityThreshold,
396 PromptWorkdayHours,
397 PromptMinWorkdayFraction,
398 PromptServerApiUrl,
399 PromptServerAuthToken,
400 PromptKaslServerUrl,
401 PromptKaslServerToken,
402 PromptSelectModules,
403 PromptSelectTasksToImport,
404 PromptSelectTasksToIgnore,
405 PromptSelectIgnoreNamesToRemove,
406 PromptAddIgnoreName,
407
408 OperationCompleted,
410 OperationCancelled,
411 InvalidInput,
412 PermissionDenied,
413 DeprecatedCommand(&'static str, &'static str), ErrorSendingEvents(String), ErrorSendingMonthlyReport(String), ErrorInRdevListener(String), ErrorRequestingRestDates(String), SelectingTask(String), JiraInboxRequiresJiraConfig,
426 JiraInboxEmpty,
427 JiraInboxListHeader,
428 JiraInboxListSliced {
430 shown: usize,
431 total: usize,
432 what: String,
433 },
434 JiraInboxNoMatch {
436 total: usize,
437 what: String,
438 },
439 JiraInboxSynced {
440 fetched: usize,
441 new_count: usize,
442 changed: usize,
443 gone: usize,
444 },
445 JiraInboxNewIssues(usize),
446 JiraInboxNotFound(String),
447 JiraInboxPinned(String),
448 JiraInboxUnpinned(String),
449 JiraInboxDismissed(String),
450 JiraInboxSnoozed(String, String),
452 JiraInboxUnsnoozed(String),
453 JiraInboxAllSnoozed(i64),
455 JiraInboxWoke(usize),
457 JiraInboxTriaged {
459 taken: usize,
460 snoozed: usize,
461 dismissed: usize,
462 skipped: usize,
463 left: usize,
465 },
466 JiraInboxOpened(String),
467 JiraInboxTaken(String),
468
469 JiraInboxAlreadyTaken(String, String),
471
472 JiraInboxSummary {
474 total: i64,
475 fresh: i64,
476 taken: i64,
477 },
478 JiraInboxOpenFailed(String),
479
480 ToastActionUnknown(String),
482 ToastActionApplied(String),
484 ToastActionFailed(String, String),
486
487 PromptJiraInboxEnabled,
488 PromptJiraInboxPollInterval,
489 PromptJiraInboxNotify,
490 PromptJiraInboxSortFieldId,
491 PromptJiraInboxSortFieldLabel,
492 PromptJiraInboxExtraFieldId,
493 PromptJiraInboxExtraFieldLabel,
494
495 MigrationsFound(usize), RunningMigration(u32, String), MigrationCompleted(u32), MigrationFailed(u32, String), AllMigrationsCompleted,
501 DatabaseVersion(u32),
502 DatabaseUpToDate,
503 DatabaseNeedsUpdate,
504 MigrationHistory,
505 NothingToRollback,
506 RollingBack(u32, u32), RollbackCompleted(u32), }