Mastodon

2240 readers
1 users here now

The project: https://github.com/mastodon/mastodon

Mastodon instance affiliated with Lemmy.World: https://mastodon.world/

Discuss the Mastodon platform here. Follow the lemmy.world rules.

founded 2 years ago
MODERATORS
1
 
 

News from the Mastodon engineering team for March 2025 - including some big changes to the main code, updates to the mobile apps, Fediscovery progress, and the end of support for Mastodon 4.1.

2
4
submitted 1 week ago* (last edited 1 week ago) by [email protected] to c/[email protected]
 
 

SOLUTION IN COMMENTS (by @just_[email protected])

You have a dependency discrepancy with your local node modules and your global. You should be running this in a node virtual environment so all of the local projects dependencies don’t conflict with global.

https://stackoverflow.com/questions/3653495/is-there-a-virtual-environment-for-node-js

https://www.develves.net/blogs/asd/2016-04-28-using-virtual-environments-nodejs/

I have searched around for answers to this, but so far, the solutions I found and tried have not been working for me. Thankfully, the update isn't that critical, so time is not of the essence as of now. But I fear, the problem will only persist.

So, bit of a headscratcher: I am following the guide to upgrade (no Docker) from here.

Simple enough, right? Sadly, I keep getting:

~/live$ RAILS_ENV=production bundle exec rails assets:precompile
I, [2025-04-03T20:30:30.072648 #981372]  INFO -- : [dotenv] Loaded .env.production
Mastodon and Webpacker requires Yarn ">=4 <5" and you are using 1.22.22
Exiting!

So, the proposed solution? Using corepack as intended. That, at first, upon entering "corpack prepare" and "corepack enable" in succession, seemed to run silently and without errors/warnings.

But it changed nothing at all for the error message. Prompting me to search around, haphazardly try to apply fixes, trying to remove and reinstall yarn, "the usual". My last attempt was to globally remove yarn and corepack with npm and then re-install both. Since then, a new, exciting error is happening:

~/live$ corepack enable
Internal Error: EACCES: permission denied, symlink '../lib/node_modules/corepack/dist/pnpm.js' -> '/usr/bin/pnpm'
    at async Object.symlink (node:internal/fs/promises:1005:10)
    at async EnableCommand.generatePosixLink (/usr/lib/node_modules/corepack/dist/lib/corepack.cjs:23156:5)
    at async Promise.all (index 0)
    at async EnableCommand.execute (/usr/lib/node_modules/corepack/dist/lib/corepack.cjs:23143:5)
    at async EnableCommand.validateAndExecute (/usr/lib/node_modules/corepack/dist/lib/corepack.cjs:20258:22)
    at async _Cli.run (/usr/lib/node_modules/corepack/dist/lib/corepack.cjs:21195:18)
    at async Object.runMain (/usr/lib/node_modules/corepack/dist/lib/corepack.cjs:23642:19)

Oh, and when trying to install yarn and corepack, now, I get:

~/live$ npm install yarn
npm error code EUNSUPPORTEDPROTOCOL
npm error Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
npm error A complete log of this run can be found in: /home/mastodon/.npm/_logs/2025-04-03T19_54_12_827Z-debug-0.log

~/live$ npm install corepack
npm error code EUNSUPPORTEDPROTOCOL
npm error Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
npm error A complete log of this run can be found in: /home/mastodon/.npm/_logs/2025-04-03T19_54_25_678Z-debug-0.log

the logs in question:

$ cat /home/mastodon/.npm/_logs/2025-04-03T19_54_12_827Z-debug-0.log 
0 verbose cli /usr/bin/node /usr/bin/npm
1 info using [email protected]
2 info using [email protected]
3 silly config load:file:/usr/lib/node_modules/npm/npmrc
4 silly config load:file:/home/mastodon/live/.npmrc
5 silly config load:file:/home/mastodon/.npmrc
6 silly config load:file:/usr/etc/npmrc
7 verbose title npm install yarn
8 verbose argv "install" "yarn"
9 verbose logfile logs-max:10 dir:/home/mastodon/.npm/_logs/2025-04-03T19_54_12_827Z-
10 verbose logfile /home/mastodon/.npm/_logs/2025-04-03T19_54_12_827Z-debug-0.log
11 silly logfile start cleaning logs, removing 1 files
12 silly packumentCache heap:4345298944 maxSize:1086324736 maxEntrySize:543162368
13 silly logfile done cleaning log files
14 silly idealTree buildDeps
15 verbose stack Error: Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
15 verbose stack     at unsupportedURLType (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:369:15)
15 verbose stack     at fromURL (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:428:13)
15 verbose stack     at Function.resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:110:12)
15 verbose stack     at #nodeFromEdge (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1039:22)
15 verbose stack     at #buildDepStep (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:904:35)
15 verbose stack     at async Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:181:7)
15 verbose stack     at async Promise.all (index 1)
15 verbose stack     at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:131:5)
15 verbose stack     at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:149:5)
15 verbose stack     at async Npm.exec (/usr/lib/node_modules/npm/lib/npm.js:208:9)
16 error code EUNSUPPORTEDPROTOCOL
17 error Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
18 silly unfinished npm timer reify 1743710053061
19 silly unfinished npm timer reify:loadTrees 1743710053064
20 silly unfinished npm timer idealTree:buildDeps 1743710057205
21 silly unfinished npm timer idealTree:#root 1743710057206
22 verbose cwd /home/mastodon/live
23 verbose os Linux 6.1.0-31-amd64
24 verbose node v22.14.0
25 verbose npm  v11.2.0
26 verbose exit 1
27 verbose code 1
28 error A complete log of this run can be found in: /home/mastodon/.npm/_logs/2025-04-03T19_54_12_827Z-debug-0.log

