4 Commits

Author SHA1 Message Date
f7e737443f Add application icons and update branding metadata, update licensing documentation 2026-01-11 01:22:34 +01:00
cbf4d73190 Change application ID from cz.vesp.roster to cz.bugsy.roster 2026-01-06 17:11:10 +01:00
47225cf254 Add header change tracking to tab modification detection
Previously, changes to HTTP headers (adding, editing, or removing headers)
were not being tracked, causing tabs to not show the modified indicator (•)
when only header values changed.

Changes:
- Add 'changed' signal to HeaderRow widget that emits when key or value entries change
- Connect HeaderRow 'changed' signal to window's _on_request_changed handler
- Real-time tab modification tracking now includes all header edits

This completes the comprehensive change tracking system for tabs:
- URL changes ✓
- Method changes ✓
- Body changes ✓
- Syntax changes ✓
- Header changes ✓ (now fixed)
2025-12-22 00:49:54 +01:00
cbc1972797 Initial commit: Roster HTTP client for GNOME
Roster is a modern HTTP client application for GNOME, similar to Postman,
built with GTK 4 and libadwaita.

Features:
- Send HTTP requests (GET, POST, PUT, DELETE)
- Configure custom headers with add/remove functionality
- Request body editor for POST/PUT/DELETE requests
- View response headers and bodies in separate tabs
- Track request history with JSON persistence
- Load previous requests from history with confirmation dialog
- Beautiful GNOME-native UI with libadwaita components
- HTTPie backend for reliable HTTP communication

Technical implementation:
- Python 3 with GTK 4 and libadwaita 1
- Meson build system with Flatpak support
- Custom widgets (HeaderRow, HistoryItem) with GObject signals
- Background threading for non-blocking HTTP requests
- AdwTabView for modern tabbed interface
- History persistence to ~/.config/roster/history.json
- Comprehensive error handling and user feedback
2025-12-18 11:05:33 +01:00