Cannot follow from Firefish/Calckey instances.

I love your Twitter forwarding app and use it a lot.

I have just made the transition from Mastodon to Calckey and it appears that I cannot follow bird.makeup in Calckey.

Could you please fix this so that I can use your app again?

Thank you in advance for your help.

Assigned to
1 year, 3 months ago
2 months ago
No labels applied.

~catawump 1 year, 2 months ago

I am in a similar situation, I just moved from Mastodon to Misskey and I also cannot follow any @bird.makeup accounts. Since I believe Calckey is a fork of Misskey, this is probably the same issue. The accounts are searchable and display, but upon attempting to follow it just says "Processing..." indefinitely.

This issue may also have some overlap with issue #3 "Unable to follow from GoToSocial instance" - The submitter there has done some good research into the issue and has a few comments about what the cause might be.

~fencken 11 months ago

Recently decided to check out Calckey which recently rebranded as firefish. I migrated my list of bird.makeup accounts there and no luck.

Per @Admin at firefish.social "bird.makeup has problems federating with authorized fetch, so it's a technical problem on their side".

~cloutier referenced this from #3 7 months ago

Gareth Coles 7 months ago · edit

I can confirm that the changes contributed by @jofkos in https://todo.sr.ht/~cloutier/bird.makeup/3 have fixed things for Firefish as well.

Everything looks great. Thanks for your hard work, @jofkos and @cloutier!

~jofkos 7 months ago

Amazing, happy to hear that it actually worked! :)

Gareth Coles 7 months ago · edit

Having had some more time with these changes, it does seem like things aren't very reliable - although I'm a new user to bird.makeup in general, so I'm not sure if this is just kinda how things are.

Initially, I found that I wasn't receiving many tweets - occasionally I'd see one from an account that was somewhat widely followed, and rarely I'd see one from an account only followed by my instance, but I'm finding that I only see tweets from very popular accounts these days.

For example, I know this account has tweeted since I started following it: https://fedi.gareth-coles.dev/@explosions_fire@bird.makeup

Is this likely to be an issue with Firefish support, or is this normal behaviour for bird.makeup?

~outloudvi 2 months ago

I tried to use my Misskey account to follow a not-yet-followed account on bird.makeup. It initially worked, but after several minutes bird.makeup doesn't show my follow anymore:

This account has 0 followers on the fediverse. The server with the most followers for this account is: N/A

I tried to selfhost one instance but haven't noticed such behavior. I'll continue testing the selfhosted version and report back if I found something.

~outloudvi 2 months ago

I noticed the case when trying to re-follow some user via Misskey.

When un-following:

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
      An unhandled exception has occurred while executing the request.
      Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'BirdsiteLive.ActivityPub.ActivityFollow' does not contain a definition for 'object'
         at CallSite.Target(Closure, CallSite, Object)
         at BirdsiteLive.Domain.UserService.UndoFollowRequestedAsync(String signature, String method, String path, String queryString, Dictionary`2 requestHeaders, ActivityUndoFollow activity, String body) in /src/BirdsiteLive.Domain/UserService.cs:line 291
         at BirdsiteLive.Controllers.UsersController.Inbox() in /src/BirdsiteLive/Controllers/UsersController.cs:line 294
         at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at BirdsiteLive.Middleware.SocialNetworkInterceptor.InvokeAsync(HttpContext context) in /src/BirdsiteLive/Middleware/SocialNetworkInterceptor.cs:line 25
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

When re-following: Immediate after the re-follow, the database did create a relationship of my new followship. After a while, the relationship disappeared from the database.

It seems that Misskey's un-following request doesn't make Bird.Makeup happy and thus the dynamic casting failed. I'll later check the payload to see what is the exact mismatch.

~outloudvi 2 months ago

Seems that .NET's as dynamic is going that way - since there is no object property in an ActivityFollow struct, the dynamic cast failed in runtime. If this were the case, all fediverse instances should be impacted. I tried to comment out the part that sends out the Accept activity, and both Bird.Makeup and Misskey seem to be happy for now (an HTTP 202 response to the Undo activity seems to suffice at least for Misskey).

Register here or Log in to comment, or comment via email.