Lemmy

12575 readers
1 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS
526
 
 

And I called it...Mullem.

Mullem? What's Mullem?

Multiple Lemmy's....Multi Lem's...Mullem

It's a way of having MultiReddit-like experience until (if) the Lemmy devs incorporate that feature into Lemmy.

What?

It's a way to view multiple Communities from multiple instances in one unified feed.

FAQ

Will this work in a Chromium (Chrome, Brave etc) based browser?

No idea. I don't have a Chromium based browser on any of my machines and I ain't going to install one just to test this. If you want to port it, be my guest.

Is this compatible with KBin?

Nope. Part of the code needs to look for '/c/' in a URL and as KBin uses '/m/' it'll just break. Don't try it, it WILL break. I will add this in future development.

Will this work on a mobile browser?

No, it would be unusable as the interface would be all over the place. Mullem uses a Sidebar for one thing. There are zero plans to make this work on a mobile browser so don't ask.

What Manifest version does Mullem use?

v2. I'll port this to v3 if Mozilla kill off v2.

Why haven't you set up a proper Git repository so I can see the code?

Can't be bothered. If you want to see the source, download the file, uncompress it and have at it. If you're really paranoid, run it through a virus checker.

Can I make changes? What License is this released under?

No license of any kind. Do what you want with it. But bear in mind the licenses of the three files bundled with it - jQuery, FeedEk.js and skeleton.css.

I'm American, can I change the date formatting?

Nope. Adding this option at some point though.

Can I change the colours?

Nope, working on it.

Are there size/Community/Mullem limitations?

Yes. Community and Mullem data gets placed in Local Storage which has a size limit. You'd have to add god knows how many Mullems and Communities though. Each entry is literal bytes.

