Show newer

Part of the fun I have with this is figuring out how to build a simple application in as little time as possible that's still useful from day 1 -- and after some thinking I figured it out.

So v0.1 will have a GUI only for the primary use case: reading things. It'll eventually be multi-user (schema is set up for it), but single-user upon release. And to do anything besides the primary use case, you'll use cURL or Postman or whatever to call the API.

Show thread

Last night got the database schema worked out to handle everything that'll be in the MVP and versions after. Today have been adding the API layer and bringing over code I needed from Write.as.

Show thread

It's been a long day, but I have enough energy for more coding if it's for pure fun -- a new project, a blank canvas. Let's see how far I can get on this tonight.

We're now sending out Update activities, but it seems Mastodon doesn't do anything with them, so titles and URLs won't update. Still, it'll work on any future platforms that do something with the event.

Show thread

Blogs are now discoverable on , but following doesn't seem to work -- no request is made to Write.as -- and the URL to the blog isn't correct. Will keep picking away at it.

Show thread

Now finishing testing on new Update activities being sent out. In the course of doing this I also figured out how to make scheduled posts work with federation, so that should be a really nice feature when it's ready.

Patched the go-webfinger library (github.com/writeas/go-webfinge) so it supports requests without the acct: scheme and that seems to make blogs discoverable on . Still needs more testing.

Now that is live, time to get things working with other platforms. Next up:

Okay, latest changes deployed. Included:

- Support for federation on custom domains
- Fixed avatars (some were off-center before)
- Users on custom domains are now excluded from NodeInfo stats on Write.as
- "Published" times on Create activities in the API

Doubt it'll be an issue, but have a bit more work to do to prevent overlap between blogs on Write.as and on custom domains (especially around account discovery) before I can deploy these changes. Will finish up tomorrow.

Now just double-checking all endpoints and data -- have to verify sites on write.as/*/, *.writeas.com, and custom domains.

✅ Blogs on custom domains are discoverable
✅ You can choose your handle for your custom domain blog (default: @blog@example.com)
✅ Custom domain blogs have NodeInfo showing them each as a single-user "instance"
✅ AP endpoints should be future-proof for when you can eventually self-host your blog
✅ Posts federate from blogs on custom domains

Good morning. Goals for today:

- Finish UI for enabling federation
- Experiment with rejecting replies
- Build onboarding flow for new users who want federation

Something I'm looking forward to: non-technical users seeing this new setting on their blog and asking me what it means. I have no doubt it'll be confusing to the uninitiated, so it'll be nice to hear everyone's questions, and figure out how to explain federation in a way that makes sense to them.

Based on that, I can tweak the UI so more people understand what's going on right away. Enough of that, and more people will be able to join the fediverse without the whole learning curve.

Show thread

Actually it'll be something like this in the "Publicity" section for everyone, with a textbox that appears when "Custom domain" is selected.

Show thread

Okay, custom domains are discoverable and have all endpoints in place. Now just need to let everyone choose their handle. This will go in a new "Federation" section on the blog settings page -- a page that's starting to get a little long I think, so I'll have to redesign it a bit in the near future.

One thing I want to do is make sure replies from the are gracefully handled / rejected, since they don't go anywhere when replying to blog posts right now. Not sure how to do that, but I'll try a few things before the full roll-out.

Now I'm working on making blogs on custom domains discoverable in the fediverse :fediverse:, then adding a setting for all users to enable .

Turns out boosting does work, just not on for certain accounts of mine I was testing with and broke on that instance (like @matt@write.as).

Show older
A Bunch Tell

This instance is only for A Bunch Tell projects.