Yaak Logo
Yaak

Server Sent Events, Proxy, and Functions++

2024.11.0
2024.11.2

Hold onto your butts! 🦖

This week is big, so let's skip the preamble and jump right in to what's new.

⛲ Server Sent Events

Server sent events (SSE) are is a relatively new way to push data from server to browser in real-time, and are now natively supported in Yaak. But this change also brings with it another major improvement: Streaming responses.

Screenshot of server sent events

Server sent events stream live into the response pane

To support SSE, Yaak needed to be able to show the contents of a response as it streamed to the client. So, along with SSE, you also get the following benefits for all other responses:

  • Responses show as "Connecting" until headers are received
  • Response status is shown as soon as headers are received
  • Size and Time now update as each response body chunk is received
  • Text responses will re-render after each chunk is received

Pretty neat, right?

Closes Support for server sent events

🌐 Proxy Setting

If you work inside a corporate network, you'll be greatly aware of the need to send traffic through a proxy server. And, if you don't, the ability to configure a proxy might not be that interesting. But it does allow other interesting use-cases, like forwarding traffic to a debug proxy like Proxyman for better debugging.

You can configure the proxy settings under Settings > Proxy.

Screenshot of new proxy settings

Configure a proxy in the new Proxy tab, under Settings

Closes Add Proxy Support

🧑🏼‍🔬 More Template Functions!

The plugin system was intentionally introduced in an early state, to start getting feedback. One of the core use-cases for plugins is creating Template functions which you clearly wanted more of.

So, the following template functions are now bundled with Yaak:

  • prompt.text() → Prompt the user for input at send-time
  • fs.readFile() → Read the contents of a file
  • hash.* → Hash a value with md5, sha1, etc.
  • response.header → Access the value of a response header
  • response.body.raw → Access the entire response body

Closes Loading local file in variable
Closes Support header in request chaining
Closes Prompt variable

🚀 Performance!

It's usually not exciting when apps list "performance improvements" as a changelog item. However, this time it's real. 👀

There were some naive decisions within Yaak's codebase that caused major slowdowns when working with more than ~100 requests that are now eliminated!

If you notice any more performance issues, please submit Feedback so it can be addressed as well.

Other Fixes and Improvements

2024.11.1

2024.11.2