Pavel Baksy ad0e1886cc Fix all reported issues from testing
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!
2025-12-24 02:20:55 +01:00
2025-12-24 02:20:55 +01:00

Roster

A modern HTTP client for GNOME, built with GTK 4 and libadwaita.

Features

  • Send HTTP requests (GET, POST, PUT, DELETE)
  • Configure custom headers and request bodies
  • View response headers and bodies
  • Track request history with persistence
  • Beautiful GNOME-native UI

Dependencies

  • GTK 4
  • libadwaita 1
  • Python 3
  • HTTPie (http command)

Building

meson setup builddir
meson compile -C builddir
sudo meson install -C builddir

Usage

Roster uses HTTPie as the backend for making HTTP requests. Ensure HTTPie is installed:

pip install httpie
# or on Fedora
sudo dnf install httpie

Then run Roster from your application menu or with the roster command.

Description
HTTP client for GNOME
Readme 1.6 MiB
Languages
Python 98.6%
Meson 1.4%