Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ reqwest = { version = "0.13.4", default-features = false, features = [
] }
log = "0.4.29"
env_logger = "0.11.8"
lsp-types = "0.97.0"
serde_json = "1.0.151"
anyhow = "1.0.104"
chrono = { version = "0.4.45", features = ["serde"] }
Expand Down
21 changes: 19 additions & 2 deletions Todo.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,27 @@
- [x] Fix "Save response" for binary/image responses to write raw bytes, not text.
- [x] Ensure duplicated requests preserve method/body/headers exactly.

- [ ] Environment variables and secret variables (`{{base_url}}`, tokens, etc.) with workspace/project scopes.
- [ ] Import/Export: cURL import, request/collection JSON export, and shareable files.
- [ ] Finish Postman import coverage: request-level auth, string-based requests, GraphQL bodies, and file bodies currently degrade or get skipped.
- [ ] Finish Postman import coverage: scripts/tests, saved response examples, certificates, and bulk data-dump folder import.
- [ ] Implement protocol modes marked "SOON": WebSocket, GraphQL, and SSE.
- [ ] Stronger auth support: OAuth 2.0 flows, Digest auth, and API key conveniences.
- [ ] Cookie jar/session persistence with per-domain controls.
- [ ] Better response rendering: HTML preview, XML pretty print, better binary metadata/download UX.

## Environments & Workspaces

- [x] Named environments with `{{variable}}` interpolation across URLs, params, headers, auth, and bodies.
- [x] Global variables plus workspace and collection/project overrides.
- [x] Local secret values, enable/disable controls, nested variables, environment colors, and duplication.
- [x] Grouped environment manager with separate edit and active states, preset colors, and a full custom color picker.
- [x] Real persisted workspace containers and a top-bar switcher that isolate collections, history, and environments.
- [x] Import Postman collections as new workspaces, plus environment exports and collection variables in their appropriate workspace.
- [ ] Scope UI preferences and restorable request-tab sessions per workspace.
- [ ] Encrypt secret values with an OS-keychain-backed key instead of relying only on local file permissions.
- [ ] Export environment files; exported secret values must be omitted.
- [x] Extensible variable autocomplete across request editors with effective scope details and no value disclosure.
- [ ] Highlight `{{variable}}` expressions inline in every request editor.
- [ ] Initial/current values and temporary session overrides.
- [ ] Request-scoped, folder-scoped, predefined (`$timestamp`, `$uuid`), and OS environment variables.
- [ ] Pre-request/test scripting APIs for reading and updating variables.
- [ ] Git/team workspace sync, conflict handling, roles, and per-user secret values.
1 change: 1 addition & 0 deletions assets/icons/box.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/eye-closed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/eye.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions assets/icons/lock.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/package.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions assets/icons/unlock.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions assets/icons/variable.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use gpui_component::Root;

use crate::actions::*;
use crate::assets::Assets;
use crate::completion::init_completion_navigation;
use crate::theme::init_theme;
use crate::utils::set_app_focus_handle;
use crate::views::MainView;
Expand All @@ -21,6 +22,7 @@ impl SetuApp {
.run(|cx: &mut App| {
// Initialize gpui-component (must be called before using any gpui-component features)
gpui_component::init(cx);
init_completion_navigation(cx);

// Apply our custom color theme to gpui-component
init_theme(cx);
Expand Down
Loading
Loading