reply with features and bug fixes you’d like to see in Philthy, the lemmy fork that runs on this instance. no guarantees I’ll get to any of them soon, but particularly low-hanging fruit and well-liked features can be prioritized.
This could very well just be me not understanding Lemmy yet, but I find it tricky to find the new comments. I mean if I’ve read a thread and see that there are 10 new comments since last I read the tread, I would like to be able to find them. Or maybe there already is?
In SCOOP they were marked with [new] in read. I liked that.
Seconding this! I’d love some kind of highlight system. It seems like it sort of highlights recent comments very subtly, but it doesn’t seem to have anything to do with whether I’ve read them
that’s a very nice feature, much as in Reddit when you have gold
i think sometimes they’re highlighted?
yep! they are currently highlighted but the UI for it is very insufficient (a subtle change to the post’s background color) and it feels very inconsistent. there’s also the bug where your own posts are considered unread posts in the thread, which isn’t physically possible, and makes the unread mechanism a lot less useful. I feel like there’s a lot of low hanging fruit here that could make unread posts better very quickly, though I do want to check and see if the API has any bad surprises lurking
Having used it with the web interface and Mlem, it’s definitely there but it’s also awkward to use. I get the impression this is due to the APIs exposed for posts but haven’t checked as yet. Definitely a good suggestion!
search desperately needs to be reworked. maybe it should even be an external service that just indexes off of the lemmy database and uses the API to pull in federated results when they’re not cached locally?
fuck, why do I keep wanting to spin up a search engine
does anyone have strong positive or negative feelings about SearXNG? I haven’t looked into its API, but a local Lemmy and federation plugin for it might be a cool way to get better search
how does the treehouse search for Mastodon do it?
that’s a good one to look at for inspiration
i can’t even find the code, so … my psychic powers tell me it’s the most basic thing like probably the DB’s inbuilt text search
is it this (which appears to be the repo for the treehouse.systems operations), or is there a mastodon search feature/entity also called treehouse (and thus is not this)?
yeah that’s Treehouse. it’s a mastodon fork that doesn’t bother trying to upstream any more because Eugen is that kind of lead dev
also I hadn’t previously looked at the source of a masto repo and … jesus
I keep wanting to sit down and find the time to go through the impls and see which I want to run (because I want to move my main off masto.social), and … ugh. I hope not everything is this kind of thing
there is something seriously wrong with fediverse software devs, I said, developing fediverse software
Fix the bug that you get logged out when refreshing the page sometimes – I’ve noticed this on both Firefox and Safari. The token still exists (at least it’s present in
document.cookie
asjwt
), but for some reason it doesn’t get sent anymore, so Lemmy thinks you’ve been logged out.I’ve actually looked into this already, but didn’t get very far, especially because it doesn’t even happen all the time.
Honestly, just storing it in
localStorage
instead of as a cookie might work …oh yeah, this is a bad one. the
localStorage
idea is a good call.@self @mii I think storing session tokens in
localStorage
is considered unsafe becauselocalStorage
is more open to XSS attacks. The bigger concern, though, is using JWT for session management at all, which is widely considered a bad idea. Here’s one (of many) articles that go into that topic: https://dzone.com/articles/stop-using-jwts-as-session-tokens
Images in comments are tiny and awkward to expand. Please make the images display as hyperlinks so I can centre-click on them to open the image full-sized in a new tab, or do whatever else with it.
oh this is excellent low-hanging fruit because all I’d need is to wrap the thumbnail in an anchor that links to the pict-rs URL for the image
i mean at the moment i go right-cllick, open image in new tab, but anything to make it easier
double yes and I even know exactly which comment made you post this (because I had the same thought)
oh i’ve thought it for several!
I was wiped when i got home yesterday 😅
here’s the ones I gathered from various thread mentions:
- modtools local-posts view
- user flairs (non-federated to start)
- repo and docs renames (I believe these have been done)
- a review of the existing containers/container build flow, to see what’s in there
- CI: open question as to preferred CI system, feedback welcome
- button to allow auto-subbing users to new subs being created (strikes me that this would also involve user prefs work, to allow users to control that). might also open the door to an invite feature?
is it weird that I kind of want to start with (very limited, probably moderator-assigned) flairs? it’s like the least important feature but it’s one that I miss a lot
user-assigned flairs per sub are great fun, i feel like being a shill for Big Basilisk again
mod-assigned ones were useful on reddit buttcoin, whereas here we’d probably just get sick of their shiit and ban them
repo and docs renames (I believe these have been done)
so, taking a look at this (because it seems like a good one with which to dive into the repo and gain a broader familiarity/see all the pieces), quite a bunch of places all across the source and docs that mention lemmy and use
lemmy
in element/crate/resource names:❯ rg -icI lemmy | numsum; rg -il lemmy | wc -l 3741 411
tackling it would be best in stages, I think. both because in general I’m not a big fan of gigantic branches (being a complete pain to review, and absent really really good testing it’s easy for things to slip through), and because that’s just this repo even
for a staged rename of things, probably makes sense to try tackle subsystems one at a time? would we want to tag versions for each stage completion?
even just looking at the list of places the name got used… oof. some deeeeeeply baked assumptions in here
i mean, lib names and so on is fine really
I was thinking more the models and such
I want to hold off on this for a bit since it will impact our ability to grab commits from upstream; for now I’d recommend we keep
lemmy
as a legacy symbol and usephilthy
in new development. once we’re in a good place for this, I imagine it makes sense to do it in stages, in an outside-in pattern — that is, we’d start by renaming things like the executable that’s very visible but breaks relatively little, then gradually make more internal, breaking changesthat’s a fair point too. will probably take a little while to find/develop some patterns for do now vs do later
authorized fetch support, pretty please?
here’s one that’ll take a bit more thought:
philthy needs a facility to put in alt-text for images
and a (default on) setting to warn you when you didn’t
this already exists in mastodon, that’s quite good actually (includes Tesseract OCR), might be a guide
I thought you could already do that with the markdown syntax
![alt text](url)
. Or is this one of those GitHub-unique markdown features?ooh I didn’t know that
needs an interface though
also that’s probably not how Mastodon etc do it, and it would be nice if images worked over the fed
I was thinking about something like this recently! I generally like how mastodon does it, so that’s a good starting point
better federation health logging; a section in the instances page to see logs for the result of the last ~5 or so incoming/outgoing federation attempts with another instance
oh I keep forgetting to log this one: move the
i_love_jesus
microdependency into a backend workspace crate (to prevent a potential security issue) and rename it (just cause)all interested parties should carefully evaluate the crate named
i_love_jesus
that only Lemmy depends on and alsoi_love_jesus_macros
, a crate of compiler macros that will run on your machine when Lemmy is compiledI…… what
Okay that’s reading in the next hour while I wait for this chonker of integration suite running in field for the next while
okay I’ve been on the internet long enough to know that this isn’t that weird, but there sure are some Choices here as you drill down on this repo and its creator
anti-porn marxist-leninism, comrade
but as a personal choice
and with branding
you found the potential security issue!
Jia Tan ass mf
it’s amazing how “Jia Tan” has become an instantly comprehensible curse in computing
Yeah the whole timeline of commits to having this as a core dep to having full commit access is just whack
probably it’s just some teen edgelord, but then that still says quite a bit about the judgement of the lemmy devs. But perhaps I repeat myself
Maintain full compatibility with Jerboa for Android
Hmm. So, pinned threads are a thing, but just thought (from the kagi thread, David’s post about apologists specifically) maybe pinned comments could also be valuable/useful?
that comment pinned correctly so we’re there
so it did! plot twist
it’s quite good, you can pin to the top of a sub or the top of the whole local page as we do with the weekly stubsack
Am I missing something, or does the default web ui not have any kind of way to get to bookmarks (indicated as stars in the control elements)?
Seems to be under ‘saved’ on your user page
- nice on finding that
- wow that is in an impressively wtf place
on the all local comments page, a “next” button that works
Mentioning this since I noticed it today: better frontend handling / indication of blocked users. I think this might be a regression on the most recent web ui? Think I saw it indicate that previously
Also think I might have found an incongruency between web UI and one mobile client display format, but needs more poking at in case it was just cache fuckery. (Specifically also pertains to post display handling in case of blocked users)
wildcards for instance allowlist and blocklist domains
how does this work atm? lists of fqdns?
I believe it’s this bit of code:
if local_site_data .blocked_instances .iter() .any(|i| domain.to_lowercase().eq(&i.domain.to_lowercase())) { Err(LemmyErrorType::DomainBlocked(domain.clone()))? }
which gets
blocked_instances
filled in from the database anddomain
from the connecting instance. so it’s just a case insensitive string match of everything in the block list against the exact hostname given by the connecting instance as given by ActivityPub – presumably that layer takes care of ensuring the provided hostname is actually the instance’s domain name. so in short I have to do a bunch of stupid shit to block an instance thoroughly, and good luck if I want to block a domain and all of its subdomainsreading that made me flinch
it’s the exact same thinking I see from a lot of node devs (“just slap chained ops on it to express the logic! it’ll be fine. won’t ever need any complexity!”)
you’re gonna hate me but this style of code is usually my jam
however, the fact that it’s a conditional whose true branch essentially crashes the task for something that happens frequently (this pattern is everwhere in lemmy, and it’s why my logs are almost nothing but long stack traces) is truly godawful
oh I understand the appeal: it is rapid to express on the fly without breaking flow and enumerating through failure cases. and, for a bit of leeway, there is the upside that rust’s rich return styles affords better actual expression/handling
but ime each site the pattern gets used for barely holds out at that approach over time (for all but the very simplest cases), and you always discover this far later, when the appropriate context has gotten paged out of all relevant peoples heads
(at one of my old clients, an :aa-gun: emoji was added exclusively because of my code reviews)