I have some bug fixes for Davaux coming out soon. I was thinking of doing some partial releases (as in leave some packages at 0.9.0), but I may just bump them all up to 0.10. Both the davaux and @davaux/ui packages have breaking changes coming. The biggest one is in the UI package, all font size props in components and in StyleProps have been aligned to use px when set as a number. This was mixed between px and rem before (and currently in 0.9.0). It was confusing even to me and I couldn't keep track of which were which, so I just made them all the same.
As I said before, I've been working on BeSquishy again and, well, I've been working on it all along, just not directly. I recently pulled in another project I have been building for a long time to use with BeSquishy, finally. It's called Passage and it's a modular transaction system. Passage gives BeSquishy real-time capabilities. I've been experimenting with some features that Passage allows in BeSquishy. I'm sure you can use your imagination to figure some of those out. What has been interesting, though, is plugging Passage into some things has actually simplified the code and flow state of BeSquishy itself. BeSquishy can now offload some tasks to Passage, which means the web server is dealing with what the user sees, while Passage is doing processing in the background to keep everything working smoothly. I was hesitant to add any Passage support this early, but it's been pretty cool how much it improved a lot of the things BeSquishy does behind the scenes (and on your screen).
Before beginning to integrate Passage, I was possibly weeks away from a quiet launch of BeSquishy. I think adding Passage probably adds some time to that, just because it adds quite a bit of surface area to test and make sure everything is working correctly. It's more complete than any other version of BeSquishy I've built in the past, so that means eventually I'm gonna run out of excuses to not just launch it.
Davaux 0.9.0 is a huge update. In addition to adding the alpha Davaux UI (@davaux/ui), there is also a new S3 storage package (@davaux/storage) and a new mail package (@davaux/mail). All of them have been developed in parallel with BeSquishy. I'm hoping to release Davaux 0.9.0 soon. One of the major updates is the Reactive components. This allows you to use a regular component as an island. You simply add a pragma heading to the file and it becomes a client side reactive script, using JSX and supporting SSR JSX. This is a significant update over the standard islands, which do not support SSR JSX components. I've also done some precision updates, such as standardizing forms and file upload handling (multipart forms). There are quite a few breaking changes, honestly, but they are also significant. One of the none breaking changes is the addition of routing groups. If the primary app routes are in a routing group, surrounded by parenthesis, then the other routes support isolated layouts. This means you can have as many site layouts as you want. Very useful for dashboards and things like that.
We are approaching a month since the 0.8.x releases, so my hope is to get a 0.9.0 release out soon. It'll still be alpha status, but it's still a significant update over the previous release. Just to sneak it in....I'm hoping to launch BeSquishy soon as well. It'll likely fall under the 0.9.x release cycle. It's being built with the current 0.9.0 dev code, which means once the UI package is squared away, we are likely approaching a beta release soon.
I've been using Davaux's 0.9.0 development branch to build the long awaited BeSquishy social network. For those who don't know, BeSquishy has been an idea of mine since around 2004. I actually built part of it several times and even launched a simple version of it in 2007. Unfortunately, there was another social network that gained wide-spread popularity around the same time. Luckily, I've learned a lot about systems architecture in the last 20+ years, so a lot of the things I didn't know how to do or how they should work, are more within my capabilities.
The purpose of most of my side projects over the years have been building up tools and learning things so I could one day build BeSquishy with them or from the knowledge I gained. Davaux is that too and, instead of building onto other things, I went the direct approach: I just built the entire framework. The good news? It's working really really well. The core of the BeSquishy idea is in it this time, but the supplementary features are, I think, what will really push the platform beyond any other we have available today. A lot of social media has stagnated. Most platforms are just copying and recycling old ideas, many of which are staples, but things we thought of 20 years ago.
The thing about BeSquishy is it's not just a silly name, it's a philosophy. I'll explain it one day, when it's time, but it's a meaningful metaphor and the reason BeSquishy has always stuck with me as something I have to build. The platform has to match the philosophy and no other version has come as close to that as what I've been building so far. It's also a passion project, it's not just a social network, it's been a motivator to learn and innovate.
I've finally built up my SurrealDB tool set enough, I think, I can finally pick a launch date for BeSquishy. BeSquishy is a social network I've been building for a very long time. I had planned to launch it earlier this year, but had some delays and then I decided I no longer wanted to support ArangoDB. The problem is I want to build a SaaS behind BeSquishy, but ArangoDB no longer allows this with their open source package and they wont give me a quote for the enterprise package...so I had to swap databases. Seriously, they wouldn't reply to my email quote requests and when I tried their chat, they just said they'd email me, "the starting prices". They never did and I don't want to work with them anymore anyway.
Today I started building out the schema and using my SurrealDB tools in the software behind BeSquishy. With the progress I've made, I'm pretty sure I can launch sometime in October. I don't think I'll be releasing the code behind BeSquishy as open source anytime soon, but I will be releasing the tools I use to build it. I'll also be releasing an SDK, that allows you to build a web site inside BeSquishy, which you can use to power an external web site's data layer. I'll also have other services tied in, which will provide useful features you don't often have on a typical web site infrastructure.
I'll keep you updated a few times between now and then, but hopefully I can launch it in October...