Pixelfed
-
@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.
-
@girish I think webfinger on the root domain may help out here. But I am not 100% versed in ActivityPub. That said, there is a reported federation issue when using activitypub upstream: https://github.com/pixelfed/pixelfed/issues/2221
-
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: [ ] }
-
@doodlemania2 Yes I did reply to the pic saying I saw it, and gave a like too - hopefully good for catching something in the logs
-
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
-
i installed a mastodon instance and am going to try to "talk between them" to speed debugging up some ... just an FYI to any watchers out there.
-
Looks like federation works here. Some people are following me, those should see some pictures.
@doodlemania2 Let me know if I can help debugging. -
@stantropics Not able to see anyone else's posts but my own. Still tinkering with stuff but would appreciate any assistance!
-
social.mobiledads.live
This seems to have the clearest explanation, especially the parts near the bottom: https://discourse.joinmastodon.org/t/how-to-replace-logos/1553/15
But since this is becoming more of a Mastodon thread rather than purely Pixelfed, maybe you could repost as a new topic.
-
I'm going to capture a few more notes just to make sure and might even throw together an FAQ - will offer a PR to the POSTINSTALL.md stuff ASAP!
-
@doodlemania2 Did you make a PR? I am not seeing it at https://git.cloudron.io/cloudron/pixelfed-app/-/merge_requests
Also pixelfed already has a file at
/add/data/env.production
. -
might have committed directly to master teehee