Gregory Schier
ffa6a610b8
Return the body of a send that saved nothing
...
Replaces the response-directory fallback with what the frontend already
does for ephemeral sends: the engine hands the body back, because it is
the only copy. Guessing at a file named for an id was the store reaching
around its own abstraction, and it is exactly what must not survive the
move to blob storage.
The send reply carries the bytes when the engine returned them, and the
runtime holds them for the rest of the call that sent them, so
ctx.httpResponse.body() answers for a saved and an unsaved response the
same way. Unsaved ones now report a real contentType too, taken from the
response the send already handed back.
2026-08-16 09:54:56 -07:00
Gregory Schier
8b031db685
Read bodies of responses the engine never recorded
...
A send with no request behind it — a plugin's ad-hoc ctx.httpRequest.send,
GraphQL introspection — gets a generated id and a body file, but no row.
Resolving purely through the database refused those, which would have
broken auth-oauth2 the moment it moved off readFileSync, since every
request it sends is ad-hoc.
The store now falls back to the response directory when there is no row,
accepting only ids shaped the way the engine generates them. Such a
response has no stored headers, so contentType is null and text()
decodes as UTF-8 — which is what the filesystem readers did anyway.
2026-08-16 09:35:03 -07:00
Gregory Schier
96c8a95094
Add a plugin API for reading HTTP response bodies
...
Plugins read bodies by response id through ctx.httpResponse.body()
instead of opening HttpResponse.bodyPath themselves. The accessors are
named after fetch's, minus the single-use semantics, since the bytes are
durable and re-reading should work.
Underneath is a chunked pull over the existing plugin protocol, so the
host can move bodies off the filesystem without plugins noticing.
text() now decodes with the response's charset rather than assuming
UTF-8, and the buffering accessors refuse past 32 MiB and point at
chunks().
2026-08-16 09:20:29 -07:00
Gregory Schier
6a02cbe525
Add a Host trait and move DB/model commands off Tauri ( #558 )
2026-08-16 08:41:35 -07:00
Gregory Schier
6f91f76064
Run the desktop's model layer in the browser ( #557 )
2026-08-16 07:34:48 -07:00
Gregory Schier
32e92d484b
Let yaak-models compile for wasm32-unknown-unknown ( #556 )
2026-08-15 14:55:54 -07:00
Gregory Schier
cdbbef34f8
Fix native TLS client certificates on Linux ( #554 )
2026-08-15 11:36:36 -07:00
Gregory Schier and Claude Fable 5
4838353585
Move the RPC wire schema into a Tauri-free crate ( #553 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-15 11:25:27 -07:00
Gregory Schier
93001e3da7
Extract generic model writes into yaak::models_ops ( #552 )
2026-08-15 11:01:41 -07:00
Gregory Schier
85a9b2a908
Address response bodies by response id instead of a filesystem path ( #550 )
2026-08-15 08:21:23 -07:00
Gregory Schier
f3f05502d1
Make the HTTP send path runnable without a database ( #545 )
2026-08-15 07:17:17 -07:00
Gregory Schier and Claude Fable 5
23e7229e63
Route all app commands through a single RPC envelope ( #542 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-14 14:16:14 -07:00
Gregory Schier
1f91cddab9
Restore HTTP/2 and client certificate parity on the native TLS path ( #543 )
2026-08-14 14:08:14 -07:00
Gregory Schier
4f03c5c390
Fix sync watcher panic when the sync directory path traverses a symlink ( #541 )
2026-08-14 13:34:39 -07:00
Mark Fulton and Gregory Schier
68671377fd
fix: AWS4 authentication method didn't sign request body ( #430 )
...
Co-authored-by: Gregory Schier <gschier1990@gmail.com >
2026-08-14 13:07:05 -07:00
Gregory Schier and Claude Opus 5
2383f06e71
Add a typed platform package to decouple the frontend from Tauri ( #539 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-14 12:44:01 -07:00
Gregory Schier
d3055c64b3
Honor workspace connection settings in CLI sends ( #537 )
2026-08-14 10:38:47 -07:00
Gregory Schier
d0af512a0c
Fix UI freezes with large workspaces ( #536 )
2026-08-14 10:15:32 -07:00
Gregory Schier
e032c4c8d6
Add a Yaak CLI skill for coding agents ( #535 )
2026-08-14 06:16:30 -07:00
Gregory Schier
74d1b5d6ce
HUGE sidebar and typing performance improvements ( #516 )
2026-08-13 12:23:56 -07:00
Su and Su
be765d7bcc
Fix nested template function depth tracking ( #523 )
...
Co-authored-by: Su <26924933+674019130@users.noreply.github.com >
2026-08-13 09:25:10 -07:00
Gregory Schier
f6d926f4b9
Ignore bundled plugin directories left behind by past renames ( #530 )
2026-08-12 11:22:08 -07:00
Gregory Schier
3f098f95fe
Increase import timeout from 5s to 60s
2026-07-24 07:36:44 -07:00
Gregory Schier
19cc6ee6d4
Batch streamed request body history into full-size chunks ( #508 )
2026-07-14 09:13:50 -07:00
Gregory Schier
c30f5b767b
Close responses before request body history finishes ( #498 )
2026-07-14 08:55:40 -07:00
Gregory Schier
e05feba708
Duplicate models from the DB instead of frontend snapshots ( #505 )
2026-07-14 07:43:14 -07:00
Gregory Schier
6b9b3660de
Remap build paths in wasm output and regenerate for wasm-bindgen 0.2.121
2026-07-13 13:31:31 -07:00
Gregory Schier
e20a184c70
Scope Git watching and status to the sync directory ( #503 )
2026-07-09 15:26:37 -07:00
Gregory Schier
155260521e
Detect and surface plugin runtime crashes ( #502 )
2026-07-09 09:05:34 -07:00
Gregory Schier and Claude Fable 5
b332a0eba9
Fix startup failure from fd exhaustion when launched via Finder ( #500 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 08:49:23 -07:00
Gregory Schier
4ee080fa49
Add in-app micro-feedback prompts ( #497 )
2026-07-04 23:21:53 -07:00
Gregory Schier
eb2a2dd775
Convert request bodies when changing type ( #499 )
2026-07-04 22:22:35 -07:00
Gregory Schier
cc05fec59d
Add CEF runtime to Linux builds ( #494 )
2026-07-03 14:22:47 -07:00
Gregory Schier
273e9c184d
Improve SQLite response persistence performance ( #496 )
2026-07-03 14:05:02 -07:00
5004c395de
fix: Resolve : ambiguity in URL path placeholders ( #465 )
...
Co-authored-by: Simon Johansson <simon.johansson@infor.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Co-authored-by: Gregory Schier <gschier1990@gmail.com >
2026-07-01 13:23:27 -07:00
baofeidyz and Gregory Schier
24e578db5f
Add SSE response summary helpers ( #466 )
...
Co-authored-by: Gregory Schier <gschier1990@gmail.com >
2026-07-01 12:33:03 -07:00
Gregory Schier
bbdfbcb9ca
Add configurable gRPC and WebSocket message size limit ( #487 )
2026-06-30 09:14:41 -07:00
startsevdenis
c3aecfdc0c
fix: increase tonic gRPC max_decoding_message_size to 64MB
2026-06-29 16:06:02 -07:00
Gregory Schier
18b983bfe5
Add CLI import and export commands ( #484 )
2026-06-29 11:43:20 -07:00
Gregory Schier
9ffd8d4810
Flush model writes before sending HTTP requests
2026-06-29 10:25:15 -07:00
Nguyễn Huỳnh Anh Khoa
1de0a5942c
fix(manager): remove stale plugins with missing directories ( #481 )
2026-06-26 22:33:06 -07:00
Gregory Schier
fa40ceaa31
Add cookie editing and inherited request settings ( #463 )
2026-05-18 08:59:49 -07:00
Gregory Schier
b0b282535f
Cargo fmt
2026-05-08 12:03:34 -07:00
Gregory Schier
d7e67cf13c
Add live git status indicators ( #458 )
2026-05-08 11:25:39 -07:00
Gregory Schier
10559c8f4f
Split codebase ( #455 )
2026-05-07 15:50:10 -07:00
Gregory Schier
50f33b45b9
Add domain filter to cookie template function ( #452 )
2026-05-07 07:06:21 -07:00
Gregory Schier
a200410697
Fix gRPC Any response reflection ( #451 )
2026-05-06 07:42:35 -07:00
Gregory Schier
b0740770df
Increase HTTP/2 response header limit
...
Set Yaak's reqwest request clients to accept HTTP/2 response header lists up to 1 MiB and wrap configured clients so the sender path cannot accidentally bypass the shared builder.
Feedback: https://yaak.app/feedback/posts/when-response-headers-exceed-a-certain-size-hyper-throws-error
2026-04-28 07:49:47 -07:00
Gregory Schier
c95099588f
Fix duplicate request snapshotting URL as name ( #429 )
2026-04-23 06:36:33 -07:00
Gregory Schier and Claude Opus 4.6
eb9b5b6bb6
Don't override user-defined Content-Type for GraphQL and form-urlencoded requests
...
The frontend already sets the appropriate Content-Type header when
selecting a body type, so the backend no longer needs to force it.
This allows users to override Content-Type for servers with
non-standard requirements.
Fixes https://yaak.app/feedback/posts/graphql-mode-ignores-manual-content-type-header-override
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 09:43:04 -07:00