Alexandrite is a Beautiful Web Frontend for Lemmy

hedge@beehaw.org to Technology@beehaw.org – 204 points –
Alexandrite is a Beautiful Web Frontend for Lemmy
wedistribute.org
53

I'm using it right now on new.endlesstalk.org

It's beautiful yes, but it's also kinda dumb. Lots of page elements (like the community banner and notifications section) need manually refreshing to show anything, and I need to press 'Go' after changing view (like Subscribed/All or Hot/New) like the web of ancient times. This may just be how it's implemented at endlesstalk, but there's other irritations like not having the option to upload a picture when creating posts, and it not actually doing anything if I change my settings to toggle 'Show NSFW'

It looks like that instance isn't using the most up-to-date version since the "press go" issue has been fixed. Try to keep in mind that the initial commit was on June 24 and it's still very early in the development stage. If you look at the commits, you can see the developer has been very active.

To be fair, according to the article this project is less than a month old! I'm sure it will continue to improve.

I don't like webui's for lemmy. This means they're getting all your traffic. It's a mitm situation again, much like google's amp links.

If I'm running a dedicated app, I can validate that my traffic is going directly to my instance and not being farmed and sold by a 3rd party behind the scenes.

Uhh.. not clear on what you're claiming here... you can validate the traffic is going to the expected instance using a web app, without requiring any special software by running Developer tools and heading to the network tab.

Web front ends currently require a backend service that then routes to your intended destination because Lemmy servers by default are configured with cors to only allow requests from their intended domain. There is a PR to fix it but I don't believe it's been merged in. This may be out of date but that was true as of a few weeks ago per the dev of Voyager which is the web frontend I use

edit: this is no longer true. A PR 2 weeks ago fixed this issue and web front ends are able to work just as well as a native app now.

I've looked at the traffic, and all calls go directly to the API of my instance. I don't think Alexandrite even runs a backend.

I see, but how is this different in a phone app? Wouldn't the request still be made to a backend?

1.) Turns out this is no longer true because the cors issue is fixed as of two weeks ago.

But to answer your question:

Well that's the really silly part about it. You see, the way CORS works is that it only works if the client making the request implements cors. In this case when I say client I'm talking about your web browser itself. Native applications, or hitting an API directly via network calls, don't implement cors and thus you can make the calls all you want and the server responds. So even when cors was configured to only allow requests from the correct domain it only affected people with web browsers.

However two weeks ago a PR was merged into the Lemmy source code setting the cors to by default allow requests from anyone instead of a specific domain.

That checks it only for the current session, though. The app might do nefarious things only on new moons, or on a specific date. It might also get updated at any point with completely new code without you noticing.

Seems needlessly paranoid

Same level of paranoia that makes someone check the dev tools for data transfers in the first place.

1 more...
1 more...
1 more...
3 more...

I've been planning a frontend a bit like this. I'm glad I'm not the only one that wanted a solid, widescreen friendly, single tab interface... because I was unlikely to ever work on the one I was thinking of.

Wow, that is much nicer. Though I would have settled just for "default opening links in new tabs"

you can do that with a userscript if you want to keep the lemmy interface

although i do not understand why people like this. just middle click instead?

It's such a sensible and common default that I'm unused to being required to middle click.

i personally think it's a terrible default. a normal link i can easily choose to open here, in a new tab, or in a new window. target="_blank" removes that choice, and forces me to open it how the site dev wishes

I've always seen it as a dark pattern to keep users on the site (like bing uses it^[see also old reddit doing the user friendly thing of same tab, new reddit opening a new tab]). it was really nice to see lemmy not doing that. it's weird to see people calling it sensible

Well I personally disagree with you and prefer new links to appear in a new tab by default. Funny how preferences work, eh?

yeah, that's a preference not a default. feel free to configure your preferences howsoever you prefer. if it's a configurable preference it's not a dark pattern, it's just an option

I don’t use mouse so no middle click.

Where is the userscript option? Using a browser extension?

Using it right now and I'm astounded by how smooth it is. Will be using this for the desktop from now on.

This looks amazing. I'm currently using Dracula for Lemmy but I might switch to this.

Can someone let me know if the login is using Oauth? Or is it submitted directly to the server? I'm not saying it's malicious or anything but I just want to be vigilant and check.

It's not exactly OAuth, but the webapp logs in at the chosen instance via its API and gets issued a JWT it uses for all subsequent requests.

Thanks! I was hesitant because it had me put in the 2FA code right on the log on page but I guess that's not a big deal since it changes ever 30 seconds or so.

Where might I find this Dracula for Lemmy you speak of?

I've been using it for the last day or so on a separate account and I like it so far. It's a new app and there's plenty of stuff planned for it, but the ability to open comments in a separate column instead of another tab is fantastic. There's already a request for light mode in the repo, which is my biggest issue right now.

This is neat, but I'm not really comfortable putting my password in for a separate front end

nice! this might just become my daily driver

Does anyone have an opinion about how it compares to Wefwef/Voyager?

Edit: Nevermind, just noticed it's desktop first, so no real comparison to Voyager, which is mobile first.

Wow, truly amazing compared to the native lemmy UI. Won’t use it much since I mostly browse on mobile with an app I like, but definitely bookmarked for pc lemmy browsing

Looks great, but I can't seen any installation doco in the repo. How are people using it? Via alexandrite's own website?

You can, and I'm doing that right now. Logged into lemmy.ml through their site. However, I can see how one might be hesitant to log in through a 3rd party like this. It does look really nice, but I do wish it had a light mode as well.

Yeah, after looking around, it seems that's the only option. I'd rather self-host something like this, if possible. I'll look into contacting the dev and ask.

I haven't tried it, but looking at the source, but you should be able to simply clone the repo, run "npm install" and "npm run build" and deploy the output to a webserver.

Looks like it's strictly one server. Too bad I can't connect to multiple servers and switch between them.