defaultRemoteConfig property
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,
};