Files
dashcaddy/status/js
Krystie f60a3370db fix: route all console.error through ErrorHandler for consistent tracking
Converted 35+ raw console.error calls to use ErrorHandler.logError() across
12 files. ErrorHandler provides structured logging, local error storage,
and error tracking integration.

Files:
- app-selector.js: 4 errors (fetch templates, port check, suggested port, deploy)
- globals.js: 2 errors (CSRF token get/add)
- service-credentials.js: 2 errors (save/clear credentials)
- totp-settings.js: 4 errors (TOTP setup, session duration, disable, AuthCard)
- notification-settings.js: 2 errors (load config, load history)
- setup-wizard.js: 2 errors (save config to server)
- progress-tracker.js: 4 errors (storage read/write/session/fallback)
- tooltip-definitions.js: 2 errors (validation, condition eval)
- tour-manager.js: 2 errors (Driver.js not loaded, tooltip not found)
- theme-adapter.js: 1 error (theme change callback)
- weather.js: 1 error (weather update)
- onboarding.js: removed duplicate console.error, fixed 2 remaining calls

All console.error calls in the DashCaddy frontend now go through ErrorHandler.
2026-05-14 01:31:55 -07:00
..
2026-03-05 02:26:12 -08:00
2026-03-05 02:26:12 -08:00
2026-03-05 02:26:12 -08:00
2026-03-05 02:26:12 -08:00
2026-03-05 02:26:12 -08:00
2026-03-05 02:26:12 -08:00

DashCaddy Onboarding System

This directory contains the JavaScript modules for the user onboarding tooltip system.

Files

  • onboarding.js - Main entry point, initializes the onboarding system
  • tour-manager.js - Orchestrates the onboarding flow and manages tour state
  • progress-tracker.js - Manages persistent storage of user progress
  • tooltip-definitions.js - Defines all tooltip content and positioning
  • dns-template-selector.js - Presents DNS server template options
  • theme-adapter.js - Ensures tooltips match the current dashboard theme

Load Order

The scripts are loaded in the following order (as defined in status/index.html):

  1. progress-tracker.js
  2. theme-adapter.js
  3. tooltip-definitions.js
  4. dns-template-selector.js
  5. tour-manager.js
  6. onboarding.js (main initialization)

Dependencies

Integration

The onboarding system integrates with:

  • Dashboard theme system (via CSS variables)
  • App template selector (for DNS server deployment)
  • Local storage (for progress persistence)

Development

Each module is wrapped in an IIFE (Immediately Invoked Function Expression) to avoid global namespace pollution. Modules communicate through well-defined interfaces and the window object where necessary.