Skip to content

Re: Federation issues

Uncategorized
  • @julian Some of the users I am following (or so it reads on each user's page):

    @ju@pol.social (Mastodon)
    @kodmalopolskie@soc.citizen4.eu (Friendica)
    @oko_press@101010.pl
    @kravietz@agora.echelon.pl
    @julian@community.nodebb.org
    https://community.nodebb.org/post/102755 – imported by link (can't post remotely)

    Nothing special happens when running dev mode. Just some plugin incompatibilities get printed:

    2025-02-15T05:36:53.950Z [4567/3360] - warn: [plugins/load] The following plugins may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing. In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset -p PLUGINNAME to disable it.

    • nodebb-plugin-soundpack-default
    • nodebb-plugin-emoji-android
    • nodebb-widget-essentials
    • nodebb-rewards-essentials
    • nodebb-plugin-who-read-it
    • nodebb-plugin-question-and-answer
    • nodebb-plugin-poll
    • nodebb-plugin-dbsearch
    • nodebb-plugin-custom-pages
    • nodebb-plugin-composer-default

    I've been able to npm unl / npm i nodebb-theme-harmony, but I wasn't successful with plugin-composer-default or plugin-custom-pages, so I gave up on the rest of them. Every time I ran npm I saw a warning that my nodejs was outside requirements (probably too new, if I got it right).

    ./nodebb log
    
        ../../../bootstrap/scss/forms/_form-control.scss 40:7  @import
        bootstrap/scss/_forms.scss 3:9                         @import
        - 19:9                                                 root stylesheet
    
    WARNING: The keyword 'none' must be used as a single argument.
        ../../../bootstrap/scss/mixins/_box-shadow.scss 10:9  box-shadow()
        ../../../bootstrap/scss/forms/_form-select.scss 32:7  @import
        bootstrap/scss/_forms.scss 4:9                        @import
        - 19:9                                                root stylesheet
    
    ./nodebb build
      started
    2025-02-15T05:33:08.136Z [4567/2898] - info: [build] Building in parallel mode
    2025-02-15T05:33:08.138Z [4567/2898] - info: [build]         plugin static dirs  build started
    2025-02-15T05:33:08.139Z [4567/2898] - info: [build]          requirejs modules  build started
    2025-02-15T05:33:08.139Z [4567/2898] - info: [build]           client js bundle  build started
    2025-02-15T05:33:08.140Z [4567/2898] - info: [build]            admin js bundle  build started
    2025-02-15T05:33:08.140Z [4567/2898] - info: [build]         client side styles  build started
    2025-02-15T05:33:08.140Z [4567/2898] - info: [build] admin control panel styles  build started
    2025-02-15T05:33:08.142Z [4567/2898] - info: [build]                  templates  build started
    2025-02-15T05:33:08.142Z [4567/2898] - info: [build]                  languages  build started
    2025-02-15T05:33:08.665Z [4567/2898] - info: [build]         plugin static dirs  build completed in 0.527sec
    2025-02-15T05:33:09.350Z [4567/2898] - info: [build]           client js bundle  build completed in 1.211sec
    2025-02-15T05:33:09.368Z [4567/2898] - info: [build]            admin js bundle  build completed in 1.228sec
    2025-02-15T05:33:11.753Z [4567/2898] - info: [build]                  languages  build completed in 3.611sec
    2025-02-15T05:33:11.807Z [4567/2898] - info: [build]          requirejs modules  build completed in 3.668sec
    2025-02-15T05:33:11.807Z [4567/2898] - info: [build] Bundling with Webpack.
    [10%] building (0/0 modules)
    2025-02-15T05:33:13.983Z [4567/2898] - info: [build]         client side styles  build completed in 5.842sec
    [10%] building (398/608 modules)
    2025-02-15T05:33:25.087Z [4567/2898] - info: [build] Bundling took 10113 ms
    2025-02-15T05:33:25.089Z [4567/2898] - info: [build] Asset compilation successful. Completed in 16.951sec.
    
    sudo systemctl status nodebb
    ● nodebb.service - NodeBB
         Loaded: loaded (/etc/systemd/system/nodebb.service; enabled; vendor preset: enabled)
         Active: active (running) since Sat 2025-02-15 06:39:50 CET; 12s ago
           Docs: https://docs.nodebb.org
        Process: 3477 ExecStart=/usr/bin/node loader.js (code=exited, status=0/SUCCESS)
       Main PID: 3488 (node)
          Tasks: 36 (limit: 9348)
         Memory: 375.1M
            CPU: 20.494s
         CGroup: /system.slice/nodebb.service
                 ├─3488 /usr/bin/node /home/xxxxxxxx/nodebb/loader.js
                 ├─3499 /usr/bin/node /home/xxxxxxxx/nodebb/app.js
                 └─3527 /usr/bin/node /home/xxxxxxxx/nodebb/src/meta/minifier.js
    
    Feb 15 06:39:50 sv systemd[1]: Starting NodeBB...
    Feb 15 06:39:50 sv systemd[1]: nodebb.service: Can't open PID file /home/xxxxxxxx/nodebb/pidfile (yet?) after start: Operation not permitted
    Feb 15 06:39:50 sv systemd[1]: Started NodeBB.
    

    In trying to fix things I have made changes to nginx reverse proxy configuration, but I seem to have made things even worse, which is not a bad thing, because in that may lie the solution.
    I'll be happy to provide log and config files by a secure channel of your choosing.

  • @julian
    Here you are some AP errors from a few days ago, before I made any changes.

    2025-02-13T06:25:09.462Z [4567/24115] - error: [activitypub/api] Error
    Error: [[error:activitypub.invalid-id]]
        at /home/xxxxxxxx/nodebb/src/api/activitypub.js:42:9
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.follow (/home/xxxxxxxx/nodebb/src/api/activitypub.js:30:5)
        at async Categories.follow (/home/xxxxxxxx/nodebb/src/controllers/write/categories.js:117:2)
        at async /home/xxxxxxxx/nodebb/src/routes/helpers.js:80:5
    2025-02-13T06:28:56.552Z [4567/24115] - error: [activitypub/api] Error
    Error: [[error:activitypub.invalid-id]]
        at /home/xxxxxxxx/nodebb/src/api/activitypub.js:42:9
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.follow (/home/xxxxxxxx/nodebb/src/api/activitypub.js:30:5)
        at async Categories.follow (/home/xxxxxxxx/nodebb/src/controllers/write/categories.js:117:2)
        at async /home/xxxxxxxx/nodebb/src/routes/helpers.js:80:5
    2025-02-13T06:33:19.290Z [4567/24115] - error: [activitypub/api] Error
    TypeError: Invalid URL
        at new URL (node:internal/url:804:36)
        at /home/xxxxxxxx/nodebb/src/activitypub/index.js:100:25
        at Array.filter ()
        at ActivityPub.resolveInboxes (/home/xxxxxxxx/nodebb/src/activitypub/index.js:99:13)
        at ActivityPub.send (/home/xxxxxxxx/nodebb/src/activitypub/index.js:373:36)
        at /home/xxxxxxxx/nodebb/src/api/activitypub.js:51:21
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.follow (/home/xxxxxxxx/nodebb/src/api/activitypub.js:30:5)
        at async Categories.follow (/home/xxxxxxxx/nodebb/src/controllers/write/categories.js:117:2)
        at async /home/xxxxxxxx/nodebb/src/routes/helpers.js:80:5
    2025-02-13T06:37:05.361Z [4567/24115] - error: [activitypub/api] Error
    Error: [[error:activitypub.invalid-id]]
        at /home/xxxxxxxx/nodebb/src/api/activitypub.js:42:9
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.follow (/home/xxxxxxxx/nodebb/src/api/activitypub.js:30:5)
        at async Categories.follow (/home/xxxxxxxx/nodebb/src/controllers/write/categories.js:117:2)
        at async /home/xxxxxxxx/nodebb/src/routes/helpers.js:80:5
    2025-02-13T06:37:20.692Z [4567/24115] - error: [activitypub/api] Error
    Error: [[error:activitypub.invalid-id]]
        at /home/xxxxxxxx/nodebb/src/api/activitypub.js:42:9
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.follow (/home/xxxxxxxx/nodebb/src/api/activitypub.js:30:5)
        at async Categories.follow (/home/xxxxxxxx/nodebb/src/controllers/write/categories.js:117:2)
        at async /home/xxxxxxxx/nodebb/src/routes/helpers.js:80:5
    [cluster] Restarting...
    
  • My forum.n66.pl-proxy.conf is now very similar to official recommendations and doesn't seem to have any effect on AP following/sharing capabilities.
    I am unaware of server tweaks to facilitate AP following/sharing.

  • @Jakub-Urbanowicz your ActivityPub user is resolving, but the URLs are incorrect.

    Please update your config.json so that it properly reflects your site's url, it should be https://forum.n66.pl, with the https

  • Hi! I am also having federation issues on a fresh install of 4.0.3. For example, I can not see the content of all the posts here including the original post. I think I see the content of around half of the posts. I tried to reply on another post on community.nodebb.org, but after ten minutes it is still not visible at community.nodebb.org.

    Ironically, I am not sure this reply will reach community.nodebb.org either.

  • @reynir OK great! This one went through. However, I still only see about half of the posts.

    (Finally, sorry for barging in on your topic - perhaps we can fork the topic somehow)

  • @reynir@forum.fedi.dk the post content being blank issue might be an unrelated bug. I'm still trying to figure out that one.

  • @julian@community.nodebb.org thanks for the reply! Is there a tracking issue I can subscribe to?

    (I am having a lot of fun with our new NodeBB instance btw!)

  • @reynir@forum.fedi.dk there wasn't, so I added one:

  • @julian That and upgrading to 4.0.4 helped a little – at least direct messages are coming through, but following still not working in either direction. Following seems to be set up correctly and confirmed on both the forum and other AP instances. Testing with Friendica and Mastodon. Only the messages are stopped somewhere.
    ekran_2025-02-17_23-19-00.png ekran_2025-02-17_23-31-10.png
    2025-02-18_05-17-53.png 2025-02-18_05-21-27.png

    Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
  • @julian I am now unable to import threads using the search area. It worked a few days ago (before 4.0.4) and maybe before changing http to https in config.json. Now I can only follow users without actually following their content (no following is operational). While importing threads worked, it was still useless, because I couldn't join in on conversations.
    Yesterday I experimented with different proxy_pass values in my nginx proxy.conf file:

    Please tell me you know how to fix it. 🙄

  • @Jakub-Urbanowicz http://forum_n66_pl this suggests there's an upstream block.

    Can you paste your entire nginx config?

  • I am afraid I hit a wall, No idea what else I could do short of reinstalling the whole thing.

  • @julian just a moment; it's a bit complex, because configuration is divided into several files.

  • @Jakub-Urbanowicz http://forum_n66_pl this suggests there's an upstream block.

    Can you paste your entire nginx config?

    @julian Please find attached a summary of my nginx settings.
    The back-end installation of NodeBB was done manually in a home directory, while the reverse proxy is part of on automated server solution called Webinoly. It is typically used for self-hosting WordPress, but not only. It worked pretty well before the advent of Federation capabilities, so I wasn't bothered. I just uncommented some proxy headers in /etc/nginx/apps.d/forum.n66.pl-proxy.conf and added "X-NginX-Proxy true" as per documentation. Mongodb (7.0) is provided from a deb repository as is nodejs.
    I'm not sure why the web root directory as mentioned in /etc/nginx/sites-available/forum.n66.pl does not exist (root /var/www/forum.n66.pl/htdocs). I don't even have /var/www/forum.n66.pl/.
    Thank you for helping me.

  • @julian Please find attached a summary of my nginx settings.
    The back-end installation of NodeBB was done manually in a home directory, while the reverse proxy is part of on automated server solution called Webinoly. It is typically used for self-hosting WordPress, but not only. It worked pretty well before the advent of Federation capabilities, so I wasn't bothered. I just uncommented some proxy headers in /etc/nginx/apps.d/forum.n66.pl-proxy.conf and added "X-NginX-Proxy true" as per documentation. Mongodb (7.0) is provided from a deb repository as is nodejs.
    I'm not sure why the web root directory as mentioned in /etc/nginx/sites-available/forum.n66.pl does not exist (root /var/www/forum.n66.pl/htdocs). I don't even have /var/www/forum.n66.pl/.
    Thank you for helping me.

    @Jakub-Urbanowicz whatever your nginx config, if it was working before, it should not require any changes to support federation.

    I would revert back to a working config if you're seeing issues with regular usage of NodeBB. Otherwise if the site is loading fine then tweaking nginx (probably) won't fix anything and the problem likely lies elsewhere.

    I will look into your configs tomorrow.

  • A way to disable plugin installation via ACP?

    Uncategorized
    1
    0 Stimmen
    1 Beiträge
    0 Aufrufe
    Niemand hat geantwortet
  • Confirmed.

    Uncategorized
    2
    1
    0 Stimmen
    2 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    @atomicpoet@atomicpoet.org You can do the same on NodeBB as well
  • nodebb-widget-essentials

    Uncategorized
    4
    0 Stimmen
    4 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    @Марк-Дакаскос they are not errors, you can ignore them.
  • Really loving #NodeBB so far.

    Uncategorized
    2
    0 Stimmen
    2 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    @deadsuperhero@social.wedistribute.org glad to hear it! I'm planning to continue working on improving our ActivityPub integration in 2025, hopefully with NLNet funding again
  • Yay!

    Uncategorized
    2
    0 Stimmen
    2 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    @deadsuperhero@social.wedistribute.org sorry it took so long to get around to it!
  • upload button

    Uncategorized
    5
    2
    0 Stimmen
    5 Beiträge
    0 Aufrufe
    baris@community.nodebb.orgB
    This is released as part of 4.0.5
  • FEP 7888 serving up an OrderedCollection

    Uncategorized
    34
    0 Stimmen
    34 Beiträge
    15 Aufrufe
    julian@community.nodebb.orgJ
    @trwnh@mastodon.social given that one way a context collection is discovered is via reference via a collection member itself, that's one way to define it. Admittedly, direct access to a context collection is also a legitimate use case (e.g. a NodeBB topic URL itself is the context collection), so something more explicit might be required.
  • 1b12 vs Guppe groups

    Uncategorized
    14
    0 Stimmen
    14 Beiträge
    12 Aufrufe
    julian@community.nodebb.orgJ
    > a PR to Mastodon @angus@socialhub.activitypub.rocks I would hold off on that in favour of a PR to introduce context serving and consumption (a la 7888). There are still some issues to work through, but I intend to have it upstreamed (via @frequency@frequency.app) once we settle on a semi-final implementation.