Each Mullem fetches a maximum of 100 items. So whilst a Mullem can theoretically contain hundreds of Communities (seriously though don't do that), the combined feed of all those Communities can never exceed 100 items.

Does this Add On respect my privacy?

Absolutely. It contains no tracking of any kind. It contains no adverts of any kind. It does not collect, store or transmit any information about you, your browser, your connection or your OS. The data you enter to create Mullems and add Communities to Mullems is stored in Local Storage in the browser you installed the Add On to and can be wiped at any time if you see fit.

What have you successfully tested on?

Plain vanilla Firefox v.114.0.2 and LibreWolf v.114.0.2-1 on Debian and Fedora

Installation

  1. It's here, on the Mozilla Add On Store
  2. When it's done, look at the main browser address bar. To the right of it, you might see the Mullem icon.
  3. If not, click the 'Extensions' icon (looks like a jigsaw puzzle piece)
  4. You'll see the Mullem extension listed in the drop down, click the cog icon to the right of it and click 'pin to toolbar'
  5. The Mullem extension icon should now be on your toolbar alongside the 'Extensions' icon.

Uninstall

  1. Right click the extension icon in the toolbar
  2. Click 'Remove Extension'
  3. Uninstalling will delete all Mullems and Communities. If you want to keep that data, then before uninstalling the add-on, go to 'about:config' in the browser. Search for 'keepUuidOnUninstall' and set it to 'true'. Then search for 'keepStorageOnUninstall' and set that to 'true' also.

Using Mullem

Click the Mullem extension icon and the Mullem sidebar will apear. You might need to manually adjust the width of the sidebar after adding Mullems and Communities.

First time?

If this is the first time you've used Mullem then you (obviously) have no Mullem's yet. So step 1 - create a Mullem. Let's say you want a Mullem for Politics so you can view multiple Lemmy political Communities in one feed.

  1. In the 'Create Mullem' section, enter 'Politics' in the 'Mullem Name' text box.
  2. Click the '+' button.
  3. You should now have a new Mullem called 'Politics' (all icon links to the right are explained later in this document but at this point, without any communities added to this Mullem, they do nothing, except the Delete icon, which will delete the Mullem)

Now you can add Communities to your Politics Mullem. To do this:

  1. Copy the link to the Community (e.g. https://sh.itjust.works/c/ukpolitics). NOT the federated link (e.g. https://lemmy.ml/c/ukpolitics@sh.itjust.works). Using the federated link may well break Mullem.
  2. In the 'Add Community To A Mullem' section, paste the Community link to the 'Add community URL' text box
  3. Choose the Mullem (Politics in this example) to assign this Community to
  4. Click the 'Add' button.
  5. Click the title of the 'Politics' Mullem, you should now see the Community you just added listed under it.
  6. Repeat for all the Communities you want to add to this Mullem

NB: A good place to search for Communities across all Lemmy instances, by subject, is browse.feddit

Management of Mullems and Communities

Communities

You can do 2 things with Communities you've added - delete them completely or move them to a different Mullem

  1. Click the Mullem name that contains the Community you want to manage
  2. When all the Communities for that Mullem are listed below, find the Community you want to manage and click the gear icon to its right
  3. When the popup box appears, to delete this Community, click the 'Delete' button.
  4. Or, to move this Community to a different Mullem, click the 'Move to' dropdown box then select the Mullem you want to move it to.
  5. Click the name of the Mullem you just moved it to and you should now see it listed there instead.

Mullems

You can delete Mullems by clicking the minus icon link on the top right of each Mullem. This will delete both the Mullem AND any Communities you have associated with it so if you want to keep a Community, move it to a new Mullem first (see step 4 in the section above).

Viewing the Mullem

As we've learnt, clicking the name of the Mullem reveals a list of all the Communities in that Mullem. To view all these Communities as one feed (i.e. view this Mullem), click on of the four icons to the right of the Mullem name. These are (from left to right), this Mullem sorted by Hot, this Mullem sorted by Active, this Mullem sorted by New and this Mullem sorted by Old.

The Mullem will now be generated and appear in a new tab, sorted depending on which of the four icons you clicked.

There is no auto-refresh so if you want to see any new posts, you'll need to refresh/reload the page in the normal way (CTRL + R, or F5 , or clicking the browser 'reload current page' icon to the left of the address bar).

The Code

There's nothing in this section about how to use Mullem, it's just an explanation of the code and a few provisos.

  • I'm not a JavaScript expert so I used jQuery. The code is far from perfect and someone more expert with JavaScript could probably optimise the shit out of this. If that's you, feel free.
  • This is my first Add On, so there's probably ways I could've made this better too.
  • The whole plugin, including images, weighs in at less than 236kb uncompressed and less than 57kb compressed.
  • I've used 3 things for this add-on - jQuery, a minified jQuery plugin called FeedEk.js to manage the RSS and skeleton.css to make my life easier.
  • The add-on grabs the RSS feed(s), sorts them in the requested way then presents them as one big feed. I used RSS rather than the Lemmy API as it's easier. The documentation of the API is a bit lacking. No diss intended, Lemmy devs are busy as hell right now.
  • Hardly any Lemmy instances have CORS enabled their RSS feeds (seriously instance Admins, please do this) meaning the jQuery RSS plugin (FeedEk.js) uses a proxy to grab the feeds. This is admittedly a concern. If their proxy fails, the feed fails and the add-on becomes useless. I'm looking at ways around this as a matter of urgency.
  • All Mullem and Community data is stored in Local Storage.

Road Map

  1. Option to format the date in the Mullems for Americans.
  2. Add ability to rename Mullems.
  3. Allow colour theming of.
  4. Support KBin Magazines
  5. Find a way to not rely on proxies to get around CORS issues

527
 
 

Image shows lemmy-ui's development pace over last year. Impressive! Great job everybody!

528
-1
test (iusearchlinux.fyi)
 
 

test

529
 
 

maybe someone could make a merge request in the repository so they could be added to the list, because there are a lot of apps being developed alongside mlem and jerboa, also wefwef.app is an interesting looking webapp for lemmy as an alternate interface? would it count as that? apparently it's supposed to look like apollo

530
 
 

For context, I created a post on Lemmy.ml a week ago asking how can I use Lemmy properly.

I just wanted to send out a collective thank you for all the suggestions/comments explaining the difference between Lemmy and Kbin.

ps

  1. I couldn't respond to most of the comments on my post because I got busy playing with my 6 month old. She is currently on a war path to grabbing everything and anything around her and rolling around A LOT!

  2. Speaking of apps, I downloaded memmy and wefwef for iOS + signed up for Artemis beta testing. With a plethora of apps currently under development, I hope I won't take a week's worth of time to respond to comments (if any) on this post!

What is everyone else using here?

531
 
 

TL;DR: Lemmy generates SHA-256 TOTP digest which may be unsupported by some authenticator apps. https://github.com/LemmyNet/lemmy/issues/3309#issuecomment-1605259241 Thanks to this it may seem the authenticator is set up, yet it won't generate correct tokens.

When lemmy.sdf.org got updated to version 0.18.0, the first thing I did was that I set up 2FA. Or so I thought. I went to settings, checked "Set up 2-factor authentication", clicked save, and then clicked on the installation button which opened up the authenticator app I use, Cisco DUO. I saved it, and seeing that it was generating codes, I thought "Good".
Today I wanted to log into Lemmy on my laptop. I enter username and password, and get prompted for TOTP token. I take my phone and get the token from Cisco DUO authenticator, type it into the TOTP field, and it doesn't work. So I tried again, and again, and again,... I see. It doesn't work.
I went on the internet to search for the issue, and found the comment mentioned above and this request on GitHub.
Thankfully I was still logged in on my phone and I was able to remove 2FA.

Who knows, but there may already be bunch of people who won't be able to reply. Rest in peace.

532
 
 

If you want, please add your tips to the comments.

Here are mine - just a bunch of opinions/suggestions from someone who used to be a forum mod, then a subreddit mod.

As this is a rather big wall of text, I'll split it into sections, contained within spoiler tags.

Mindset and duty.

A happy mod is a good mod. Take care of your personal life first.

Your comm[unity] is not your personal possession or project, it's a collective effort. You're just its representative - be humble but proud about it.

Use your comm as any other user would. Be active in it, interact with other users, discuss, learn, have fun.

If you don't enjoy your comm any more, for whatever reason, pass the torch to newer mods.

Check your comm at least a few times per day. A quick peek is fine for slower comms.

It's useful to follow the RSS feed of the comms that you moderate, as it'll be quicker to spot rule-breaking posts. You can do it here:

In days that your comm is too slow, specially at the beginning, it's your job to provide content for your comm.

Recruitment

Avoid recruiting mods who:

  • never post/comment in your comm, or only did it after you announced "we want new mods"
  • asked over and over to be a mod
  • already mod lots of other comms
  • claim to have a "vision" about your comm, and propose 9001 drastic changes for it*.
  • rush towards certainty on things that they cannot reliably know (intrinsically unfair)
  • cannot reasonably infer things from context (ditto)

*Major exception: if your comm got some biiiig problem, and nobody seems to be able to solve it.

If you get multiple people willing to mod, you can be a bit pickier. Use open-ended questions to trial them. Ideally new mods should:

  • be active members of the comm
  • work well alongside the rest of the mod team. (are they strict rule enforcers, or more on the "let users have fun" side?)
  • active in different hours than the rest of the mod team. (e.g. night owls, different longitudes, etc.)

A lazy mod is less worse than a well-intentioned but dumb mod.

Rules and their enforcement

You do not know the users' intentions, thoughts or beliefs. However, you do know how they behave and what they say. Use the later, not the former, in your rules.

If a rule cannot be enforced, it is not a rule. It's at most a request.

Enforce rules by spirit, but the letter should follow fashion. There's some room to be sloppy with this with smaller comms, but not the bigger ones.

Do not enforce "hidden rules". If there's some shitty behaviour that needs to be addressed, do it in the open.

Do not enforce new rules retro-actively. You're just creating more work for yourself and pissing off users, for no good reason.

Be succinct when phrasing the rules. If necessary/desired, write down two versions of it:

  • short version - addressing what users can/can't/need do in broad strokes, without "why". Keep it in the side panel, visible at all times.
  • long version - addressing specificities of each rule, as well as reasoning. Keep it in a post or similar.

Synchronise changes in all versions of your rules. Few things confuse users the most than rule disparity.

If your comm got more than seven rules, it's probably already too much. Consider merging them.

It's fine to use imperative in the rules ("do this", "don't do that"), as it's succinct and you're in a position to do so.

Every rule has a grey area, of things that are only arguably rule-breaking content. Try to minimise the grey area when possible, but keep in mind that you'll never get rid of it.

Beware the fluff principle: voting alone will allow only the lowest common denominator content to the top, and shove down well thought content that is hard to judge. Take that into account when creating rules.

Handling other users

Ask community input periodically. Don't use votes for this, let other users speak their mind.

Input from rule-lawyers is surprisingly useful to find issues in your rules. And a few people will be abler to phrase your own rules better than you do.

Even then, asking community input is not an excuse to relay responsibility. You're still the mod.

It's useful to keep notes of a few users from your comm:

  • notes about good, specially engaged and helpful users might be useful later on, as you're recruiting newer mods
  • notes about bad users are useful for rule enforcement. Certain types of bad behaviour are only revealed in long-term tendencies.

Activity of your comm's users outside your own comm should be only taken into account as much as it might predict their future activity in your comm. There are a few corner cases to do so, but by default you're better off not doing this.

Don't feel afraid to upstream reports of specially problematic users to the admins of your instance. Specially if they're more on the stricter side.

This is debatable, but I personally believe that a few types of users, regardless of their intentions, should be handled as you would handle trolls and shitposters. They are:

  • witch hunters: users who point fingers at other specific users without rational grounds to do so
  • entitled, bossy or whiny users: users who are eager to tell other users what to do, for their own sake
  • obtuse users: users who "conveniently" pretend to not read or understand counter-arguments of other users in discussions
  • assumers: users who are prone to say things that they cannot reliably know, specially about other users. (A superset for witch hunters.)

This sort of user is prone to piss off other users, specially the most contributive ones.

When there's a fight between users, typically, at least one of them is stupid. Make sure to know which one (or if both) before intervening.

533
 
 

The two top entries on lemmy.world sorted by hot as of a few minutes ago were a porn link on a porn community (nothing against porn per se, but I don't want to see it on the front page) and a bot post to some kind of bot link community. I see the "block user" button but I don't particularly care to see anything from those communities, so blocking the individual poster doesn't help much. I could actually visit the community in order to block it, but that sort of defeats the purpose of blocking. And I know of "Hide NSFW" but I'm not particularly anti-NSFW, I just don't want to see it unintentionally.

So it would be useful to have "block community" as an option along with "block user" in the little buttons underneath the post.

As a broader policy matter, I'd be cool with blocking NSFW from the front page altogether (it would still be available within communities of course). But I understand such a decision would want discussion for and against.

534
 
 

Idk if this is useful at all, but when starting my Mastodon server I set up an account at Open Collective with a fiscal sponsorship by the Open Collective Foundation. This gave us 501(c)(3) status, made all of our finances public and clear, and also got us free GSuite. Highly recommend it.

535
 
 
536
 
 

I've been looking between some instances to see how they look to each other and I came across this post/comment.

Source post/comment

off-instance post/comment

As you can see the original comment was deleted by the creator, but is still intact on the off-instance copy. I had presumed that each instance would relay the change, whether be an edit or deleted by creator, but perhaps its either an Admin setting or there was no event to push the change.

Just found it interesting and wouldn't mind understanding more about how it works.

537
 
 

How do y'all feel?

538
 
 

Hello, when I search in the search bar for some words, the results are not fully related. For example, if I filter it by Posts or Comments, the results are still inaccurate.

539
 
 

How to use:

The url must be the hostname only, NO SLASHES, like this: lemmy.dbzer0.com, don't use https://, don't append a slash afterwards (lemmy.dbzer0.com/), only the hostname including the subdomain if it has it (in this case, lemmy).

If the instance has blocked the IP address from the server, or it is stuck and its API is not working correctly, it returns "Not a Lemmy instance" (I am too busy to fix this right now).

If the url is not formatted in a way it can process it, it will say Invalid URL. Better processing can come in the future. I won't be updating it now.

In the backend, it just scrapes https://fba.ryona.agency/?domain={url} and uses the api https://{instance}/api/v3/federated_instances

PRs welcome.

Honestly it works better when deployed locally in a development environment. I think Vercel's IP address is just blocked by cloudflare and other blacklists that stop automated stuff? Idk. Can check back in a few days.

540
 
 

I'm stretching the definition of "app" here but Lemmy appears to be a progressive web app, so if you click "add to home screen" in iOS then the icon for Lemmy will open up a captive web browser that behaves like any other app.

It's not as fast as an actual app, but it feels very similar to using one. Most apps are just react-native these days anyway.

541
 
 

A user checking out one of these URLs does not want to filter only local post on that instance.

On all instances, this url should mean "show me all /c/piracy on all federated instances"

If you really mean /c/piracy only on that instance, then add something to the url.

The current convention breaks the most important aspect of federation and makes its vestigial appendage.

The current way has user asking question /c/piracy, but on which instance ?

So now they'll all join the same instance . You wouldn't post anywhere else since no one would every see it.

It's a recipe for centralization.

I think this is obvious to most users, were deal with "voat with extra steps" here

542
 
 

This Lemmy app's experience is just amazing when you install it as an app with Chrome. With Firefox it's sluggish as hell. So before judging the app if you're using Firefox, consider opening it in Chrome instead, it's like night and day!

543
 
 

Hello, these rumors are getting out of hand. To make matters worse, they are rejecting Lemmy (the software) because of the rumors about the developers. You really need to do something about this, because the reputation of Lemmy (the software) is in serious danger. Thank you for listening to my concern about malicious rumors.

544
 
 

Is it just me?

My hot it full of months, or even years old posts that have almost no upvotes or comments. Why are they there?

And unlike actually "hot" posts they don't seem to want to go away. Is this a bug? I'm not seen any discussion on it, not even on github.

545
 
 

I used to manually remove for example the GPS location when using Reddit since I don't trust them. Does Lemmy or any Android client remove it by default?

546
 
 

I wrote a very simple UserScript for the browser which can be used for example with https://www.tampermonkey.net/ to be injected in all the pages where there is the sidebar telling you you're not logged in but can subscribe by copy and pasting this string.

A replace this string with a link to the search of my instance so I then can easily subscribe to it.

It has one flaw though, it needs to run once a second for all the time because I couldn't figure out how to trigger it when you move around on the instance, DOMContentLoaded only triggers once and then the rest happens with XHR requests, but the popstate doesn't get fired when I navigate.

547
 
 

The instance I usually log into is sitting on 0.17.4 and I wanted to see how 0.18.0 looks. So I created a new sign in on a good looking updated instance to give it a whirl.

I'm not happy with some of the changes and the interface feels more clunky to me. Yeah there's some improvement in response after dropping web sockets and it's nice the sort orders work better, but that's all I have to say positive about it.

Searching for communities is giving me fits now. When I go to search for a community from the community page it defaults to an "all" search where it should default to a "community" search. So now I have the extra step of selecting the "communities" option from the search page, but first I have to do the default "all" search to get to there. It's just super clunky and annoying.

When subscribing to communities 0.17.4 would get stuck in subscribe pending mode, but I'm having even more trouble with 0.18.0. When I call up a community the subscribe button is missing. I have to reselect the community for it to appear. Then I'm still getting weird behavior in response to pushing the button. In some cases it does nothing and repeated presses are required to see subscribe pending. It rarely shows joined within a reasonable amount of time. There's still a bunch pending since 8 hours ago.

I really don't like how the first reply to a post shows the reply bar. It looked so much better when only a reply to a reply started the reply bar chain. It really bugs me as far as the page aesthetic.

I have some other small gripes with the new version, but those are the ones giving me the most trouble. I mean don't change stuff just to change stuff. Fix things and make them easier to use, not harder. Don't worry about stupid things like changing header fonts and reply bars. Give me the stuff I really-really need;

  • a compact view option
  • a setting to open all links in a new tab
  • granular settings for default sort orders
  • clickable headers in lists for sorting.
548
 
 

Ok, so I have some code to crawl a posting of a community and compare two servers for comments missing. It looks bad today. Both of these servers are version 0.18.0 and have been upgraded for several days.

missing 0 unequal 0 11 on https://lemmy.ml/ vs. 11 on https://sh.itjust.works/
missing 35 unequal 1 48 on https://lemmy.ml/ vs. 14 on https://sh.itjust.works/
missing 4 unequal 0 9 on https://lemmy.ml/ vs. 5 on https://sh.itjust.works/
missing 6 unequal 0 9 on https://lemmy.ml/ vs. 3 on https://sh.itjust.works/
missing 1 unequal 0 1 on https://lemmy.ml/ vs. 0 on https://sh.itjust.works/
missing 6 unequal 0 12 on https://lemmy.ml/ vs. 6 on https://sh.itjust.works/
missing 3 unequal 0 8 on https://lemmy.ml/ vs. 5 on https://sh.itjust.works/
missing 3 unequal 0 6 on https://lemmy.ml/ vs. 4 on https://sh.itjust.works/
missing 22 unequal 0 42 on https://lemmy.ml/ vs. 20 on https://sh.itjust.works/
missing 5 unequal 0 15 on https://lemmy.ml/ vs. 10 on https://sh.itjust.works/
missing 8 unequal 2 17 on https://lemmy.ml/ vs. 9 on https://sh.itjust.works/
missing 3 unequal 0 3 on https://lemmy.ml/ vs. 0 on https://sh.itjust.works/
missing 0 unequal 0 10 on https://lemmy.ml/ vs. 10 on https://sh.itjust.works/
missing 11 unequal 0 24 on https://lemmy.ml/ vs. 13 on https://sh.itjust.works/
missing 1 unequal 0 2 on https://lemmy.ml/ vs. 1 on https://sh.itjust.works/
missing 13 unequal 0 37 on https://lemmy.ml/ vs. 24 on https://sh.itjust.works/
missing 3 unequal 0 7 on https://lemmy.ml/ vs. 4 on https://sh.itjust.works/
missing 0 unequal 0 10 on https://lemmy.ml/ vs. 10 on https://sh.itjust.works/
missing 60 unequal 2 186 on https://lemmy.ml/ vs. 126 on https://sh.itjust.works/
missing 10 unequal 2 51 on https://lemmy.ml/ vs. 41 on https://sh.itjust.works/
missing 16 unequal 0 51 on https://lemmy.ml/ vs. 36 on https://sh.itjust.works/
missing 31 unequal 3 128 on https://lemmy.ml/ vs. 97 on https://sh.itjust.works/
missing 0 unequal 0 4 on https://lemmy.ml/ vs. 4 on https://sh.itjust.works/
missing 2 unequal 0 5 on https://lemmy.ml/ vs. 3 on https://sh.itjust.works/
missing 15 unequal 1 67 on https://lemmy.ml/ vs. 52 on https://sh.itjust.works/
missing 4 unequal 0 53 on https://lemmy.ml/ vs. 49 on https://sh.itjust.works/
missing 0 unequal 0 5 on https://lemmy.ml/ vs. 5 on https://sh.itjust.works/
missing 0 unequal 0 0 on https://lemmy.ml/ vs. 0 on https://sh.itjust.works/
missing 1 unequal 0 19 on https://lemmy.ml/ vs. 18 on https://sh.itjust.works/
missing 0 unequal 0 2 on https://lemmy.ml/ vs. 2 on https://sh.itjust.works/
missing 0 unequal 0 22 on https://lemmy.ml/ vs. 22 on https://sh.itjust.works/
missing 0 unequal 0 16 on https://lemmy.ml/ vs. 18 on https://sh.itjust.works/
missing 0 unequal 0 7 on https://lemmy.ml/ vs. 7 on https://sh.itjust.works/
missing 3 unequal 0 27 on https://lemmy.ml/ vs. 24 on https://sh.itjust.works/
missing 2 unequal 0 32 on https://lemmy.ml/ vs. 30 on https://sh.itjust.works/
missing 3 unequal 0 21 on https://lemmy.ml/ vs. 18 on https://sh.itjust.works/
missing 3 unequal 1 16 on https://lemmy.ml/ vs. 13 on https://sh.itjust.works/
missing 3 unequal 1 47 on https://lemmy.ml/ vs. 44 on https://sh.itjust.works/
missing 1 unequal 0 24 on https://lemmy.ml/ vs. 23 on https://sh.itjust.works/

The number of comments is based on loading comments, not the counts at the top of the posting.

549
 
 

cross-posted from: https://lemmy.world/post/715287

Guess where? Unironically r/Save3rdPartyApps

The Reddit search for Lemmy also gives these privacy copy-pasta as top results when searching for Lemmy. I'm still betting that Reddit employees are involved in boosting these posts.

550
 
 

it's not just Lemmy users and instances graphs that are going FULL STONKS 📈 , it's people starring repo as well: SVG image

view more: ‹ prev next ›