this post was submitted on 30 Apr 2025
1 points (100.0% liked)

NodeBB Development

0 readers
1 users here now

Stay tuned here to hear more about new releases and features of NodeBB!


This is a forum category containing topical discussion. You can start new discussions by mentioning this category.

founded 5 months ago
 

We're happy to announce the release of NodeBB v4.3.0, which contains native support for remote categories, bringing better integration with other NodeBB forums, WordPress, Lemmy, PieFed, mbin, and other "group-based" implementors on the ActivityPub network!

What does this mean? :thinking_face:

It means that starting with this release, you will be able to "browse" to other categories simply by searching for them in your /world page. Just like with regular categories, you can "track" or "watch" remote categories — the former will show up in your /unread page, and the latter will also send notifications on new topics.

Prior to this change, remote categories were rendered just like regular users, and there was some confusion over who was a user and who was a publisher.

The integration with blog platforms like WordPress also mean you'll be able to use NodeBB kind of like a feed reader, with built-in notifications when new content is received. We're hoping to also extend this to support Ghost as well :hand_with_index_and_middle_fingers_crossed:

Some examples of categories loaded remotely in this NodeBB:

da0f00e4-aeac-4b7b-bedd-8d20e2a7a7f7-image.png

9b2e5ab5-d2cc-46be-81aa-1e82057e0652-image.png

Other notable changes in v4.3.0

Chat allow/deny list :left_speech_bubble:

There was some desire for more fine-grained support for allow/deny lists for the chat system. This is now available in v4.3.0. Per @baris:

> Leaving allow list empty would mean anyone who is not in deny list can message you. > Leaving deny list empty would mean anyone who is in allow list can message you. > If both are empty everyone can message you. > Current restrictChat toggle can be turned into a toggle to disable chat completely. > Upgrade script can add the users following to the allow list if they have restrictChat turned on.

Show number of topic watchers :eyes:

You are now able to see the number of users watching a specific topic alongside the existing stats (posts, views, etc.)

80bc61e4-0bbd-4dce-ab3b-6ab9df2eb1b1-image.png

Accessibility updates

  • Avatar background colours are now selectable via keyboard navigation
  • Post drafts are now accessible via keyboard navigation

... and of course

  • Bug fixes and security updates
top 17 comments
sorted by: hot top controversial new old
[–] sweetp@community.nodebb.org 1 points 2 months ago (2 children)

@Julian thx!

but now im getting this error:

npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: nodebb@4.3.0
npm error Found: eslint@8.57.1
npm error node_modules/eslint
npm error   peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.3.0
npm error   node_modules/@eslint-community/eslint-utils
npm error     @eslint-community/eslint-utils@"^4.2.0" from eslint@8.57.1
npm error   peer eslint@"^7.32.0 || ^8.2.0" from eslint-config-airbnb-base@15.0.0
npm error   node_modules/eslint-config-airbnb-base
npm error     eslint-config-airbnb-base@"15.0.0" from eslint-config-nodebb@0.2.1
npm error     node_modules/eslint-config-nodebb
npm error       dev eslint-config-nodebb@"1.1.4" from the root project
npm error   3 more (eslint-config-nodebb, eslint-plugin-import, nodebb-plugin-2factor)
npm error
npm error Could not resolve dependency:
npm error dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Conflicting peer dependency: eslint@9.25.1
npm error node_modules/eslint
npm error   peer eslint@">=9.0.0" from @stylistic/eslint-plugin-js@4.2.0
npm error   node_modules/@stylistic/eslint-plugin-js
npm error     dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error .../.npm/_logs/2025-05-01T04_18_44_098Z-eresolve-report.txt
npm error A complete log of this run can be found in: .../.npm/_logs/2025-05-01T04_18_44_098Z-debug-0.log
Error installing dependencies!
message: Command failed: npm install --omit=dev
stdout: null
stderr: null
.../NodeBB/src/cli/package-install.js:138
		throw e;
		^

Error: Command failed: npm install --omit=dev
    at genericNodeError (node:internal/errors:983:15)
    at wrappedFn (node:internal/errors:537:14)
    at checkExecSyncError (node:child_process:882:11)
    at Object.execSync (node:child_process:954:15)
    at pkgInstall.installAll (.../NodeBB/src/cli/package-install.js:129:9)
    at Object. (.../NodeBB/src/cli/index.js:50:18)
    at Module._compile (node:internal/modules/cjs/loader:1734:14)
    at Object..js (node:internal/modules/cjs/loader:1899:10)
    at Module.load (node:internal/modules/cjs/loader:1469:32)
    at Function._load (node:internal/modules/cjs/loader:1286:12) {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 2626367,
  stdout: null,
  stderr: null
}
[–] frankm@community.nodebb.org 1 points 2 months ago

