Backend stuff for domain permission drafts is in place, working on the frontend / settings panel stuff now.
Domain permission drafts will let you create domain block or domain allow drafts either manually or from a block / allow list subscription. You can then remove the draft if you decide you don't want it, or accept the draft and put it into force as a block or allow.
interaction policies generally seem to work quite well, but there's still a few cases where unapproved reply chains can slip through, and there's still an issue with replies getting lost from instances that aren't interaction policy aware
there, wrote some code for pending replies so that when you have a reply waiting for your approval, it gives you a nice little note about it, and lets you know you can implicitly accept it by interacting back
this will make things a bit easier for people using client apps that don't yet support interaction policies (ie., every single client app currently); this way folks can at least approve interaction requests without leaving their app of choice
(and and in the image the host is only showing as "localhost:8080" because I'm using the test rig right now)
there, wrote some code for pending replies so that when you have a reply waiting for your approval, it gives you a nice little note about it, and lets you know you can implicitly accept it by interacting back
this will make things a bit easier for people using client apps that don't yet support interaction policies (ie., every single client app currently); this way folks can at least approve interaction requests without leaving their app of choice
Currently, if the PublicKey ID for an Actor is not at the same url (plus fragment) as the Actor itself, Mastodon will always refetch the key during signature verification
Since Mastodon does already have the key stored for that Actor if the Actor has interacted with the instance before, this is rather wasteful of resources, which is especially noticeable on smaller instances which deliver to Mastodon inboxes.
My suggestion is to add a field like public_key_uri to Account database entries. The appropriate Actor for an incoming request could then be selected from the database with something like SELECT * FROM accounts WHERE public_key_uri = 'https://example.org/users/someone/main-key'; Then if the instance had the Actor stored already, it would not need to make a remote call to the origin instance to validate the signature.
I would try to implement this myself, but I have almost no experience with Ruby, so I’m not sure where I would start.
Are there any Ruby-doers out there who could do such a thing?
I opened an issue on Mastodon to suggest a code change that would save on network requests to GoToSocial instances.
Currently, if the PublicKey ID for an Actor is not at the same url (plus fragment) as the Actor itself, Mastodon will always refetch the key during signature verification
Kinda exciting to see some people from cybre.space trying out GoToSocial. In the spirit of being honest + straightforward, I just wanna make it known to everyone that:
GoToSocial is still in ALPHA not even beta yet, so expect bugs. Many bugs! It’s constantly being patched and updated. Look at all these issues!
There’s lots of stuff missing still. Hashtags don’t work properly yet. Polls don’t work. You can’t upload videos. All that stuff is on the roadmap document, which you can read right here -> https://github.com/superseriousbusiness/gotosocial/blob/main/ROADMAP.md
Despite all that, it’s pretty neat software imo. It might be nowhere near finished but it’s already zippy and doesn’t use a lot of resources, and you can use it for day-to-day posting no problem.
SO! It’s awesome if you wanna try it out and help find + fix broken stuff, that’s the whole point of alpha after all 😎 But don’t expect a 1:1 smooth transition from Mastodon to GoToSocial, cuz that’s probably not gonna happen! If you have a low tolerance for jank and just want something that straight up works, you’re best off looking for other software at this point ;)
Kinda exciting to see some people from cybre.space trying out GoToSocial. In the spirit of being honest + straightforward, I just wanna make it known to everyone that:
GoToSocial is still in ALPHA not even beta yet, so expect bugs. Many bugs! It’s constantly being patched and updated. Look at all these issues