Yaak Logo
Yaak

FakerJS Plugin and Data Synchronization RFC

2024.10.0
📦 2024.10.1
  • JSONPath expression evaluator not working

There aren’t any earth-shattering new features in this release so don’t get too excited. However, a FakerJS plugin is available to install and a plan for implementing data synchronization is now open for comment!

🎁 Yaak's First Plugin: FakerJS

The plugin system has been in the works for a long time and—as you may already know—plugins already power a lot of core features including import, copy-as-curl, and the new response() tag. With the plugin APIs becoming more robust, it’s now possible to build some cool stuff.

So, here’s the first ever publicly available plugin! github.com/mountain-loop/plugin-faker 🙈

With the Faker plugin installed, you’ll have access to the dozens of FakerJS APIs for generating dummy data like airport codes, numbers, animals, colors, and more. And the entire plugin is only ~20 lines of code!

Faker plugin screenshot

Install the Faker plugin to start sending dummy data to your APIs

The installation process is still very manual and mostly meant for writing your own plugins, but you can follow these steps to get started:

  • Download the Faker plugin GitHub repo
  • Open Yaak > Settings > Plugins
  • Select the plugin code directory

This process will be vastly improved in the future, providing the ability to install from a URL or search from a first-party plugin registry.

If you’re curious about plugin development, there’s also a new Plugin Development / Quick Start guide to show you how to get started. Plugin development is done in TypeScript so most things are discoverable through your favorite text editor’s autocomplete.

See also: feedback

🚀 Quicker Launches and Theme Loading

This release also comes with some really nice quality-of-life improvements that will make Yaak feel more at home on your desktop.

The biggest of these is a 2x faster startup time. This was achieved by splitting the main JavaScript bundle into multiple parts so the webview can render the important bits right away. You’ll notice this the most when opening the settings window.

The next improvement is mostly for the Windows users. You see, Windows isn’t very good at respecting your dark mode preferences out of this box. This caused new Yaak windows to flash a white background for a split second while it loaded the active theme. This issue has been fixed by hiding new windows by default, and only showing them once the theme data has become available.

Those are the two most noteworthy improvements but be sure to check the bottom of this changelog for a ton of other important fixes! Now let’s talk about the next big upcoming feature.

☁️ Data Synchronization Proposal

I’ve been hard at work this week building a proof-of-concept for data synchronization in Yaak. The details are in the linked RFC above, so I won’t go over it again, but here’s a quick summary:

There will be two forms of data synchronization:

  • Directory sync → continuously import/export data from your filesystem
  • Cloud sync → collaborate using an end-to-end encrypted Git-like workflow

Directory sync will hopefully fit the need of those looking to integrate their Yaak workspaces with a local Git repository, while Cloud sync will be the easiest possible way to collaborate with others (or simply back up your data). Note that cloud sync will be available as a paid subscription, and the foundation of Yaak’s business model going forward.

I’ll have more to share on soon but, again, please give the Sync RFC a read and submit your thoughts.

See you soon!

See also: feedback

Other fixes and improvements

🛠️ Fixed

  • Path variables replace even without colon prefix(feedback )
  • gRPC basic auth encoding(feedback )
  • Path variables parsing breaks when used with path variables
  • Request chain stuck when populating global var
  • Allow invalid JSON for GraphQL variables(feedback )
  • Settings window disappears when moved to another monitor
  • RPM installation fails to start(feedback )
  • URL param not updating correctly on URL paste
  • Prevent key/value editor from adding when clicked outside ed368cd
  • Fixed deadlock in response() tag c938b62

💄 Improved

  • Toggle maximize on double-click(feedback )
  • Namespaced autocomplete names for multi-level template functions #95(#95 )
  • Link to docs in plugin settings
  • Use plain input for prompt dialog 1c6c979
  • Environment dropdown becomes a button when no environments 3ee9ed8
  • Improved toast styling
  • Show all requests in response() tag dialog 3818154

Thanks to you

Community-purchased licenses are what power new features and fixes like this. Supporting Yaak means more updates to come, for you and your team.

Gregory SchierFounder, Yaak
Support Yaak