@sweetp Same error on my installation

npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: nodebb@4.3.0
npm error Found: eslint@8.57.1
npm error node_modules/eslint
npm error   peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.4.0
npm error   node_modules/@eslint-community/eslint-utils
npm error     @eslint-community/eslint-utils@"^4.2.0" from eslint@8.57.1
npm error   peer eslint@"^7.32.0 || ^8.2.0" from eslint-config-airbnb-base@15.0.0
npm error   node_modules/eslint-config-airbnb-base
npm error     eslint-config-airbnb-base@"15.0.0" from eslint-config-nodebb@0.2.1
npm error     node_modules/eslint-config-nodebb
npm error       dev eslint-config-nodebb@"1.1.4" from the root project
npm error   3 more (eslint-config-nodebb, eslint-plugin-import, nodebb-plugin-2factor)
npm error
npm error Could not resolve dependency:
npm error dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Conflicting peer dependency: eslint@9.25.1
npm error node_modules/eslint
npm error   peer eslint@">=9.0.0" from @stylistic/eslint-plugin-js@4.2.0
npm error   node_modules/@stylistic/eslint-plugin-js
npm error     dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /home/user_radforum/.npm/_logs/2025-05-01T08_35_32_095Z-eresolve-report.txt
npm error A complete log of this run can be found in: /home/user_radforum/.npm/_logs/2025-05-01T08_35_32_095Z-debug-0.log
Error installing dependencies!

If that's NodeBB 4.3.0 already, I think I've spotted a bug: BBcode mostly goes out as BBcode instead of converted into HTML which would then be rendered accordingly.

Here on Hubzilla, in-line code and code blocks are rendered as such. But at least headlines, lists, images, quotes and links aren't; instead, I see the raw BBcode with no formatting. Hubzilla uses BBcode for formatting itself, but internally, and it doesn't expect BBcode to come in via ActivityPub.

[–] baris@community.nodebb.org 1 points 2 months ago

Those having an issue with eslint, can just remove the node_modules folder in their nodebb folder and run ./nodebb upgrade again.

[–] sweetp@community.nodebb.org 1 points 2 months ago

@baris it's still crashing for me

$ rm -rf node_modules
$ ./nodebb upgrade
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: nodebb@4.3.0
npm error Found: eslint@8.57.1
npm error node_modules/eslint
npm error   peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.3.0
npm error   node_modules/@eslint-community/eslint-utils
npm error     @eslint-community/eslint-utils@"^4.2.0" from eslint@8.57.1
npm error   peer eslint@"^7.32.0 || ^8.2.0" from eslint-config-airbnb-base@15.0.0
npm error   node_modules/eslint-config-airbnb-base
npm error     eslint-config-airbnb-base@"15.0.0" from eslint-config-nodebb@0.2.1
npm error     node_modules/eslint-config-nodebb
npm error       dev eslint-config-nodebb@"1.1.4" from the root project
npm error   3 more (eslint-config-nodebb, eslint-plugin-import, nodebb-plugin-2factor)
npm error
npm error Could not resolve dependency:
npm error dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Conflicting peer dependency: eslint@9.25.1
npm error node_modules/eslint
npm error   peer eslint@">=9.0.0" from @stylistic/eslint-plugin-js@4.2.0
npm error   node_modules/@stylistic/eslint-plugin-js
npm error     dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error .../.npm/_logs/2025-05-01T13_28_21_731Z-eresolve-report.txt
npm error A complete log of this run can be found in: .../.npm/_logs/2025-05-01T13_28_21_731Z-debug-0.log
Error installing dependencies!
message: Command failed: npm install --omit=dev
stdout: null
stderr: null
.../NodeBB/src/cli/index.js:65
		throw e;
		^

Error: Command failed: npm install --omit=dev
    at genericNodeError (node:internal/errors:983:15)
    at wrappedFn (node:internal/errors:537:14)
    at checkExecSyncError (node:child_process:882:11)
    at Object.execSync (node:child_process:954:15)
    at pkgInstall.installAll (.../NodeBB/src/cli/package-install.js:129:9)
    at Object. (.../NodeBB/src/cli/index.js:18:19)
    at Module._compile (node:internal/modules/cjs/loader:1734:14)
    at Object..js (node:internal/modules/cjs/loader:1899:10)
    at Module.load (node:internal/modules/cjs/loader:1469:32)
    at Function._load (node:internal/modules/cjs/loader:1286:12) {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 2729523,
  stdout: null,
  stderr: null
}

