58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# 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:
|
|
```python
|
|
['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)
|