Spent more time updating the Devbox search service to return cached/prebuilt packages whenever possible. I was hoping to have that work wrapped up this week, but it looks like it’ll require a couple more days.
I also worked with Daniel and Savil a bit more on how we can solve the dynamic linking issues that have been popping up for Linux users. There’s no perfect (quick) fix, but we think we have a way to fix it for the majority the majority of users.
Last week, I focused on setting up Jetpack as an identity provider. This week, I’m looking into supporting teams and organizations in Jetpack’s OAuth flow. Think creating organizations, picking organizations, inviting team members, joining an org as a member, and deciding if folks need to re-login based on their choices.
This authentication work lays the foundation for future team-friendly services. We’ve been putting this off for so long, and I’m so glad we are finally taking the plunge.
Got envsec working with dual auth providers (auth0 and Stytch). Spent some time (unsuccessfully) trying to integrate typeid into an existing Golang GraphQL library. Also added some optional profiling output to devbox to help us understand slowness that can occur in certain cases, especially in devbox global.
This week I continued my exploration of technologies that we could use to revamp the launchpad experience. I was able to hack together a working end-to-end system to quickly deploy an app after submitting a change to GitHub. I don’t want to go into details yet since it’s very much still a work in progress. My goal next cycle is to improve on it and get it to a point where we can dogfood it internally, by having it manage deployments for at least one of our services.
This week was a very short week for me. Highlights included having the latest Devbox release go out. This one had a feature I’d worked on that had been much requested: enabling a way for users to exclude packages from certain platforms, or exclusively install packages on certain platforms.
Unfortunately, the release hit a little snag, we were inadvertently requiring nix to be installed even for simple commands like
devbox version. This manifested itself in users of the Devbox github install action experiencing some problems. The fix was very safe and easy to implement and we could ship it quickly.
On a related note, this helped me get acquainted with the Github install action, and I hope to ship a small improvement to it this coming week.
Separately, this was also planning week. A problem some users have encountered is hitting version-mismatch errors with
glibc and related libraries. We have a tentative plan to address this, though some details need painting in. I hope to prototype it this week.
On Tuesday we released Devbox 0.5.12, with lots of highly requested Devbox features like platform specific packages! I updated our product documentation with the details on this new feature, and merged some additional quality edits to the Docs. We also relased some quick hotfixes based on user feedback.
I also spent time testing and logging bugs for a new upcoming feature in Devbox that will allow us to skip the Nixpkgs evaluation step and install Nix packages directly. This feature should speed up Devbox startup times significantly, especially for projects with packages from several different versions of nixpkgs.
Finally, I made some tweaks to our NGINX plugin that should improve the envsubst support, and give users an easier way to configure NGINX with environment variables. Expect to see these improvements in the next release!
I spent most of my time planning for next cycle which involved facilitating our retrospective and brainstorming new projects.
On the authentication side, I spent time with Lucille figuring out how our login flow should work once we add support for creating and joining organizations.
Paired with Rodrigo to figure out the work we want to do around deployments – we want to provide a "Vercel for Backend" type of experience.
Finally, had additional discussions with Savil and Greg on how to best improve our handling of dynamic libraries and
glibc in particular.