Node.js v23.11.0
[–] baris@community.nodebb.org 1 points 2 months ago

Do you have eslint-config-airbnb-base in your package.json? We don't use that dependency anymore so it shouldn't be in package.json.

[–] sweetp@community.nodebb.org 1 points 2 months ago

@baris nope:

{
    "name": "nodebb",
    "license": "GPL-3.0",
    "description": "NodeBB Forum",
    "version": "4.3.0",
    "homepage": "https://www.nodebb.org/",
    "repository": {
        "type": "git",
        "url": "https://github.com/NodeBB/NodeBB/"
    },
    "main": "app.js",
    "scripts": {
        "start": "node loader.js",
        "lint": "eslint --cache ./nodebb .",
        "test": "nyc --reporter=html --reporter=text-summary mocha",
        "coverage": "nyc report --reporter=text-lcov > ./coverage/lcov.info",
        "coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
    },
    "husky": {
        "hooks": {
            "pre-commit": "npx lint-staged",
            "commit-msg": "npx commitlint -E HUSKY_GIT_PARAMS"
        }
    },
    "lint-staged": {
        "*.js": [
            "eslint --fix"
        ]
    },
    "dependencies": {
        "@adactive/bootstrap-tagsinput": "0.8.2",
        "@fontsource/inter": "5.2.5",
        "@fontsource/poppins": "5.2.5",
        "@fortawesome/fontawesome-free": "6.7.2",
        "@isaacs/ttlcache": "1.4.1",
        "[@nodebb](https://community.nodebb.org/user/nodebb)/spider-detector": "2.0.3",
        "@popperjs/core": "2.11.8",
        "@resvg/resvg-js": "2.6.2",
        "@socket.io/redis-adapter": "8.3.0",
        "@textcomplete/contenteditable": "0.1.13",
        "@textcomplete/core": "0.1.13",
        "@textcomplete/textarea": "0.1.13",
        "ace-builds": "1.40.1",
        "archiver": "7.0.1",
        "async": "3.2.6",
        "autoprefixer": "10.4.21",
        "bcryptjs": "3.0.2",
        "benchpressjs": "2.5.5",
        "body-parser": "2.2.0",
        "bootbox": "6.0.3",
        "bootstrap": "5.3.5",
        "bootswatch": "5.3.5",
        "chalk": "4.1.2",
        "chart.js": "4.4.9",
        "cli-graph": "3.2.2",
        "clipboard": "2.0.11",
        "commander": "13.1.0",
        "compare-versions": "6.1.1",
        "compression": "1.8.0",
        "connect-flash": "0.1.1",
        "connect-mongo": "5.1.0",
        "connect-multiparty": "2.2.0",
        "connect-pg-simple": "10.0.0",
        "connect-redis": "8.0.3",
        "cookie-parser": "1.4.7",
        "cron": "4.3.0",
        "cropperjs": "1.6.2",
        "csrf-sync": "4.1.0",
        "daemon": "1.1.0",
        "diff": "7.0.0",
        "esbuild": "0.25.3",
        "express": "4.21.2",
        "express-session": "1.18.1",
        "express-useragent": "1.0.15",
        "fetch-cookie": "3.1.0",
        "file-loader": "6.2.0",
        "fs-extra": "11.3.0",
        "graceful-fs": "4.2.11",
        "helmet": "7.2.0",
        "html-to-text": "9.0.5",
        "imagesloaded": "5.0.0",
        "ioredis": "5.6.1",
        "ipaddr.js": "2.2.0",
        "jquery": "3.7.1",
        "jquery-deserialize": "2.0.0",
        "jquery-form": "4.3.0",
        "jquery-serializeobject": "1.0.0",
        "jquery-ui": "1.14.1",
        "jsesc": "3.1.0",
        "json2csv": "5.0.7",
        "jsonwebtoken": "9.0.2",
        "lodash": "4.17.21",
        "logrotate-stream": "0.2.9",
        "lru-cache": "10.4.3",
        "mime": "3.0.0",
        "mkdirp": "3.0.1",
        "mongodb": "6.16.0",
        "morgan": "1.10.0",
        "mousetrap": "1.6.5",
        "multiparty": "4.2.3",
        "nconf": "0.13.0",
        "nodebb-plugin-2factor": "7.5.9",
        "nodebb-plugin-composer-default": "10.2.49",
        "nodebb-plugin-dbsearch": "6.2.15",
        "nodebb-plugin-emoji": "6.0.2",
        "nodebb-plugin-emoji-android": "4.1.1",
        "nodebb-plugin-imgur": "^4.1.0",
        "nodebb-plugin-markdown": "13.1.1",
        "nodebb-plugin-mentions": "4.7.3",
        "nodebb-plugin-ntfy": "1.7.7",
        "nodebb-plugin-soundpack-default": "^3.0.1",
        "nodebb-plugin-spam-be-gone": "2.3.1",
        "nodebb-plugin-web-push": "0.7.3",
        "nodebb-rewards-essentials": "1.0.1",
        "nodebb-theme-harmony": "2.1.11",
        "nodebb-theme-harmony-sweetp": "git+https://git@github.com/sweetppro/nodebb-theme-sweetp.git#master",
        "nodebb-theme-lavender": "7.1.18",
        "nodebb-theme-peace": "2.2.40",
        "nodebb-theme-persona": "14.1.9",
        "nodebb-theme-slick": "2.0.2",
        "nodebb-theme-vanilla": "12.1.19",
        "nodebb-widget-essentials": "7.0.36",
        "nodemailer": "6.10.1",
        "nprogress": "0.2.0",
        "passport": "0.7.0",
        "passport-http-bearer": "1.0.1",
        "passport-local": "1.0.0",
        "pg": "8.15.6",
        "pg-cursor": "2.14.6",
        "postcss": "8.5.3",
        "postcss-clean": "1.2.0",
        "progress-webpack-plugin": "1.0.16",
        "prompt": "1.3.0",
        "rimraf": "5.0.10",
        "rss": "1.2.2",
        "rtlcss": "4.3.0",
        "sanitize-html": "2.16.0",
        "sass": "1.87.0",
        "satori": "0.12.2",
        "semver": "7.7.1",
        "serve-favicon": "2.5.0",
        "sharp": "0.32.6",
        "sitemap": "8.0.0",
        "socket.io": "4.8.1",
        "socket.io-client": "4.8.1",
        "sortablejs": "1.15.6",
        "spdx-license-list": "6.10.0",
        "terser-webpack-plugin": "5.3.14",
        "textcomplete": "0.18.2",
        "textcomplete.contenteditable": "0.1.1",
        "timeago": "1.6.7",
        "tinycon": "0.6.8",
        "toobusy-js": "0.5.1",
        "tough-cookie": "5.1.2",
        "validator": "13.15.0",
        "webpack": "5.99.7",
        "webpack-merge": "6.0.1",
        "winston": "3.17.0",
        "workerpool": "9.2.0",
        "xml": "1.0.1",
        "xregexp": "5.1.2",
        "yargs": "17.7.2",
        "zxcvbn": "4.4.2"
    },
    "devDependencies": {
        "@apidevtools/swagger-parser": "10.1.0",
        "@commitlint/cli": "19.8.0",
        "@commitlint/config-angular": "19.8.0",
        "coveralls": "3.1.1",
        "@eslint/js": "9.25.1",
        "@stylistic/eslint-plugin-js": "4.2.0",
        "eslint-config-nodebb": "1.1.4",
        "eslint-plugin-import": "2.31.0",
        "grunt": "1.6.1",
        "grunt-contrib-watch": "1.1.0",
        "husky": "8.0.3",
        "jsdom": "26.1.0",
        "lint-staged": "15.5.1",
        "mocha": "11.1.0",
        "mocha-lcov-reporter": "1.3.0",
        "mockdate": "3.0.5",
        "nyc": "17.1.0",
        "smtp-server": "3.13.6"
    },
    "bugs": {
        "url": "https://github.com/NodeBB/NodeBB/issues"
    },
    "engines": {
        "node": ">=18"
    },
    "maintainers": [
        {
            "name": "Julian Lam",
            "email": "julian@nodebb.org",
            "url": "https://github.com/julianlam"
        },
        {
            "name": "Barış Soner Uşaklı",
            "email": "baris@nodebb.org",
            "url": "https://github.com/barisusakli"
        },
        {
            "name": "Barış Soner Uşaklı",
            "email": "baris@nodebb.org",
            "url": "https://github.com/barisusakli"
        }
    ],
    "nyc": {
        "exclude": [
            "src/upgrades/*",
            "test/*"
        ]
    },
    "resolutions": {
        "*/jquery": "3.7.1"
    },
    "optionalDependencies": {
        "sass-embedded": "1.87.0"
    }
}
[–] sweetp@community.nodebb.org 1 points 2 months ago

