configBounds constant

Map<String, ({int max, int min})> const configBounds

Operational bounds for Remote Config int values. Only applied to remote values — env overrides bypass these for testing flexibility. Min bounds start at 1 because Firebase Remote Config getInt() returns 0 for unset keys, and all getters use if (remoteValue > 0) to detect "set" values.

Implementation

static const configBounds = {
  'retryAttemptsCountMax': (min: 1, max: 20),
  'timeoutBeforeShowingLoadingMill': (min: 100, max: 30000),
  'timeoutNetworkProcessMill': (min: 1000, max: 120000),
  'firebaseFunctionTimeoutSecs': (min: 5, max: 600),
  'firebaseFunctionTimeoutSecsLong': (min: 10, max: 600),
  'timeoutForAboutToLogOutCallbackMill': (min: 1000, max: 30000),
  'notificationAskAgainDays': (min: 1, max: 365),
  'notificationMaxAskCount': (min: 1, max: 100),
  'notificationGoToSettingsAskAgainDays': (min: 1, max: 365),
  'notificationGoToSettingsMaxAskCount': (min: 1, max: 100),
  'notificationValuePropReminderCooldownDays': (min: 1, max: 365),
  'notificationValuePropReminderMaxAskCount': (min: 1, max: 100),
  'dreamic_device_timezone_unchanged_sync_min_minutes': (min: 1, max: 10080),
  'dreamic_device_timezone_unchanged_sync_max_minutes': (min: 1, max: 43200),
  'dreamic_device_timezone_change_debounce_minutes': (min: 1, max: 1440),
  'dreamic_device_touch_throttle_minutes': (min: 1, max: 1440),
  'dreamic_device_pending_backoff_minutes': (min: 1, max: 10080),
  'dreamic_fcm_backfill_max_attempts': (min: 1, max: 20),
  // Network resilience knobs (network-resilience hotfix, BEH-9/NET-022).
  // For these five knobs the env/dart-define path is ALSO clamped to these
  // bounds (the base pattern clamps only the RC path — see the getters).
  'dreamic_network_poll_interval_connected_mill': (min: 2000, max: 120000),
  'dreamic_network_poll_interval_offline_mill': (min: 500, max: 30000),
  'dreamic_network_probe_timeout_mill': (min: 1000, max: 30000),
  // Floor raised to 3000 (NET-022): keeps the startup budget above the Step-4
  // probe floor so at least one fair probe always runs.
  'dreamic_network_startup_retry_budget_mill': (min: 3000, max: 60000),
  'dreamic_network_confirmation_probe_count': (min: 1, max: 5),
};