Pixelfed
-
-
Alright, please also follow @hyper@social.mobiledads.live - this is a known working instance of Mastodon, and I can debug connections from pixelfed as well.
-
I am following back everyone that follows me. So if you need to debug federated follow, you can follow me as well!
I also just sent out a status update via mastodon so can any pixelfed users report if they see it?
-
To be honest I'm not getting what the heck is going on. I can see you are following me @jdaviescoates but when I click on you from within my Pixelfed dashboard, which brings me to your site, and see your pic and try to like it, I see that I am now not at my Pixelfed and apparently need to login to your Pixelfed instance to do anything. ? And I see nothing about Mastodon in my Pixelfed dashboard either.
-
While they use the same protocol, MD and PF are different so statuses I wouldn't think would share cross tools. No?
-
To be honest I'm not getting what the heck is going on. I can see you are following me @jdaviescoates but when I click on you from within my Pixelfed dashboard, which brings me to your site, and see your pic and try to like it, I see that I am now not at my Pixelfed and apparently need to login to your Pixelfed instance to do anything. ? And I see nothing about Mastodon in my Pixelfed dashboard either.
@scooke No, you should see their status / images in your own feed. ActivityPub is federated, decentralized sort of like bittorrent in a way. Everyone (or everyone you are connected to) gets a copy of the actor (in this case it's a pixelfed image status update)
Ex:
(Not my image)
-
While they use the same protocol, MD and PF are different so statuses I wouldn't think would share cross tools. No?
@doodlemania2 Both use activitypub and as such are compatible with each other. However the Unstable app here for Pixelfed in Cloudron's appstore has broken federation and it doesn't work more than like 80% of the time right now.
Mastodon
GNU/Social
Pixelfed
Pleroma
Nextcloud via the social app.
and moreAll use activitypub - Here is a large, but incomplete list of different service, scripts, and servers that can communicate via AP: https://github.com/BasixKOR/awesome-activitypub
-
It seems broken that I have to log in to someone else's Pixelfed instance to Like an image though. Or is this a 20% case of the federation not working? Seems counterintuitive to have to join someone's PF to interact with them.
It seems broken that I have to log in to someone else's Pixelfed instance to Like an image though
You're doing it wrong. ActivityPub doesn't work like that - The issue here is federation is broken.
There is no requirement to register and login to another server to send a like on an image in activitypub.
-
It seems broken that I have to log in to someone else's Pixelfed instance to Like an image though
You're doing it wrong. ActivityPub doesn't work like that - The issue here is federation is broken.
There is no requirement to register and login to another server to send a like on an image in activitypub.
-
It seems broken that I have to log in to someone else's Pixelfed instance to Like an image though
You're doing it wrong. ActivityPub doesn't work like that - The issue here is federation is broken.
There is no requirement to register and login to another server to send a like on an image in activitypub.
@murgero Ok, so normally I could click on a Follower, see their images, and simply press Heart, like Instagram? That makes more sense. But without that, PF as it is on Cloudron is for viewing only. I wish I could code and help out, add that missing federation bit.
-
-
I can see some traffic and some errors in my horizon based on what @murgero linked to. No idea how to fix, but at least we have errors to work off of!
My error is saying there is inbound issue from @hyper@social.mobiledads.live (the person I've followed). Here is the log (sorry it is big).
Symfony\Component\HttpKernel\Exception\HttpException: Invalid object in /app/code/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1015 Stack trace: #0 /app/code/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(46): Illuminate\Foundation\Application->abort(400, 'Invalid object', Array) #1 /app/code/app/Util/ActivityPub/Helpers.php(240): abort(400, 'Invalid object') #2 /app/code/app/Util/ActivityPub/Inbox.php(135): App\Util\ActivityPub\Helpers::statusFirstOrFetch('https://social....', true) #3 /app/code/app/Util/ActivityPub/Inbox.php(117): App\Util\ActivityPub\Inbox->handleNoteReply() #4 /app/code/app/Util/ActivityPub/Inbox.php(50): App\Util\ActivityPub\Inbox->handleCreateActivity() #5 /app/code/app/Util/ActivityPub/Inbox.php(42): App\Util\ActivityPub\Inbox->handleVerb() #6 /app/code/app/Jobs/InboxPipeline/InboxWorker.php(43): App\Util\ActivityPub\Inbox->handle() #7 [internal function]: App\Jobs\InboxPipeline\InboxWorker->handle() #8 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array) #9 /app/code/vendor/laravel/framework/src/Illuminate/Container/Util.php(36): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #10 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\Container\Util::unwrapIfClosure(Object(Closure)) #11 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #12 /app/code/vendor/laravel/framework/src/Illuminate/Container/Container.php(590): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #13 /app/code/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(94): Illuminate\Container\Container->call(Array) #14 /app/code/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(App\Jobs\InboxPipeline\InboxWorker)) #15 /app/code/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\InboxPipeline\InboxWorker)) #16 /app/code/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #17 /app/code/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(83): Illuminate\Bus\Dispatcher->dispatchNow(Object(App\Jobs\InboxPipeline\InboxWorker), false) #18 /app/code/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}(Object(App\Jobs\InboxPipeline\InboxWorker)) #19 /app/code/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\InboxPipeline\InboxWorker)) #20 /app/code/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(85): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #21 /app/code/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(59): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware(Object(Illuminate\Queue\Jobs\RedisJob), Object(App\Jobs\InboxPipeline\InboxWorker)) #22 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(88): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array) #23 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(354): Illuminate\Queue\Jobs\Job->fire() #24 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(300): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions)) #25 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(134): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions)) #26 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(112): Illuminate\Queue\Worker->daemon('redis', 'default', Object(Illuminate\Queue\WorkerOptions)) #27 /app/code/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(96): Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'default') #28 /app/code/vendor/laravel/horizon/src/Console/WorkCommand.php(46): Illuminate\Queue\Console\WorkCommand->handle() #29 [internal function]: Laravel\Horizon\Console\WorkCommand->handle() #30 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array) #31 /app/code/vendor/laravel/framework/src/Illuminate/Container/Util.php(36): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #32 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\Container\Util::unwrapIfClosure(Object(Closure)) #33 /app/code/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #34 /app/code/vendor/laravel/framework/src/Illuminate/Container/Container.php(590): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #35 /app/code/vendor/laravel/framework/src/Illuminate/Console/Command.php(202): Illuminate\Container\Container->call(Array) #36 /app/code/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #37 /app/code/vendor/laravel/framework/src/Illuminate/Console/Command.php(189): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle)) #38 /app/code/vendor/symfony/console/Application.php(1011): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #39 /app/code/vendor/symfony/console/Application.php(272): Symfony\Component\Console\Application->doRunCommand(Object(Laravel\Horizon\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #40 /app/code/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #41 /app/code/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #42 /app/code/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(131): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #43 /app/code/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #44 {main} Data { headers: { host: [ "pixels.thedoodleproject.net" ], x-forwarded-for: [ "192.99.10.87" ], x-forwarded-host: [ "pixels.thedoodleproject.net" ], x-forwarded-port: [ "443" ], x-forwarded-proto: [ "https" ], x-forwarded-ssl: [ "on" ], connection: [ "close" ], content-length: [ "2290" ], user-agent: [ "http.rb/4.3.0 (Mastodon/3.1.3; +https://social.mobiledads.live/)" ], date: [ "Fri, 19 Jun 2020 19:58:41 GMT" ], accept-encoding: [ "gzip" ], digest: [ "SHA-256=40Q8xJRc0kzr0bIczPgBonDpqKiwJpD5K3npBCqhVmo=" ], content-type: [ "application/activity+json" ], signature: [ "keyId="https://social.mobiledads.live/users/hyper#main-key",algorithm="rsa-sha256",headers="(request-target) host date digest content-type",signature="nXTzozY1aOyBKrMqaIB9kkwdminzCFqXfW5mAY7MAKpCz95OiIkSReOpknLzgdynxIu/LKs5e+vP8Jd1yaTidaOC9w7QDpeIqhsL82kx3rlfVohXuEkYq1sMnZeJnrT6yk4XU6Y0qado2W7ttHs7RwnukdrAvPQ3DSOJnDgaUN8OkWoY1INasipubHl2narkvxdIWr9HWR1InqJXzOXANULpAEnQUr0nKTrhZ2TdHCwy7Hp99L1WdX5VDAzYHO1YiTTYyCpH8RNGiw9WHhKjWvltF8Wy/CmVg1Mg679UNPd8AhQZAfPiMdgaiKF8M/Fzn/ZC5/MT37uapsgCwZhQuQ=="" ] }, profile: { class: "App\Profile", id: 178923258836553730, relations: [ ], connection: "mysql" }, payload: { @context: [ "https://www.w3.org/ns/activitystreams", { ostatus: "http://ostatus.org#", atomUri: "ostatus:atomUri", inReplyToAtomUri: "ostatus:inReplyToAtomUri", conversation: "ostatus:conversation", sensitive: "as:sensitive", toot: "http://joinmastodon.org/ns#", votersCount: "toot:votersCount" } ], id: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354/activity", type: "Create", actor: "https://social.mobiledads.live/users/hyper", published: "2020-06-19T19:58:39Z", to: [ "https://social.mobiledads.live/users/hyper/followers" ], cc: [ "https://pixels.thedoodleproject.net/users/doodlemania" ], object: { id: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354", type: "Note", summary: null, inReplyTo: "https://pixels.thedoodleproject.net/p/doodlemania/179416655951171584", published: "2020-06-19T19:58:39Z", url: "https://social.mobiledads.live/@hyper/104372418627220354", attributedTo: "https://social.mobiledads.live/users/hyper", to: [ "https://social.mobiledads.live/users/hyper/followers" ], cc: [ "https://pixels.thedoodleproject.net/users/doodlemania" ], sensitive: false, atomUri: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354", inReplyToAtomUri: "https://pixels.thedoodleproject.net/p/doodlemania/179416655951171584", conversation: "tag:social.mobiledads.live,2020-06-19:objectId=14924:objectType=Conversation", content: "<p><span class="h-card"><a href="https://pixels.thedoodleproject.net/doodlemania" class="u-url mention">@<span>doodlemania</span></a></span> Oh I can see this!</p>", contentMap: { en: "<p><span class="h-card"><a href="https://pixels.thedoodleproject.net/doodlemania" class="u-url mention">@<span>doodlemania</span></a></span> Oh I can see this!</p>" }, attachment: [ ], tag: [ { type: "Mention", href: "https://pixels.thedoodleproject.net/users/doodlemania", name: "@doodlemania@pixels.thedoodleproject.net" } ], replies: { id: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354/replies", type: "Collection", first: { type: "CollectionPage", next: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354/replies?only_other_accounts=true&page=true", partOf: "https://social.mobiledads.live/users/hyper/statuses/104372418627220354/replies", items: [ ] } } } }, timeout: 5, tries: 1, job: null, connection: null, queue: null, chainConnection: null, chainQueue: null, delay: null, middleware: [ ], chained: [ ] }
-
After reading this, it says that @murgero CAN see something, so outbound is good.
Also, I see in my instance, not that message, but he DID like the pic!
-
have been digging, the only thing i see at the moment was from horizon (listed above). i think it might be needing a well known or something, still researching