Files
dashcaddy/status/js
Hermes 2d394d882d
CI / Test & Lint (push) Has been cancelled
CI / Security audit (push) Has been cancelled
Standardize response shapes and fix dead fetchT timeout keys
Three small cleanups for v1.14.0:

1. /caddy/cas now uses standard success envelope
   Was: { status: 'success', data: { cas: caList } }
   Now: { success: true, cas: caList }
   Updated frontend service-infrastructure.js to match.

2. /api/health/ca now uses standard envelope + meaningful HTTP codes
   Was: { status, message, daysUntilExpiration } with 200 on every error
   Now: { success, caStatus, message|error, daysUntilExpiration }
        with 200 / 404 / 500 as appropriate
   caStatus field preserves the original 'healthy'/'warning'/'critical'/'error'
   semantic so any future consumer of the CA-health state still has it.
   Tests updated to match.

3. Dead timeout: keys in fetchT opts are now a warning, not a silent strip
   src/utils/http.js:41 used to do  without telling
   anyone. Callers that wrote fetchT(url, { timeout: 5000 }) got the default
   5s timeout with no indication that their explicit value was ignored.
   Now it logs a warning naming the call site, then strips the key.
   Fixed 4 call sites that had stale timeout: keys:
   - src/context/caddy.js
   - src/context/dns.js
   - src/context/provider-dns.js
   - routes/dns.js (2 places)
2026-06-10 21:52:33 -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

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.