Yaak Logo
Yaak

Introspection Controls and Sync System Progress

2024.12.0
2024.12.1

Hey there, It’s been a while. 👋🏼

I’ve taken a bit of a break from app development to focus on the upcoming sync system (more on that below). In the meantime, here’s a release containing some important bug fixes and GraphQL introspection improvements.

🧑🏼‍🔧 GraphQL Introspection Controls

This release adds more controls to GraphQL introspection.

  • Ability to disable automatic introspection
  • Ability to clear the currently fetched schema
  • Ability to trigger manual introspection
GraphQL introspection menu

Access new actions from the GraphQL schema menu

Fixes Manual GraphQL Introspection

💣 New Non-destructive JSON Formatter

The previous JSON formatting logic would parse the text and re-serialized it with proper indentation. This would cause subtle mutations, however, like converting 1.000 to 1. This release includes a custom JSON formatter that does not include a parsing step.

The new formatter operates on the raw JSON string and simply adds whitespace as necessary, leaving all tokens in raw form. Not only does this mean your numbers will keep their precision, but it will also work with invalid JSON! How cool is that?

Fixes Respect numeric formatting in JSON pretty mode

🔄 Sync System Progress

I’ve been heads-down on the sync system (paid subscription) for the past few week and am quite happy with the progress. You can follow along in the WIP Pull Request if you’d like.

Sync commit dialog

Select the entities to commit, just like Git

Here’s the current state of progress.

On the application side:

  • New sync menu at the bottom of the sidebar
  • Commit dialog to stage and commit changes
  • History dialog to see change history

On the server side:

  • A login system for email/password, GitHub, and Google
  • Basic team invitation functionality
  • Email notifications

The main items remaining are to have the sync system mutate the local database (eg. for branch checkout), hook it up to the remote API to enable collaboration, and integrate Stripe to manage billing.

I’m excited to be able to see the light at the end of the tunnel, as it will be a major step towards making Yaak a sustainable business. As for timeline, I hope to open it up for beta testing early next year.

As usual, please let me know if you have any thoughts on this via the Feedback Board.

Other Fixes and Improvements

2024.12.1