Files
Jellycleanarr/DEBUGGING_NOTES.md
2026-02-12 00:05:42 -05:00

2.1 KiB

Debugging Notes - Blank TUI Issue

Current Status

What's Working

  1. API Connection: Successfully connecting to Jellyfin server
  2. Data Fetching: All API endpoints returning data correctly
    • Users: 12 found
    • Libraries: 3 found
    • Playback stats: Query working, data converting from list-of-lists to dictionaries
  3. Stats Services: All three services (user, series, library) generating correct statistics
  4. Table Row Formatting: Data being formatted correctly for display

What's Not Working

  • TUI Display: Tables appear blank/empty in the terminal
  • No error messages or exceptions occurring
  • Layout renders (header, tabs, footer) but content area is blank

Data Dump Analysis

See jellycleanarr_data_dump.txt for complete data verification showing:

  • User "HRiggs" with 346 plays
  • Series "Landman - s02e05" with 13 plays
  • All table rows properly formatted as lists of strings

Example working data:

['HRiggs', '346', '3h 9m', '153']
['TV', '204', '5d 1h 16m', '115']

Fixes Applied

  1. API Client (src/jellycleanarr/api/client.py)

    • Fixed query_playback_stats() to convert API's list-of-lists format to list-of-dicts
    • Maps column names from data["colums"] to result rows
  2. StatsTable (src/jellycleanarr/ui/widgets/stats_table.py)

    • Moved column initialization from __init__ to on_mount()
    • Added logging for debugging
  3. CSS (src/jellycleanarr/ui/styles/main.tcss)

    • Added explicit height for widget containers

Possible Remaining Issues

  1. Widget Composition: TabPane might not be passing through content properly
  2. CSS Cascading: Height/sizing might not be cascading correctly
  3. Async Timing: Data might load but tables refresh before columns are added
  4. Textual Version: Possible compatibility issue with current Textual version

Next Steps

  1. Try running with Textual devtools: textual console then run app
  2. Check Textual version: pip show textual
  3. Try simplifying the widget hierarchy (remove TabPane, just show widgets directly)
  4. Add more explicit sizing in CSS (px values instead of percentages)