snarfed / bridgy

📣 Connects your web site to social media. Likes, retweets, mentions, cross-posting, and more...
https://brid.gy
Creative Commons Zero v1.0 Universal
739 stars 52 forks source link

[Silo request] Sharkey #1620

Open roxwize opened 1 year ago

roxwize commented 1 year ago

I use Firefish over Mastodon because it's what I'm more familiar with. It's derived off of Misskey, but I'm not sure what it keeps the same and what it changes completely.

API documentation for it is at https://firefish.social/api-doc/. It should have everything necessary for implementation from what I've looked over. I don't know a lick of Python so I'm not sure if implementing this myself will be entirely feasible or efficient but I'll see if I can hack something up regardless.

snarfed commented 1 year ago

Sure! IIRC Calckey had some Mastodon API compatibility, but maybe no longer? Looks like the API documented there isn't Mastodon-compatible? Not sure. If not, then yes, we'd implement it as an entirely new silo. Instructions: https://bridgy.readthedocs.io/#adding-a-new-silo

(Also, I assume you've seen https://fed.brid.gy/ ? Works very differently, but it's an alternative that has at least some Firefish support already.)

roxwize commented 1 year ago

Admittedly I had never clicked the Mastodon link to lead to Bridgy Fed until after I filed this issue, but it seems that Firefish does work. I've not actually tested if publishing or backfeeding works yet, so that remains to be seen-- but it seems good to me so far. If I do manage to get it working properly then I think I can close this issue as there would be no need to make a new silo altogether for something that's wholly compatible.

This is somewhat unrelated, but I think having the link to Bridgy Fed on brid.gy be the Mastodon logo is slightly misleading, although that might just be me being pedantic. Something like the ActivityPub logo as a whole or something indicating "Mastodon-compatible networks" might work better since it's not just limited to Mastodon and it did deter me from trying it out with Firefish at first.

snarfed commented 1 year ago

https://brid.gy/mastodon/@t@lethallava.land ? Looks good!

And thanks for the suggestion. The onboarding flows in Bridgy Fed and Bridgy classic (where you are right now, and where you connected your Firefish account) are related, but not the same. Bridgy Fed is a first class ActivityPub + Webfinger implementation, so it tries to interoperate with the whole fediverse. Bridgy classic, on the other hand, uses Mastodon's proprietary API. Other fediverse servers with Mastodon-compatible APIs like Firefish may work, but they're not officially supported yet, hence the Mastodon logo on the signup button.

roxwize commented 12 months ago

I'm going to go ahead and close this since Firefish integration does seem to be working as expected. If any issues arise in the future I'll point it out.

snarfed commented 12 months ago

Awesome! Let's at least add it to the docs then, I'll keep this open to track that. Feel free to send a PR! You know more about how Firefish is going with Bridgy than me now 😁

roxwize commented 12 months ago

Okay, sure. I'll do that as sure as I'm able to— probably sometime around Saturday. I'll see if there are any other services compatible with the Mastodon API that work with Bridgy.

roxwize commented 12 months ago

Attempting to enable publishing on the dashboard page sends me to Firefish properly, but it gives an error on the auth page.

An error has occurred

snarfed commented 12 months ago

Hmm! I see that Bridgy redirected you to: https://lethallava.land/oauth/authorize?response_type=code&client_id=...&client_secret=...&scope=read:accounts%20read:blocks%20read:notifications%20read:search%20read:statuses%20write:statuses%20write:favourites%20write:media&redirect_uri=https%3A%2F%2Fbrid.gy%2Fmastodon%2Fcallback&state=5145755272478720

The error was on Firefish/lethallava.land's end, so I don't have any visibility into it. Maybe they don't support some of the write:* scopes we requested?

Feel free to ask the Firefish people or a file a bug with them and point them here for details!

snarfed commented 9 months ago

Tentatively deprioritizing, the Firefish project seems to be inactive, or at least heading that way. From https://fediversereport.com/last-week-in-fediverse-ep-54/ :

The Firefish project has been deemed dead by the community for a bit now, but now the lead developer has officially stepped down.

roxwize commented 9 months ago

Wasn't aware of that. The fediverse instance I'm using is transitioning away from Firefish, it's migrating to a different Misskey fork named Sharkey, I don't know if that'll cause any complications with Bridgy Fed but I'll point it out here or on the Sharkey repo should an issue arise.

gaviscapes commented 8 months ago

I'm on sharkey and am getting this bug that @roxwize pointed out still. It was briefly working, but it seems intermittent.

bennypowers commented 4 months ago

fwiw firefish is pretty active

bennypowers commented 4 months ago

Firefish recently backported a fix from Iceshrimp for this, however I was not able to auth from brid.gy to my instance:

client_id not found for app info

snarfed commented 4 months ago

@bennypowers hmm! I see that attempt in the logs, 2024-07-18 03:12:48.540 UTC. Bridgy redirected to

.../oauth/authorize?response_type=code&client_id=...&client_secret=...&scope=read:accounts%20read:blocks%20read:notifications%20read:search%20read:statuses&redirect_uri=https%3A%2F%2Fbrid.gy%2Fmastodon%2Fcallback&state=...

The client_id Bridgy has for ... is ..., created 2024-06-30 15:43:40.427 AM UTC. Have you deleted or otherwise reset API clients in your Firefish instance since then? I can delete the client on Bridgy's end and make it generate a new one if you want.

bennypowers commented 4 months ago

Please do. Please also redact the domain, id, and tokens from the previous message tyvm

snarfed commented 4 months ago

Done!

There weren't any tokens in that message, and client_id isn't sensitive or private, you can't authenticate or otherwise do anything with it alone, you need client_secret too, which I'd already redacted, but sure, I've redacted everything now.

bennypowers commented 4 months ago

TYVM, I really appreciate you doing that for me.

Yes, indeed, your manually removing the previously corrupt entry has cleared the error. Thank you!