this post was submitted on 13 Apr 2025
7 points (100.0% liked)

Tesseract

96 readers
4 users here now

Tesseract: An Advanced Lemmy Client

The goal of Tesseract is to address as many things in Lemmy that annoy me as I can. I also trawl various "is there any way to [blank] in Lemmy?" posts to get feature ideas. Both of those lists are pretty extensive, so Tesseract has accumulated quite a few features.

Github: https://github.com/asimons04/Tesseract/

Hosted / Demo Instance: https://tesseract.dubvee.org/

Note that the hosted instance defaults to Lemmy World, but it is unlocked to be able to connect to any Lemmy server.

Announcements, support, and guidance for the Tesseract UI.

All instance rules apply here. Beyond that, just be civil and constructive.

founded 2 years ago
MODERATORS
7
1.4.34 Released (dubvee.org)
submitted 1 day ago* (last edited 1 day ago) by [email protected] to c/[email protected]
 

Bugfixes

  • [a84bc5db] Add community-banned indicator to vote view if banned_from_community is present in the API response.

  • [1e5bfeae] Disable actions if banned from community (all actions the API forbids if user is community banned):

    • Post/comment vote buttons
    • Edit post/comment
    • Delete/Restore post/comment
    • Report post/comment
    • Moderation buttons (if a mod is banned but not removed from mod team, they'll still see mod action buttons but be unable to perform any)
    • Create post, subscribe, and "community settings" buttons in /c/community and community modal
  • [0216bc2a] Don't cache getCommunity lookup results. While nice in theory, it prevents being aware you've been banned or any changes to the community during the cache validity window with no way to automatically invalidate beyond a fixed TTL.

  • [d4df7d05] Don't badge-ify post and comment links. That worked well until people would link entire paragraphs. :sigh: So they're regular links now, but they still open up in modals.

  • [ac8db3d] Bring community mod team management section up to current API spec

    • "Top Mod" can now transfer community
    • Added confirmation dialogs when removing a mod or transferring a community.
    • Made "transfer community" button icon less ambiguous
  • [564980d9] Selecting "browse communities" from the /instances list was still using the old URL param for the instance rather than the new route param.

New Features

User Purge [Admin]

Admins can now ues the user profile menus/modals to purge users.

Inline Comment Removal Reason

Notes:

  • This only works if you are viewing a post on your home instance. Otherwise, the "Removed by Mod" text won't be linked to the modlog, and the removal reason will not be present.
  • This feature is disabled by default. To enable, go to Settings -> Posts and Comments -> Show Inline Comment Removal Reasons

If a comment has been removed by a mod, it is now linked to the modlog. Additionally, Tesseract can attempt to lookup the comment in the modlog and display the removal reason.

Additionally, if you are a mod, it will show you the comment content that was removed. Have to pull this from the modlog along with the reason (so if that lookup fails, this won't work either). Hiding removed comments from mods is yet another big-brain move by the Lemmy devs that I have to cleanup client-side.

Changes

User Profile Share Button + Support for LemShare

The "Share" button on user profiles is now a menu, and I got rid of the separate buttons for "Lemmyverse Link" and "Actor ID". Added support for Lemshare. Now, clicking "Share" button in user profiles will open a menu with the following options:

  • Lemmyverse Link
  • Lemshare Link
  • Threadiverse Link
  • Actor ID
  • Local Link (Local to your instance)

Misc

  • On main feed, when expanding "Site Info" or "Legal" panels in the sidebar, add a mini site card (logo + name) at the top.
  • Limit post flairs to 25 characters before truncating; add title tooltip with full flair text
  • Removed the +/- quick (un)subscribe buttons from post/comment community icons since the community modal makes subscribing/unsubscribing easy and these are no longer necessary.
  • Removed red background on removed comments. Looks okay on a single comment, but once you have to break up a slapfight, it's just too much.

Tags

  • ghcr.io/asimons04/tesseract:1.4.34
  • ghcr.io/asimons04/tesseract:v1.4.34
  • ghcr.io/asimons04/tesseract:latest
top 9 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 day ago (1 children)

Good job.

d4df7d05] Don't badge-ify post and comment links. That worked well until people would link entire paragraphs. :sigh: So they're regular links now, but they still open up in modals.

Why not badgify only if it's below X chars, where x is a reasonable limit?

[–] [email protected] 2 points 1 day ago* (last edited 1 day ago) (1 children)

For consistency, mostly. I'm doing something similar with the flairs, limiting them to 25 characters, and tried that here too. But if you've got a paragraph (or very long sentenced) linked to a post, that all got truncated or it's confusing that sometimes it's a button, sometimes it's a link.

The other thing I tried was prefixing a "Post" or "Comment" pill button in front of it and leaving it as a regular-looking hyperlink, and that looked weird. User and community links are naturally limited, so those are safe to stay as the pill buttons.

Plus, the badge buttons don't/can't wrap, so X chars is very different depending on device screen width. I don't like mixing my JS peas with CSS porridge any more than I have to.

[–] [email protected] 2 points 1 day ago (1 children)

Fair enough. Another suggestion is to badgify only when it's the exact community name but that's probably too convoluted

[–] [email protected] 2 points 1 day ago* (last edited 1 day ago) (1 children)

Well, communities/users are still always badgeified. It also always uses the proper (system) name for those and not display name or linked text. Two reasons:

  1. To prevent spoofing a link to an unrelated community/user. e.g. [Cute Puppy Dogs](https://instance.xyz/c/NastyGore) --> Cute Puppy Dogs or [@admiralpatrick](https://instance.xyz/u/NotAdmiralPatrick) --> @admiralpatrick
  2. The system names have reasonable length limits of 20 or maybe 25 characters and don't have the issue with linking a paragraph of text like posts/comments.

The only badges I've removed are for [Optional Text](https://instance.xyz/comment/12345) and [Optional Text](https://instance.xyz/post/12345). Those just show as regular hyperlinks but still have the same 'on click' behavior as they did when they were buttons.

I might be able to fine tune and bring those back later, but right now, it was just to address an immediate issue.

[–] [email protected] 2 points 1 day ago (1 children)
[–] [email protected] 1 points 1 day ago

May have found the sweet spot. In dev, I've got it to badge-ify direct links to posts/comments but not ones that have link text.

e.g.

  • https://dubvee.org/post/12345 will be a badge
  • [My Fun Post](https://dubvee.org/post/12345) will be a hyperlink
  • [https://dubvee.org/post/12345](https://dubvee.org/post/12345) will be a badge since the text and href are the same.

Both have the same "open in modal" behavior but only "bare" links will turn into badge buttons. Same goes for comments.

[–] [email protected] 3 points 1 day ago

Impressive!

[–] [email protected] 3 points 1 day ago

Just wanted to say once more how I appreciate your work and commitment on this project. I have yet to see or find a WebUI front for Lemmy as useful, pretty and complete as yours.

[–] [email protected] 2 points 1 day ago

One of these days I'll remember that the tesseract mentioned on Lemmy isn't the OCR library/program. That day is not today.