~/live$ cat /home/mastodon/.npm/_logs/2025-04-03T19_54_25_678Z-debug-0.log 
0 verbose cli /usr/bin/node /usr/bin/npm
1 info using [email protected]
2 info using [email protected]
3 silly config load:file:/usr/lib/node_modules/npm/npmrc
4 silly config load:file:/home/mastodon/live/.npmrc
5 silly config load:file:/home/mastodon/.npmrc
6 silly config load:file:/usr/etc/npmrc
7 verbose title npm install corepack
8 verbose argv "install" "corepack"
9 verbose logfile logs-max:10 dir:/home/mastodon/.npm/_logs/2025-04-03T19_54_25_678Z-
10 verbose logfile /home/mastodon/.npm/_logs/2025-04-03T19_54_25_678Z-debug-0.log
11 silly logfile start cleaning logs, removing 1 files
12 silly packumentCache heap:4345298944 maxSize:1086324736 maxEntrySize:543162368
13 silly logfile done cleaning log files
14 silly idealTree buildDeps
15 verbose stack Error: Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
15 verbose stack     at unsupportedURLType (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:369:15)
15 verbose stack     at fromURL (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:428:13)
15 verbose stack     at Function.resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:110:12)
15 verbose stack     at #nodeFromEdge (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1039:22)
15 verbose stack     at #buildDepStep (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:904:35)
15 verbose stack     at async Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:181:7)
15 verbose stack     at async Promise.all (index 1)
15 verbose stack     at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:131:5)
15 verbose stack     at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:149:5)
15 verbose stack     at async Npm.exec (/usr/lib/node_modules/npm/lib/npm.js:208:9)
16 error code EUNSUPPORTEDPROTOCOL
17 error Unsupported URL Type "patch:": patch:babel-plugin-lodash@npm%3A3.3.4#~/.yarn/patches/babel-plugin-lodash-npm-3.3.4-c7161075b6.patch
18 silly unfinished npm timer reify 1743710065916
19 silly unfinished npm timer reify:loadTrees 1743710065919
20 silly unfinished npm timer idealTree:buildDeps 1743710070343
21 silly unfinished npm timer idealTree:#root 1743710070344
22 verbose cwd /home/mastodon/live
23 verbose os Linux 6.1.0-31-amd64
24 verbose node v22.14.0
25 verbose npm  v11.2.0
26 verbose exit 1
27 verbose code 1
28 error A complete log of this run can be found in: /home/mastodon/.npm/_logs/2025-04-03T19_54_25_678Z-debug-0.log

Thankfully, mastodon is still working, no database issues, nothing indicating I fucked up beyond repair yet.

I am a bit at a loss, unfortunately, but eager to use my fuckup as a learning experience - am glad to hear any and all more experienced folk chiming in!

3
 
 

So, just to say immediately: I guess if I went deep into the frontend code, this will of course be possible, but I am in this case just talking about an easy way from the admin settings as such.

Currently, my aim is to have a unified little "bar" appearing in all three of my Fediverse services, this is what it's appearing as in PeerTube and Lemmy respectively:

With the images linking to the respective instances on the server.

For mastodon (admittedly, also the service I am using the least, myself) - I haven't found anything on how this could be achieved easily - with my searches so far all just providing results for users wanting to put stuff on their profiles.

Currently, trying Markdown Syntax as I use it for Lemmy does not work, no images show up when putting it in the about page or short description. (I guess not enabled for security reasons in the underlying code?)

If you have any experience or also just a good guess, that is very much appreciated! :)

4
5
 
 

Sharing our thinking and progress on bringing Quote Posts to Mastodon, with a goal to create a safe and respectful space for everyone.

6
 
 

News and updates from the Mastodon developers. Technical changes from January 2025, and what the core team did at FOSDEM.

7
 
 

Is there a way to up the char count on a self-hosted (redundant I know) Mastodon that I control?

Or do I HAVE to use Glitch Soc?

8
 
 

So, if you want to follow a Lemmy community from your Mastodon account you can simply do so as you would follow any other account. It will treat both posts and comments on that community as boosts. This quickly clogs up the feed and is very confusing to navigate.

Is there a way to have it show only the posts in my feed?

9
10
 
 

cross-posted from: https://lemmy.ml/post/22551453

A little procedure I follow to help noobs get seen by others. I used to do what most people do and boost their # introduction posts, but I think most people want to see more natural engagement and sort of glaze their eyes over when they see the intro tag, so here's what I do:

  1. Create a list called "noobs," hidden from home timeline.
  2. Go to # introduction
  3. Follow every poster with fewer than say 25 followers and add them to "noobs" 
  4. Periodically browse "noobs" for interesting* toots, boost them
  5. Periodically unfollow accounts in "noobs" (do not remove from list! That puts them in your main stable of follows!)
  6. Repeat

I don't consider it spam-following, because I'm actually giving these accounts a good deal of attention and a good shot at being seen by a few hundred more people. Often I'll genuinely like an account and remove them from the list instead of unfollowing them. I haven't really tested this method's effectiveness, but I thought I'd put it here for others to consider.

*I have a fairly eclectic profile, so I'll boost just about anything that's not asinine.

11
12
0
How to block Threads on Mastodon (privacy.thenexus.today)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
 

Should the Fediverse welcome its new surveillance-capitalism overlords? Opinions differ! If you're one of the fediverse influencers who sees Threads arrival it as "historic" and "a glimpse of the future" ... well, you might want to skip this post.

But if you're one of the many many people on the fediverse who doesn't want to deal with Threads, read on!