Gregory Schier and Claude Opus 5.5
4d38a482f6
HTTP/2 on the client side ( #797 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 00:31:49 -07:00
Gregory Schier and Claude Opus 5.5
e82ffc53ad
Proxy GUI pass ( #793 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 22:27:18 -07:00
Gregory Schier and Claude Opus 5.5
96ab0a8a60
Give empty sidebar nodes a collapsed flag too
...
The shared tree treats every node with a children list as a folder and
collapses an empty one before the left arrow moves to its parent. Left
out of the collapsed map, a leaf path never read as collapsed, so the
left arrow kept trying to collapse it and never moved up.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 10:44:22 -07:00
Gregory Schier and Claude Opus 5.5
974b9de673
Start the proxy sidebar's hosts and paths collapsed
...
Every domain and path node starts collapsed, so paths stay hidden until
a host is expanded. The nodes the user expands are kept by id in local
storage, so they stay open across launches; hosts seen later start
collapsed. The Domains folder, selection and counts are as before. The
shared tree is unchanged: the proxy hands it its own collapsed atom.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 10:40:30 -07:00
Gregory Schier and Claude Opus 5.5
e33aeee5ff
Close the clear and count races the second review found
...
- Send a flow's write event inside its transaction, so a clear's event,
sent after its own commit, always comes after it.
- Record a saved request only on a flow that still exists, so a save
that finishes after a clear does not bring the flow back.
- Count the total again from the database a second after new flows,
so a flow both in a page and in the events around it settles to the
right count.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 10:34:14 -07:00
Gregory Schier and Claude Opus 5.5
39a7397ebb
Close three races the review found in the flow window
...
- Replay live changes over a page of older flows, so a slow flow that
ends while the page loads is not lost from the window.
- Read list_flows' page and total from one snapshot, so a flow written
between them is not counted twice.
- Commit a clear's flow deletion only after its bodies' deletion, so a
failure leaves the flows to clear again rather than orphaned bodies.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 10:04:25 -07:00
Gregory Schier and Claude Opus 5.5
1a994f7532
Keep the proxy app fast with many flows
...
The app held every flow in memory and redid all of its work for each new
one: the sidebar mounted every domain and path node (its tree scrolled
inside a container that never bounded it), every tree row looked up its
atoms by scanning every atom the family had made, and the layout, detail
pane and list rows re-rendered per flow. At 3,000 flows each new one cost
about 90 ms of main thread, more than the traffic left time for.
The app now holds a window of the newest 2,000 flows, applies new ones in
batches, and loads older ones in pages from the database on scrolling to
the top, through a new list_flows RPC that pages in SQL. The database
keeps every flow.
Also adds clear_flows: an RPC, POST /flows/clear on the control API, and
a Clear button in the header that Cmd+K opens, confirming first.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 09:52:00 -07:00
Gregory Schier and Claude Opus 5.5
4abc882e13
Send the client's Host as :authority to HTTP/2 upstreams
...
Dropping Host lost a virtual host that differs from the CONNECT target.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:38:54 -07:00
Gregory Schier and Claude Opus 5.5
11aca4539d
Fix three proxy engine bugs found while dogfooding
...
- Rebuild a bare-path plain-HTTP request's URL from Host, answer 400
"no host in request" when there is none, and refuse with 508 a rebuilt
request that is routed back into the proxy, which would otherwise loop
without end.
- Drop Host when forwarding to an HTTP/2 upstream. Google's servers reset
every stream that carries Host alongside :authority.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:35:17 -07:00
Gregory Schier and Claude Opus 5.5
9bbd28ce4a
PR 2: proxy services ( #787 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:19:50 -07:00
Gregory Schier and Claude Opus 5.5
686294939b
Rescue the proxy GUI slice ( #785 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-26 06:38:34 -07:00
Gregory Schier
6132171791
Agents pane: CLI-only MCP, yaak mcp --http, and plugin deprecation ( #761 )
2026-10-25 23:14:45 -07:00
Gregory Schier and Claude Opus 5.5
349e6f9197
Fix proxy passthrough on Windows ( #779 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 22:58:29 -07:00
Gregory Schier
1248112fe0
Smooth splitter dragging ( #765 )
2026-10-21 12:22:45 -07:00
Gregory Schier and dependabot[bot]
62f76c5c36
Bump the npm production group (25 updates) and dedupe the lockfile ( #760 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-15 08:49:15 -07:00
Gregory Schier
b01c9c34c7
Add Claude Code and Codex plugin manifests and MCP registry metadata ( #756 )
2026-10-15 07:14:22 -07:00
Gregory Schier
9b3715024d
Move response filters into Rust ( #755 )
2026-10-15 06:22:23 -07:00
Gregory Schier
19908b1902
Add a Connect an agent section with setup for Claude Code, Codex, Cursor, and VS Code
2026-10-14 22:16:55 -07:00
Gregory Schier
72b43f7110
Move the MCP server into Rust, hosted by the app and yaak mcp ( #752 )
2026-10-14 21:51:40 -07:00
Gregory Schier
b6c1f700f1
Proxy viewer extraction: response viewers into packages/ui ( #754 )
2026-10-14 21:32:19 -07:00
Gregory Schier
b5508e6bb1
Proxy storage: flows table, bodies in blobs.sqlite, settings ( #751 )
2026-10-14 13:50:26 -07:00
Gregory Schier
694c0272cd
Proxy engine: persistent CA, capped capture, upgrade tunnel ( #750 )
2026-10-14 13:10:51 -07:00
Gregory Schier
602c6e1083
Bump @yaak/mcp-server to 0.2.2
2026-10-14 09:33:55 -07:00
Gregory Schier
b4417add33
Fix PDF viewer crash on older macOS WebKit ( #730 )
2026-10-06 20:50:07 -07:00
Gregory Schier
7f30253616
Select new sub-environments and keep enabled state through bulk edit ( #714 )
2026-09-26 09:40:33 -07:00
Gregory Schier
6c2a18d506
Attach CodeMirror editors after building them to batch layout work ( #713 )
2026-09-26 08:54:30 -07:00
Gregory Schier
0a57d8eb61
Convert the remaining Insomnia tags to native Yaak functions ( #712 )
2026-09-25 10:50:22 -07:00
Gregory Schier
411aa262c7
Test the plugin's copy of the template tag scanner ( #711 )
2026-09-25 10:06:11 -07:00
Gregory Schier
34815f327a
Fix Insomnia template and GraphQL import fidelity ( #693 )
2026-09-25 09:58:31 -07:00
Gregory Schier
6fc43a60e2
Make template tag scanners quote-aware ( #710 )
2026-09-25 09:32:59 -07:00
Gregory Schier
23d369d84e
Print template strings in plain quotes unless they can't round-trip ( #708 )
2026-09-25 09:07:28 -07:00
Gregory Schier
9e51e95f9e
Polish the import source list
...
The URL link and menu item stay enabled and focus the field on repeat
clicks, waiting out the menu's focus return. Larger empty-state icon,
inline links inherit the text color with a translucent underline, and
card rows use a muted trash icon for removal.
2026-09-24 15:40:58 -07:00
Gregory Schier
aa10c44a45
Add Bruno imports and a file-tree importer API ( #706 )
2026-09-24 14:50:44 -07:00
Gregory Schier
46464cfacf
Switch to the imported workspace after a deep link import
2026-09-24 08:01:58 -07:00
Gregory Schier
263a215f7a
Fix sidebar ordering for items with equal sort priorities ( #705 )
2026-09-23 08:00:08 -07:00
Gregory Schier
646d969649
Fix PDF preview worker initialization ( #704 )
2026-09-23 07:41:55 -07:00
Gregory Schier
4913711968
Fix autocomplete for incomplete template tags ( #692 )
2026-09-18 09:16:36 -07:00
Gregory Schier
35d4c9d79d
Allow six hours for release builds and uploads ( #691 )
2026-09-17 11:41:35 -07:00
Gregory Schier
bbe8d1eef5
fix: retry release uploads and retain artifacts for seven days ( #690 )
2026-09-17 10:11:23 -07:00
Gregory Schier
1e3dfff01e
Fix JSON breadcrumb filters for literal keys ( #689 )
2026-09-17 08:18:15 -07:00
Gregory Schier
2c51fc92d6
Create the example workspace in the browser build
2026-09-15 16:32:20 -07:00
Gregory Schier and Claude Opus 5
f827aae46d
Share one exporter, and flush the file before saying it is written ( #686 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 14:56:23 -07:00
Gregory Schier and Claude Fable 5
caeebebc75
Create a workspace in the environment test fixtures
...
Fresh databases stopped getting a default workspace with the home screen
(#660 ), so the fixtures from #654 that took the first workspace panicked
on an empty list. They now create one.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-15 14:50:05 -07:00
Gregory Schier
621f9c3b8f
Add an OG image and link preview tags to the web build
2026-09-15 14:48:07 -07:00
Gregory Schier and Claude Opus 5
77b18d3477
Export a workspace without needing a filesystem ( #685 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 14:29:37 -07:00
Gregory Schier
a8c845b091
Add a dev menu item to show the home screen
2026-09-15 14:27:11 -07:00
Gregory Schier
85904566e7
chore(plugins): replace deprecated zip-extract with zip
2026-09-15 14:24:13 -07:00
Gregory Schier
0b6803c6c0
fix(editor): don't flag an empty JSON editor as invalid
2026-09-15 14:16:34 -07:00
Gregory Schier
edeb433c79
Point the example workspace at yaak.run ( #684 )
2026-09-15 14:16:13 -07:00
Gregory Schier and Claude Opus 5
4859aba142
Add a way for a host to save bytes ( #678 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 14:01:47 -07:00
Gregory Schier
cef569ee15
Add the yaak.run playground API ( #681 )
2026-09-15 13:55:36 -07:00
Gregory Schier and Claude Opus 5
ae518dfb4c
Convert Postman's simple dynamic variables to template functions ( #680 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:48:27 -07:00
Gregory Schier and Claude Opus 5
c9990d8492
Stop queueing build tooling majors ( #679 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:48:08 -07:00
Gregory Schier
06142d007a
Replace the default workspace with a home screen ( #660 )
2026-09-15 13:33:57 -07:00
Gregory Schier and Claude Opus 5
8a6e4810fd
Listen on HOST and PORT instead of a bind address ( #666 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:27:07 -07:00
Gregory Schier and Claude Opus 5
5a793e1d42
Clear the inherited non-blocking flag on accepted sockets in the CLI test server ( #668 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:22:01 -07:00
Gregory Schier and Claude Opus 5
3d6c31440c
Work through the open Dependabot PRs ( #663 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:18:54 -07:00
Gregory Schier and Claude Opus 5
31d55440c1
Import Digest, NTLM, OAuth 1.0, and folder-level auth from Postman collections ( #667 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 13:18:34 -07:00
Gregory Schier and Claude Opus 5
a822cc93d4
Make the web dev server work from another machine ( #665 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 10:29:07 -07:00
Gregory Schier and Claude Opus 5
48889b6550
Add scripts for running Yaak in a browser ( #664 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-15 10:12:53 -07:00
Gregory Schier
881cff472d
Show a web proxy startup message by default
2026-09-14 22:44:58 -07:00
Gregory Schier
d465c5679a
Make web proxy request logging opt-in
2026-09-14 22:38:07 -07:00
Gregory Schier
0a68dea133
Remove hosted embedding setup from the self-hosting README
2026-09-14 22:24:50 -07:00
Gregory Schier
17a44f34a3
Focus the confirmation action when opening dialogs
2026-09-14 22:21:43 -07:00
Gregory Schier
8c8be31aa2
Expose the web server as an embeddable Axum router
2026-09-14 22:21:43 -07:00
Gregory Schier
ff5db718ce
Confirm proxy use before the first web request ( #657 )
2026-09-14 21:29:07 -07:00
Gregory Schier
fd95b4cba3
Fix responses with more than 100 headers failing on HTTP/1 ( #658 )
2026-09-14 21:04:47 -07:00
Gregory Schier
7c660f4528
Correct the language table in the HTTP Snippet README ( #656 )
2026-09-14 13:41:33 -07:00
Gregory Schier
0337ef35c9
Describe the request template functions ( #655 )
2026-09-14 12:38:21 -07:00
Gregory Schier and Claude Fable 5
602bd1bb45
Move Install under the screenshot and License to the end of the README
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-13 11:03:59 -07:00
Gregory Schier and Claude Fable 5
57ab349901
Add install and license sections to the README
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-13 11:02:35 -07:00
Gregory Schier and Claude Opus 5
7a6d275fdb
feat(auth-oauth2): custom parameters for authorization, token, and refresh requests ( #629 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-13 09:15:25 -07:00
Gregory Schier
7d0926c961
fix(input): opt plain inputs out of macOS Writing Tools suggestions ( #646 )
2026-09-13 09:15:15 -07:00
Gregory Schier and Claude Opus 5
522b898620
feat(auth): add HTTP Digest authentication plugin ( #628 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-13 09:15:06 -07:00
Gregory Schier and Claude Fable 5.1
cb7ed9264d
feat(client): show an indicator on the Info tab when a request has a description ( #645 )
...
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-13 09:12:42 -07:00
Gregory Schier and Claude Fable 5.1
90cb578e26
Route all database writes through one connection ( #642 )
...
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-13 08:12:41 -07:00
Gregory Schier and Claude Fable 5.1
ff7eebf3cd
fix(importer-curl): join line continuations that have trailing whitespace ( #644 )
...
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-12 23:33:54 -07:00
Gregory Schier and Claude Fable 5.1
2f5639a26f
chore: cargo fmt
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 19:35:33 -07:00
Gregory Schier and Claude Opus 5
7f8b7bf567
feat(import): remember the user's import selection ( #619 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-10 15:26:43 -07:00
Gregory Schier
096e83a7bd
chore(deps): patch open security advisories across npm deps ( #630 )
2026-09-10 14:34:00 -07:00
Gregory Schier
d5d2a64c32
fix(cli): focus the agent skill description on when to use it ( #625 )
2026-09-09 08:50:26 -07:00
Gregory Schier
d2d4b80a09
feat(import): merge re-imports from a linked source instead of duplicating ( #618 )
2026-09-01 11:12:07 -07:00
Gregory Schier
d461c982ec
Don't block window creation on plugin runtime boot ( #616 )
2026-09-01 09:14:50 -07:00
Gregory Schier and Claude Fable 5
8eebee460e
fix(pair-editor): remount the editor when its stateKey changes ( #617 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-09-01 08:58:55 -07:00
Gregory Schier and Claude Opus 5
81a2a5d955
feat(import): add stable per-resource source keys to the importer contract ( #614 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-01 08:11:54 -07:00
Gregory Schier and Claude Opus 5
e63a87718c
fix(tooling): keep the formatter off generated files in every entry point ( #615 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-01 07:40:42 -07:00
Gregory Schier
222ea9cb83
fix(editor): opt editors out of macOS Writing Tools suggestions
...
A "Write with Siri" pill appears over empty editors on the macOS 27 beta,
because Codemirror's contentDOM is a contenteditable like any other. The
`writingsuggestions` attribute opts an editable element out, and setting
it here covers every editor at once.
If the pill turns out to be separate from writing suggestions, the
remaining lever is WKWebView's writingToolsBehavior, which would disable
Writing Tools for the whole window.
2026-08-31 10:55:05 -07:00
Gregory Schier
360c098b09
fix(grpc): remove the dead Refresh item from the method picker
...
It has never had an onSelect. Introduced inert in #193 and carried
through the codebase split, so clicking it only ever closed the dropdown.
Reload Schema in the message editor's schema dropdown does the job it
looked like it was for.
2026-08-31 10:54:40 -07:00
Gregory Schier
fce1039bac
feat(grpc): generate an example message from the method schema ( #613 )
2026-08-31 10:44:31 -07:00
Gregory Schier
f18f93d613
Stage imports before committing ( #571 )
2026-08-31 10:20:44 -07:00
Gregory Schier and Claude Opus 5
661a384bed
Faster codemirror search match counting ( #612 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-31 10:09:50 -07:00
Gregory Schier and Claude Fable 5
50cccf1d25
fix(auth-oauth1): sign with the token secret when no access token is set ( #611 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 15:27:40 -07:00
Gregory Schier and Claude Fable 5
0aae516f3a
feat(importer-openapi): fill the OAuth redirect URI from an environment variable ( #610 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 15:27:36 -07:00
Gregory Schier and Claude Fable 5
b7b8ae5f94
feat(settings): add HTTP version as an inherited request setting ( #609 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 15:01:02 -07:00
Gregory Schier and Claude Fable 5
6777003b70
fix(updater): check for updates on Linux deb/rpm installs and prompt manual download ( #604 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 19:43:54 -07:00
Gregory Schier and Claude Fable 5
426c6d5eb6
fix(plugins): render template function config values before plugins see them ( #608 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 19:19:15 -07:00
Gregory Schier and Claude Opus 5
aa76d501f0
fix(appearance): detect the macOS system appearance via NSApp.effectiveAppearance ( #603 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-21 00:04:26 -07:00
Gregory Schier
ce8cb5e7bc
fix(environments): avoid opening dropdown with editor
2026-08-20 11:14:36 -07:00
Gregory Schier
66c13d7e13
Port OpenAPI improvements from the integration branch ( #602 )
2026-08-20 08:42:42 -07:00
Gregory Schier
4e835cf7e8
Add OpenAPI import round-trip harness ( #600 )
2026-08-20 07:44:15 -07:00