defaultRemoteConfig property

Map<String, Object> defaultRemoteConfig
getter/setter pair

Implementation

static Map<String, Object> defaultRemoteConfig = {
  'minimumAppVersionRequiredApple': '0.0.0',
  'minimumAppVersionRequiredGoogle': '0.0.0',
  'minimumAppVersionRequiredWeb': '0.0.0',
  'minimumAppVersionRecommendedApple': '0.0.0',
  'minimumAppVersionRecommendedGoogle': '0.0.0',
  'minimumAppVersionRecommendedWeb': '0.0.0',
  'logLevel': kDebugMode ? 'debug' : 'error',
  // Threshold for forwarding breadcrumbs to the error reporter, independent of
  // [logLevel] (console). Domain is the restricted set {debug, info, warn,
  // error} (excludes `debugVerbose` — no backend equivalent). Validated inline
  // in the [breadcrumbLevel] getter (NOT via configBounds, which holds only
  // numeric clamps). Lowerable via Remote Config for no-redeploy verbose
  // (`logd`) capture.
  'breadcrumbLevel': 'info',
  'retryAttemptsCountMax': kDebugMode ? 1 : 5,
  'timeoutBeforeShowingLoadingMill': 750,
  'timeoutNetworkProcessMill': 10000,
  'firebaseFunctionTimeoutSecs': kDebugMode ? 540 : 70,
  'firebaseFunctionTimeoutSecsLong': kDebugMode ? 540 : 140,
  'connectionCheckerUrlOverride': '',
  'emailConfirmMobileOrigin': '',
  'timeoutForAboutToLogOutCallbackMill': 5000,
  // Notification permission re-request configuration
  'notificationAskAgainDays': 7,
  'notificationAskAgainMultiplier': 3.0,
  'notificationMaxAskCount': 3,
  // Go-to-settings prompt configuration (re-prompt cadence for permanently-denied users)
  'notificationGoToSettingsAskAgainDays': 30,
  // Sentinel -1 = unlimited (mapped back to null at the getter). null cannot
  // be stored: the map is Map<String, Object> and Firebase RC setDefaults
  // rejects null.
  'notificationGoToSettingsMaxAskCount': notificationMaxAskCountUnlimited,
  // Value-prop reminder configuration (re-prompt cadence for value-prop decliners)
  'notificationValuePropReminderCooldownDays': 30,
  // Sentinel -1 = unlimited (mapped back to null at the getter).
  'notificationValuePropReminderMaxAskCount': notificationMaxAskCountUnlimited,
  // Device service configuration (timezone tracking and device registration)
  // Keys use dreamic_ prefix for Remote Config namespacing
  'dreamic_device_timezone_unchanged_sync_min_minutes': 2880, // 48 hours
  'dreamic_device_timezone_unchanged_sync_max_minutes': 2880, // 48 hours
  'dreamic_device_timezone_change_debounce_minutes': 10,
  'dreamic_device_touch_throttle_minutes': 60,
  // Device pending payload backoff (offline retry interval)
  'dreamic_device_pending_backoff_minutes': 15,
  // FCM one-time backfill give-up bound (A.7/FCM-116): the persisted
  // failed-attempt count that, together with the ~30-day time floor, bounds
  // how long a permanently-failing install keeps re-forcing a backfill persist
  // before the one-way marker is stamped. Default 5.
  'dreamic_fcm_backfill_max_attempts': 5,
  // Network resilience knobs (network-resilience hotfix, BEH-9/NET-007).
  // Keys use the dreamic_ prefix + snake_case for Remote Config namespacing
  // (Dart getters keep camelCase, dropping the prefix — see the getters below).
  // Connected-state poll cadence for the reachability probe.
  'dreamic_network_poll_interval_connected_mill': 10000,
  // Fast offline-state poll cadence (adaptive re-check while offline).
  'dreamic_network_poll_interval_offline_mill': 2000,
  // Per-probe reachability timeout.
  'dreamic_network_probe_timeout_mill': 5000,
  // Cold-start reachability retry wall-clock budget (replaces the old
  // _networkCheckTimeout const value; 10s preserves the existing budget).
  'dreamic_network_startup_retry_budget_mill': 10000,
  // Number of sequential confirmation probes before flipping offline.
  'dreamic_network_confirmation_probe_count': 1,
  // Master kill-switch (BEH-17/NET-026) for the whole confirm-before-flip /
  // adaptive-cadence / resync / resume / self-heal layer. First RC-backed
  // bool in defaultRemoteConfig; resolved via getBool. Default true.
  'dreamic_network_confirmation_enabled': true,
};