Files
LEDMatrix/docs/archive/BROWSER_ERRORS_EXPLANATION.md
Chuck ddd300a117 Docs/consolidate documentation (#217)
* docs: rename FONT_MANAGER_USAGE.md to FONT_MANAGER.md

Renamed for clearer naming convention.
Part of documentation consolidation effort.

* docs: consolidate Plugin Store guides (2→1)

Merged:
- PLUGIN_STORE_USER_GUIDE.md
- PLUGIN_STORE_QUICK_REFERENCE.md

Into: PLUGIN_STORE_GUIDE.md

- Unified writing style to professional technical
- Added Quick Reference section at top for easy access
- Removed duplicate content
- Added cross-references to related documentation
- Updated formatting to match style guidelines

* docs: create user-focused Web Interface Guide

Created WEB_INTERFACE_GUIDE.md consolidating:
- V3_INTERFACE_README.md (technical details)
- User-facing interface documentation

- Focused on end-user tasks and navigation
- Removed technical implementation details
- Added common tasks section
- Included troubleshooting
- Professional technical writing style

* docs: consolidate WiFi setup guides (4→1)

Merged:
- WIFI_SETUP.md
- OPTIMAL_WIFI_AP_FAILOVER_SETUP.md
- AP_MODE_MANUAL_ENABLE.md
- WIFI_ETHERNET_AP_MODE_FIX.md (behavior documentation)

Into: WIFI_NETWORK_SETUP.md

- Comprehensive coverage of WiFi setup and configuration
- Clear explanation of AP mode failover and grace period
- Configuration scenarios and best practices
- Troubleshooting section combining all sources
- Professional technical writing style
- Added quick reference table for behavior

* docs: consolidate troubleshooting guides (4→1)

Merged:
- TROUBLESHOOTING_QUICK_START.md
- WEB_INTERFACE_TROUBLESHOOTING.md
- CAPTIVE_PORTAL_TROUBLESHOOTING.md
- WEATHER_TROUBLESHOOTING.md

Into: TROUBLESHOOTING.md

- Organized by issue category (web, WiFi, plugins)
- Comprehensive diagnostic commands reference
- Quick diagnosis steps at the top
- Service file template preserved
- Complete diagnostic script included
- Professional technical writing style

* docs: create consolidated Advanced Features guide

Merged:
- VEGAS_SCROLL_MODE.md
- ON_DEMAND_DISPLAY_QUICK_START.md
- ON_DEMAND_DISPLAY_API.md
- ON_DEMAND_CACHE_MANAGEMENT.md
- BACKGROUND_SERVICE_README.md
- PERMISSION_MANAGEMENT_GUIDE.md

Into: ADVANCED_FEATURES.md

- Comprehensive guide covering all advanced features
- Vegas scroll mode with integration examples
- On-demand display with API reference
- Cache management troubleshooting
- Background service documentation
- Permission management patterns
- Professional technical writing style

* docs: create Getting Started guide for first-time users

Created GETTING_STARTED.md:
- Quick start guide (5 minutes)
- Initial configuration walkthrough
- Common first-time issues and solutions
- Next steps and quick reference
- User-friendly tone for beginners
- Links to detailed documentation

* docs: archive consolidated source files and ephemeral docs

Archived files that have been consolidated:
- Plugin Store guides (2 files → PLUGIN_STORE_GUIDE.md)
- Web Interface guide (V3_INTERFACE_README.md → WEB_INTERFACE_GUIDE.md)
- WiFi Setup guides (4 files → WIFI_NETWORK_SETUP.md)
- Troubleshooting guides (4 files → TROUBLESHOOTING.md)
- Advanced Features (6 files → ADVANCED_FEATURES.md)

Archived ephemeral/debug documentation:
- DEBUG_WEB_ISSUE.md
- BROWSER_ERRORS_EXPLANATION.md
- FORM_VALIDATION_FIXES.md
- WEB_UI_RELIABILITY_IMPROVEMENTS.md
- CAPTIVE_PORTAL_TESTING.md
- NEXT_STEPS_COMMANDS.md
- STATIC_IMAGE_MULTI_UPLOAD_PLAN.md
- RECONNECT_AFTER_CAPTIVE_PORTAL_TESTING.md

Archived implementation summaries:
- PLUGIN_CONFIG_TABS_SUMMARY.md
- PLUGIN_CONFIG_SYSTEM_VERIFICATION.md
- PLUGIN_SCHEMA_AUDIT_SUMMARY.md
- STARTUP_OPTIMIZATION_SUMMARY.md
- PLUGIN_DISPATCH_IMPLEMENTATION.md
- NESTED_SCHEMA_IMPLEMENTATION.md
- AP_MODE_MANUAL_ENABLE_CHANGES.md
- PLUGIN_CONFIG_SYSTEM_EXPLANATION.md

Total archived: 27 files
Preserves git history while cleaning up main docs directory

* docs: rename API_REFERENCE.md to REST_API_REFERENCE.md

Renamed for clarity - this is specifically the REST API reference
for the web interface, not a general API reference.

* docs: update README.md to reflect consolidated documentation structure

Updated documentation index:
- Reflects new consolidated guides (51 → 16-17 files)
- Updated Quick Start sections with new file names
- Added consolidation history (January 2026)
- Updated file references (API_REFERENCE → REST_API_REFERENCE)
- Documented archival of 33 files
- Added benefits of consolidation
- Updated statistics and highlights
- Removed outdated references
- Professional writing style maintained throughout

* docs: add Vegas scroll mode system architecture documentation

Added comprehensive internal architecture section for Vegas mode:
- Component overview with diagram
- VegasModeCoordinator responsibilities and main loop
- StreamManager buffering strategy and content flow
- PluginAdapter integration and fallback behavior
- RenderPipeline 125 FPS rendering process
- Component interaction flows
- Thread safety patterns
- Performance characteristics

Covers:
- How the four components work together
- Initialization and render loop flows
- Config update handling
- Frame rate management and optimization
- Memory usage and CPU characteristics

---------

Co-authored-by: Chuck <chuck@example.com>
2026-01-29 10:32:00 -05:00

4.6 KiB

Browser Console Errors - Explanation

Summary

You don't need to worry about these errors. They are harmless and don't affect functionality. We've improved error suppression to hide them from the console.

Error Types

1. Permissions-Policy Header Warnings

Examples:

Error with Permissions-Policy header: Unrecognized feature: 'browsing-topics'.
Error with Permissions-Policy header: Unrecognized feature: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.

What they are:

  • Browser warnings about experimental/advertising features in HTTP headers
  • These features are not used by our application
  • The browser is just informing you that it doesn't recognize these policy features

Why they appear:

  • Some browsers or extensions set these headers
  • They're informational warnings, not actual errors
  • They don't affect functionality at all

Status: Harmless - Now suppressed in console

2. HTMX insertBefore Errors

Example:

TypeError: Cannot read properties of null (reading 'insertBefore')
    at At (htmx.org@1.9.10:1:22924)

What they are:

  • HTMX library timing/race condition issues
  • Occurs when HTMX tries to swap content but the target element is temporarily null
  • Usually happens during rapid content updates or when elements are being removed/added

Why they appear:

  • HTMX dynamically swaps HTML content
  • Sometimes the target element is removed or not yet in the DOM when HTMX tries to insert
  • This is a known issue with HTMX in certain scenarios

Impact:

  • No functional impact - HTMX handles these gracefully
  • Content still loads correctly - The swap just fails silently and retries
  • User experience unaffected - Users don't see any issues

Status: Harmless - Now suppressed in console

What We've Done

Error Suppression Improvements

  1. Enhanced HTMX Error Suppression:

    • More comprehensive detection of HTMX-related errors
    • Catches insertBefore errors from HTMX regardless of format
    • Suppresses timing/race condition errors
  2. Permissions-Policy Warning Suppression:

    • Suppresses all Permissions-Policy header warnings
    • Includes specific feature warnings (browsing-topics, run-ad-auction, etc.)
    • Prevents console noise from harmless browser warnings
  3. HTMX Validation:

    • Added htmx:beforeSwap validation to prevent some errors
    • Checks if target element exists before swapping
    • Reduces but doesn't eliminate all timing issues

When to Worry

You should only be concerned about errors if:

  1. Functionality is broken - If buttons don't work, forms don't submit, or content doesn't load
  2. Errors are from your code - Errors in plugins.html, base.html, or other application files
  3. Network errors - Failed API calls or connection issues
  4. User-visible issues - Users report problems

Current Status

All harmless errors are now suppressed HTMX errors are caught and handled gracefully Permissions-Policy warnings are hidden Application functionality is unaffected

Technical Details

HTMX insertBefore Errors

Root Cause:

  • HTMX uses insertBefore to swap content into the DOM
  • Sometimes the parent node is null when HTMX tries to insert
  • This happens due to:
    • Race conditions during rapid updates
    • Elements being removed before swap completes
    • Dynamic content loading timing issues

Why It's Safe:

  • HTMX has built-in error handling
  • Failed swaps don't break the application
  • Content still loads via other mechanisms
  • No data loss or corruption

Permissions-Policy Warnings

Root Cause:

  • Modern browsers support Permissions-Policy HTTP headers
  • Some features are experimental or not widely supported
  • Browsers warn when they encounter unrecognized features

Why It's Safe:

  • We don't use these features
  • The warnings are informational only
  • No security or functionality impact

Monitoring

If you want to see actual errors (not suppressed ones), you can:

  1. Temporarily disable suppression:

    • Comment out the error suppression code in base.html
    • Only do this for debugging
  2. Check browser DevTools:

    • Look for errors in the Network tab (actual failures)
    • Check Console for non-HTMX errors
    • Monitor user reports for functionality issues

Conclusion

These errors are completely harmless and can be safely ignored. They're just noise in the console that doesn't affect the application's functionality. We've improved the error suppression to hide them so you can focus on actual issues if they arise.