Implements JavaScript-based postprocessing for HTTP responses using gjs.
Adds Scripts tab with preprocessing (disabled) and postprocessing (functional) sections.
1. Modified indicator (*) now shows:
- Added GObject signal 'modified-changed' to RequestTabWidget
- Connect to signal in window.py to update tab page indicator
- Indicator shows dot-symbolic icon when modified
2. History panel now visible and populated:
- Restored history panel in main-window.ui with vertical paned layout
- Added _load_history() call back to __init__
- History entries now display in bottom panel
3. Saving requests now works:
- Fixed on_save_request_clicked to get request from widget.get_request()
- Removed dependency on obsolete _build_request_from_ui method
4. Loading saved requests fixed:
- Updated _on_load_request to properly update widget and tab page
- Correctly sets widget.original_request and widget.modified
- Updates tab page title when loading into empty tab
- Properly handles copy vs. linked request logic
All issues from user testing are now resolved!
- Create RequestTabWidget class with complete per-tab UI
- Simplify main-window.ui to just AdwTabBar and AdwTabView
- Set autohide=False to always show tabs
- Add request_tab_widget.py to meson.build
Next step: Refactor window.py to create RequestTabWidget instances for each tab.