@@ -7,6 +7,11 @@ import {
77 sanitizeDashboardConfig ,
88 type DashboardConfig ,
99} from "../dashboard-config" ;
10+ import {
11+ DEFAULT_STATUS_MESSAGE_FREQUENCY_MS ,
12+ parseStatusMessageFrequencyMs ,
13+ type StatusMessageFrequencyMs ,
14+ } from "../status-message-frequency" ;
1015
1116const existsSync = fs . existsSync ;
1217const mkdirSync = fs . mkdirSync ;
@@ -40,7 +45,7 @@ const userSchema = z.object({
4045 "high" ,
4146 ] ) . optional ( ) ,
4247 messageUpdateIntervalMs : z . number ( ) . optional ( ) ,
43- IM_MESSAGE_UPDATE_INTERVAL_MS : z . number ( ) . optional ( ) . default ( 2000 ) ,
48+ IM_MESSAGE_UPDATE_INTERVAL_MS : z . number ( ) . optional ( ) . default ( DEFAULT_STATUS_MESSAGE_FREQUENCY_MS ) ,
4449} ) ;
4550
4651const agentProviderSchema = z . enum ( [ "opencode" , "claudecode" , "codex" , "kimi" , "kiro" , "kilo" , "qwen" , "goose" , "gemini" ] ) ;
@@ -103,7 +108,7 @@ const channelDetailSchema = z.object({
103108
104109const DEFAULT_UPDATE_INTERVAL_MS = 60 * 60 * 1000 ;
105110const MIN_UPDATE_INTERVAL_MS = 5 * 60 * 1000 ;
106- const DEFAULT_MESSAGE_UPDATE_INTERVAL_MS = 2000 ;
111+ const DEFAULT_MESSAGE_UPDATE_INTERVAL_MS = DEFAULT_STATUS_MESSAGE_FREQUENCY_MS ;
107112const MIN_MESSAGE_UPDATE_INTERVAL_MS = 250 ;
108113export const DEFAULT_CODEX_MODEL = "gpt-5.3-codex" ;
109114
@@ -170,7 +175,7 @@ const EMPTY_TEMPLATE: OdeConfig = {
170175 avatar : "" ,
171176 gitStrategy : "worktree" ,
172177 defaultStatusMessageFormat : "medium" ,
173- IM_MESSAGE_UPDATE_INTERVAL_MS : 2000 ,
178+ IM_MESSAGE_UPDATE_INTERVAL_MS : DEFAULT_STATUS_MESSAGE_FREQUENCY_MS ,
174179 } ,
175180 githubInfos : { } ,
176181 agents : {
@@ -366,10 +371,7 @@ function toDashboardConfig(config: OdeConfig): DashboardConfig {
366371 avatar : config . user . avatar ,
367372 gitStrategy : config . user . gitStrategy ,
368373 defaultStatusMessageFormat,
369- statusMessageFrequencyMs :
370- config . user . IM_MESSAGE_UPDATE_INTERVAL_MS === 5000 || config . user . IM_MESSAGE_UPDATE_INTERVAL_MS === 10000
371- ? config . user . IM_MESSAGE_UPDATE_INTERVAL_MS
372- : 2000 ,
374+ statusMessageFrequencyMs : parseStatusMessageFrequencyMs ( config . user . IM_MESSAGE_UPDATE_INTERVAL_MS ) ,
373375 } ,
374376 updates : {
375377 autoUpgrade : config . updates . autoUpgrade ,
@@ -405,10 +407,7 @@ function mergeDashboardConfig(config: OdeConfig, dashboardConfig: DashboardConfi
405407 user : {
406408 ...config . user ,
407409 ...dashboardUser ,
408- IM_MESSAGE_UPDATE_INTERVAL_MS :
409- statusMessageFrequencyMs === 5000 || statusMessageFrequencyMs === 10000
410- ? statusMessageFrequencyMs
411- : 2000 ,
410+ IM_MESSAGE_UPDATE_INTERVAL_MS : parseStatusMessageFrequencyMs ( statusMessageFrequencyMs ) ,
412411 } ,
413412 updates : {
414413 ...config . updates ,
@@ -630,7 +629,7 @@ export type GitHubInfo = {
630629export type UserGeneralSettings = {
631630 defaultStatusMessageFormat : "minimum" | "medium" | "aggressive" ;
632631 gitStrategy : "default" | "worktree" ;
633- statusMessageFrequencyMs : 2000 | 5000 | 10000 ;
632+ statusMessageFrequencyMs : StatusMessageFrequencyMs ;
634633 autoUpdate : boolean ;
635634} ;
636635
@@ -658,10 +657,7 @@ export function getUserGeneralSettings(): UserGeneralSettings {
658657 ? user . defaultStatusMessageFormat
659658 : "medium" ,
660659 gitStrategy : user . gitStrategy === "default" ? "default" : "worktree" ,
661- statusMessageFrequencyMs :
662- user . IM_MESSAGE_UPDATE_INTERVAL_MS === 5000 || user . IM_MESSAGE_UPDATE_INTERVAL_MS === 10000
663- ? user . IM_MESSAGE_UPDATE_INTERVAL_MS
664- : 2000 ,
660+ statusMessageFrequencyMs : parseStatusMessageFrequencyMs ( user . IM_MESSAGE_UPDATE_INTERVAL_MS ) ,
665661 autoUpdate : updates . autoUpgrade !== false ,
666662 } ;
667663}
@@ -673,10 +669,7 @@ export function setUserGeneralSettings(settings: UserGeneralSettings): void {
673669 ...config . user ,
674670 defaultStatusMessageFormat : settings . defaultStatusMessageFormat ,
675671 gitStrategy : settings . gitStrategy ,
676- IM_MESSAGE_UPDATE_INTERVAL_MS :
677- settings . statusMessageFrequencyMs === 5000 || settings . statusMessageFrequencyMs === 10000
678- ? settings . statusMessageFrequencyMs
679- : 2000 ,
672+ IM_MESSAGE_UPDATE_INTERVAL_MS : parseStatusMessageFrequencyMs ( settings . statusMessageFrequencyMs ) ,
680673 } ,
681674 updates : {
682675 ...config . updates ,
0 commit comments