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


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. Announcements
  3. Pixelfed

Pixelfed

Scheduled Pinned Locked Moved Announcements
pixelfedfederation
45 Posts 7 Posters 31.3k Views 7 Watching
  • 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.
  • scookeS scooke

    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.

    murgeroM Offline
    murgeroM Offline
    murgero
    App Dev
    wrote on last edited by
    #25

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

    girishG scookeS 2 Replies Last reply
    -1
    • murgeroM murgero

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

      girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #26

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

      murgeroM 1 Reply Last reply
      0
      • murgeroM murgero

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

        scookeS Offline
        scookeS Offline
        scooke
        wrote on last edited by
        #27

        @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
        1
        • girishG girish

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

          murgeroM Offline
          murgeroM Offline
          murgero
          App Dev
          wrote on last edited by
          #28

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

          1 Reply Last reply
          1
          • doodlemania2D Offline
            doodlemania2D Offline
            doodlemania2
            App Dev
            wrote on last edited by nebulon
            #29

            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
            0
            • doodlemania2D Offline
              doodlemania2D Offline
              doodlemania2
              App Dev
              wrote on last edited by
              #30

              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

              murgeroM 1 Reply Last reply
              1
              • doodlemania2D doodlemania2

                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

                murgeroM Offline
                murgeroM Offline
                murgero
                App Dev
                wrote on last edited by
                #31

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

                1 Reply Last reply
                0
                • doodlemania2D Offline
                  doodlemania2D Offline
                  doodlemania2
                  App Dev
                  wrote on last edited by
                  #32

                  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
                  2
                  • doodlemania2D Offline
                    doodlemania2D Offline
                    doodlemania2
                    App Dev
                    wrote on last edited by
                    #33

                    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
                    1
                    • S Offline
                      S Offline
                      stantropics
                      wrote on last edited by
                      #34

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

                      doodlemania2D 1 Reply Last reply
                      1
                      • S stantropics

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

                        doodlemania2D Offline
                        doodlemania2D Offline
                        doodlemania2
                        App Dev
                        wrote on last edited by
                        #35

                        @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
                        2
                        • B Offline
                          B Offline
                          blavkm
                          wrote on last edited by
                          #36

                          @doodlemania2 said in Pixelfed:

                          social.mobiledads.live

                          How to change the logo?

                          scookeS 1 Reply Last reply
                          0
                          • doodlemania2D Offline
                            doodlemania2D Offline
                            doodlemania2
                            App Dev
                            wrote on last edited by doodlemania2
                            #37

                            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
                            0
                            • B blavkm

                              @doodlemania2 said in Pixelfed:

                              social.mobiledads.live

                              How to change the logo?

                              scookeS Offline
                              scookeS Offline
                              scooke
                              wrote on last edited by
                              #38

                              @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
                              0
                              • girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #39

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

                                1 Reply Last reply
                                0
                                • doodlemania2D Offline
                                  doodlemania2D Offline
                                  doodlemania2
                                  App Dev
                                  wrote on last edited by
                                  #40

                                  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
                                  1
                                  • doodlemania2D Offline
                                    doodlemania2D Offline
                                    doodlemania2
                                    App Dev
                                    wrote on last edited by
                                    #41

                                    @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
                                    2
                                    • girishG Offline
                                      girishG Offline
                                      girish
                                      Staff
                                      wrote on last edited by girish
                                      #42

                                      @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
                                      0
                                      • doodlemania2D Offline
                                        doodlemania2D Offline
                                        doodlemania2
                                        App Dev
                                        wrote on last edited by
                                        #43

                                        might have committed directly to master teehee

                                        1 Reply Last reply
                                        3
                                        • girishG Offline
                                          girishG Offline
                                          girish
                                          Staff
                                          wrote on last edited by
                                          #44

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

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search