@baris same issue unfortunately:

Dependencies outdated or not yet installed.
Installing them now...

npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: nodebb@4.3.0
npm error Found: eslint@8.57.1
npm error node_modules/eslint
npm error   peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.3.0
npm error   node_modules/@eslint-community/eslint-utils
npm error     @eslint-community/eslint-utils@"^4.2.0" from eslint@8.57.1
npm error   peer eslint@"^7.32.0 || ^8.2.0" from eslint-config-airbnb-base@15.0.0
npm error   node_modules/eslint-config-airbnb-base
npm error     eslint-config-airbnb-base@"15.0.0" from eslint-config-nodebb@0.2.1
npm error     node_modules/eslint-config-nodebb
npm error       dev eslint-config-nodebb@"1.1.4" from the root project
npm error   3 more (eslint-config-nodebb, eslint-plugin-import, nodebb-plugin-2factor)
npm error
npm error Could not resolve dependency:
npm error dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Conflicting peer dependency: eslint@9.25.1
npm error node_modules/eslint
npm error   peer eslint@">=9.0.0" from @stylistic/eslint-plugin-js@4.2.0
npm error   node_modules/@stylistic/eslint-plugin-js
npm error     dev @stylistic/eslint-plugin-js@"4.2.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error .../.npm/_logs/2025-05-01T13_56_37_050Z-eresolve-report.txt
npm error A complete log of this run can be found in: .../.npm/_logs/2025-05-01T13_56_37_050Z-debug-0.log
Error installing dependencies!
message: Command failed: npm install --omit=dev
stdout: null
stderr: null
.../NodeBB/src/cli/package-install.js:138
		throw e;
		^

