Skip to main content

Improvements and API

ยท 3 min read
Robert Goniszewski

It's been over a month since the last update. During that time, I've been working on fixing the most common issues, but also sneaking in some new bugs features.

Let's take a look at what's new!

Improvementsโ€‹

First of all, let's talk about the improvements!

The search functionality has been improved to better utilize indexes, which should make it much faster and more efficient when dealing with larger collections.

Fixes for a few issues with reactivity for dynamic collections (think of Bookmarks, Categories, Tags), in an effort to make the app more responsive to the User's actions. It's not perfect yet, but I'm going to keep working on it.

There is also a small quality of life improvement for new users that should mitigate some confusion about creating your first user account. The main page will display a message with a link to the sign-up page and another to the admin panel if there are no users in the database.

Last but not least, I heard about the problems with CORS and setting up routing for the app so I decided to add a proxy for PocketBase. From version 0.2.2, all API calls to our PocketBase instance will be proxied through the Grimoire container (using the [GRIMOIRE_URL]/internal route). This should make it easier to set up routing and avoid most common issues.

APIโ€‹

The most considerable change, however, is the addition of the API endpoints. It's still in the early stages, but it's already usable. Thanks to the OpenAPI spec, you can navigate the API documentation and try out the endpoints right here.

Thanks to the API, the work on one of the most anticipated features - browser extensions - can finally begin. I'm planning to provide the first draft version of the extension for Firefox and Chrome in the upcoming weeks, so stay tuned!

API documentation

One note: the way you authenticate with the API is a temporary solution (for now, it requires your User credentials in the Authorization header). It will be changed in the future to use a more secure method.

What's nextโ€‹

For the next few weeks, I will focus on the browser extension and internal state management, so if you add or remove a bookmark, it will show up in the UI without having to refresh the page.

You can also expect some further refinements to the API and the admin panel along the way (making it less barebone). And, of course, the usual bug squashing! ๐Ÿ›๐Ÿ”จ

Contributors are more than welcome!โ€‹

The Grimoire is an open-source project in its early stages of development. Let us work together to make it better!

Bring your ideas, suggestions, and bug reports to the GitHub repository. And if you want to make an impact, take a look at the contributing guidelines.