- Center "Projects" label in sidebar headerbar via title-widget property
- Fix asymmetric request list margins (margin-start 12→6, add margin-end 6)
- Replace dim method labels with colored chips (GET/POST/PUT/PATCH/DELETE)
Implements JavaScript-based postprocessing for HTTP responses using gjs.
Adds Scripts tab with preprocessing (disabled) and postprocessing (functional) sections.
- Replace manual GtkBox layout with AdwToolbarView
- Add AdwHeaderBar and AdwTabBar as separate top bars
- Remove all custom CSS for header bar height matching
- AdwToolbarView automatically ensures consistent bar styling
This follows the proper libadwaita pattern used by GNOME Web.
- Add "sidebar-header" and "main-header" style classes
- Target each header bar specifically in CSS
- Make tab bar ultra-compact to fit within header height
- Reduce tab padding and remove all internal margins
- Remove invalid max-height CSS property (GTK doesn't support it)
- Fix loading from history: update widget instead of calling removed method
- Update tab page title when loading from history
- Revert show-title=False on main header (was hiding tabs)
- Use CSS to force both header bars to exact same height (46px)
- Remove vertical padding from header bars
- Keep tab bar compact to fit within fixed height
1. Fixed infinite loop when closing last tab:
- Return False instead of True when page already removed (prevents double-processing)
- Remove from tracking BEFORE calling close_page_finish to prevent re-trigger
- Properly schedule new tab creation only once
2. Fixed modified flag not clearing after save:
- Update widget.original_request in _mark_tab_as_saved
- Update widget.modified = False
- Manually call _on_tab_modified_changed to clear indicator
- Update tab page title when saving
3. Fixed header bar height and left spacing:
- Added CSS to reduce headerbar min-height to 38px
- Set headerbar padding-left to 0px to eliminate left gap
- Made tabs more compact (min-height: 26px, reduced padding)
- Reduced tabbar padding and margins
All critical issues from testing resolved!
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!