Error: Command failed: npm install --omit=dev
    at genericNodeError (node:internal/errors:983:15)
    at wrappedFn (node:internal/errors:537:14)
    at checkExecSyncError (node:child_process:882:11)
    at Object.execSync (node:child_process:954:15)
    at pkgInstall.installAll (.../NodeBB/src/cli/package-install.js:129:9)
    at Object. (.../NodeBB/src/cli/index.js:50:18)
    at Module._compile (node:internal/modules/cjs/loader:1734:14)
    at Object..js (node:internal/modules/cjs/loader:1899:10)
    at Module.load (node:internal/modules/cjs/loader:1469:32)
    at Function._load (node:internal/modules/cjs/loader:1286:12) {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 2732894,
  stdout: null,
  stderr: null
}

Node.js v23.11.0
[–] baris@community.nodebb.org 1 points 2 months ago (1 children)

Try removing package-lock.json as well see what happens.

npm r eslint-config-airbnb-base
npm r eslint-config-nodebb
rm package-lock.json
rm -rf node_modules/
npm i
[–] spla@forum.appy.cat 3 points 2 months ago

@baris@community.nodebb.org thank you, that worked for me too

[–] baris@community.nodebb.org 1 points 2 months ago

What happens when you try the below

npm r eslint-config-airbnb-base
npm r eslint-config-nodebb
rm -rf node_modules/
npm i
[–] sweetp@community.nodebb.org 1 points 2 months ago* (last edited 2 months ago)

@baris that worked! :rocket: :)

[–] sweetp@community.nodebb.org 1 points 2 months ago (1 children)

@Julian upgrading via

git checkout v4.x
git merge origin/v4.x

only updates to v4.2.2

[–] julian@community.nodebb.org 1 points 2 months ago* (last edited 2 months ago) (1 children)

@sweetp did you run git fetch?

Edit: Ah I figured out why, going to re-release

[–] spla@forum.appy.cat 1 points 2 months ago

@julian@community.nodebb.org I'm getting this error when running ./nodebb upgrade:

npm error Could not resolve dependency: npm error dev @stylistic/eslint-plugin-js@"4.2.0" from the root project Error installing dependencies! message: Command failed: npm install --omit=dev stdout: null stderr: null /home/nodebb/nodebb/src/cli/package-install.js:138 throw e; ^

[–] frankm@community.nodebb.org 1 points 2 months ago

For me this was enough to upgrade my test installation.

rm package-lock.json