Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Pixelfed

    Announcements
    pixelfed federation
    7
    45
    1432
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • doodlemania2
      doodlemania2 App Dev @murgero last edited by

      @murgero said in Pixelfed:

      @hyper@social.mobiledads.live

      following new alias now!

      1 Reply Last reply Reply Quote 1
      • murgero
        murgero App Dev last edited by

        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?

        --
        https://urgero.org
        ~ Professional Nerd. Freelance Programmer. ~
        Matrix: @murgero:urgero.org

        jdaviescoates 1 Reply Last reply Reply Quote 1
        • scooke
          scooke last edited by

          You can add me too! @scooke@lenote.eu.

          A life lived in fear is a life half-lived

          1 Reply Last reply Reply Quote 2
          • jdaviescoates
            jdaviescoates @murgero last edited by

            @murgero said in Pixelfed:

            I also just sent out a status update via mastodon so can any pixelfed users report if they see it?

            Can't see it.

            I use Cloudron with Gandi & Hetzner

            1 Reply Last reply Reply Quote 0
            • scooke
              scooke last edited by

              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.

              A life lived in fear is a life half-lived

              murgero 1 Reply Last reply Reply Quote 1
              • doodlemania2
                doodlemania2 App Dev last edited by

                While they use the same protocol, MD and PF are different so statuses I wouldn't think would share cross tools. No?

                murgero 1 Reply Last reply Reply Quote 0
                • murgero
                  murgero App Dev @scooke last edited by

                  @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:
                  d851cc10-37a3-49a3-8c87-258b252e5e04-image.png (Not my image)

                  --
                  https://urgero.org
                  ~ Professional Nerd. Freelance Programmer. ~
                  Matrix: @murgero:urgero.org

                  1 Reply Last reply Reply Quote 0
                  • murgero
                    murgero App Dev @doodlemania2 last edited by murgero

                    @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 more

                    All 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

                    --
                    https://urgero.org
                    ~ Professional Nerd. Freelance Programmer. ~
                    Matrix: @murgero:urgero.org

                    1 Reply Last reply Reply Quote 2
                    • scooke
                      scooke last edited by

                      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.

                      A life lived in fear is a life half-lived

                      murgero 1 Reply Last reply Reply Quote 1
                      • murgero
                        murgero App Dev @scooke last edited by

                        @scooke said in Pixelfed:

                        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.

                        --
                        https://urgero.org
                        ~ Professional Nerd. Freelance Programmer. ~
                        Matrix: @murgero:urgero.org

                        girish scooke 2 Replies Last reply Reply Quote -1
                        • girish
                          girish Staff @murgero last edited by

                          @murgero said in Pixelfed:

                          The issue here is federation is broken

                          Do you know what is needed in the Cloudron package to fix this? Or is this an upstream app issue? I couldn't really find any information about pixelfed + federation on their site. If there is a link, I would love to see it.

                          murgero 1 Reply Last reply Reply Quote 0
                          • scooke
                            scooke @murgero last edited by

                            @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.

                            A life lived in fear is a life half-lived

                            1 Reply Last reply Reply Quote 1
                            • murgero
                              murgero App Dev @girish last edited by

                              @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

                              --
                              https://urgero.org
                              ~ Professional Nerd. Freelance Programmer. ~
                              Matrix: @murgero:urgero.org

                              1 Reply Last reply Reply Quote 1
                              • doodlemania2
                                doodlemania2 App Dev last edited by nebulon

                                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: [
                                ]
                                }
                                
                                1 Reply Last reply Reply Quote 0
                                • doodlemania2
                                  doodlemania2 App Dev last edited by

                                  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!
                                  a27f43e5-79e9-48f1-b26d-53be2b76676c-image.png

                                  murgero 1 Reply Last reply Reply Quote 1
                                  • murgero
                                    murgero App Dev @doodlemania2 last edited by

                                    @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 🙂

                                    --
                                    https://urgero.org
                                    ~ Professional Nerd. Freelance Programmer. ~
                                    Matrix: @murgero:urgero.org

                                    1 Reply Last reply Reply Quote 0
                                    • doodlemania2
                                      doodlemania2 App Dev last edited by

                                      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

                                      1 Reply Last reply Reply Quote 2
                                      • doodlemania2
                                        doodlemania2 App Dev last edited by

                                        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.

                                        1 Reply Last reply Reply Quote 1
                                        • S
                                          stantropics last edited by

                                          Looks like federation works here. Some people are following me, those should see some pictures.
                                          @doodlemania2 Let me know if I can help debugging.

                                          doodlemania2 1 Reply Last reply Reply Quote 1
                                          • doodlemania2
                                            doodlemania2 App Dev @stantropics last edited by

                                            @stantropics Not able to see anyone else's posts but my own. Still tinkering with stuff but would appreciate any assistance!

                                            1 Reply Last reply Reply Quote 2
                                            • B
                                              blavkm last edited by

                                              @doodlemania2 said in Pixelfed:

                                              social.mobiledads.live

                                              How to change the logo?

                                              scooke 1 Reply Last reply Reply Quote 0
                                              • doodlemania2
                                                doodlemania2 App Dev last edited by doodlemania2

                                                I seem to be up and going - I'm "Tooting" and "Pixelfedding" between my two instances on different servers. All appears well. cc: @girish

                                                1 Reply Last reply Reply Quote 0
                                                • scooke
                                                  scooke @blavkm last edited by

                                                  @blavkm said in Pixelfed:

                                                  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.

                                                  A life lived in fear is a life half-lived

                                                  1 Reply Last reply Reply Quote 0
                                                  • girish
                                                    girish Staff last edited by

                                                    @doodlemania2 So the package is good to marked as stable as-is? Any notes for the documentation?

                                                    1 Reply Last reply Reply Quote 0
                                                    • doodlemania2
                                                      doodlemania2 App Dev last edited by

                                                      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!

                                                      1 Reply Last reply Reply Quote 1
                                                      • doodlemania2
                                                        doodlemania2 App Dev last edited by

                                                        @girish - this is ready! Only last minute change you might consider is moving .env to /app/data like other apps recently.

                                                        1 Reply Last reply Reply Quote 2
                                                        • girish
                                                          girish Staff last edited by girish

                                                          @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.

                                                          1 Reply Last reply Reply Quote 0
                                                          • doodlemania2
                                                            doodlemania2 App Dev last edited by

                                                            might have committed directly to master teehee

                                                            1 Reply Last reply Reply Quote 3
                                                            • girish
                                                              girish Staff last edited by

                                                              @doodlemania2 Ah, thanks a lot! I will make a new release shortly.

                                                              1 Reply Last reply Reply Quote 0
                                                              • girish
                                                                girish Staff last edited by

                                                                I have added tests and marked pixelfed as stable. Thanks all for testing!

                                                                1 Reply Last reply Reply Quote 3
                                                                • First post
                                                                  Last post
                                                                Powered by NodeBB