Skip Navigation
Tesseract

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.

Members
99
Posts
13
Active Today
1
Created
2 yr. ago
  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.37 Released

    1.4.37

    Apologies for the rapid release cycle this week. I'm taking advantage of the rare overlap in free time and motivation and trying to knock out all the low-hanging fruit as far as bugs and annoyances go plus incorporate feedback from the prior releases. The smaller, faster releases also help prevent me from getting too deep into feature creep.

    Minor update with bugfixes, UI polish and, at least for now, the removal of a few rarely-used post views (they're rarely used and incompatible with the rewrite to the post body component).

    Bugfixes

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Is anyone using "Reader" or "Ultra Compact" views, or can I drop support for those?

    Summary: Unless anyone speaks up, I'm leaning toward removing those two views.

    I'm rewriting the component for the post body preview in the feed to address my own gripes as well as Issue 35 in Github.

    TL;DR is that the "Ultra-Compact" and "Reader" views rely on the "Post Body Preview Length" setting and the old method of doing the previews which was just a dumb "show X characters of the post body" based on the un-rendered body markdown.

    The new method uses the rendered output and controls the height of the body text for a similar effect. It's also MUCH more responsive and able to take the screen width into account. In short, it's much more flexible, looks much better, and is probably what I should have done the first time.

    "Reader" and "Ultra-Compact" rely on a setting that I'm going to be removing. So, rather than re-implement those and complicate what is, finally, a clean/simple refactor, can I just get rid of them?

    If

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Before I change the post post buttons again, thoughts?

    Currently, the post buttons are always a double row. In dev, I've set them to be a single row on desktop and reflow to 2 rows when the screen width goes below the xl breakpoint for smaller viewports and mobile (see main post image).

    I like it, and I think it makes better use of the available space + more compact on desktop, but before I change the post buttons again, thought I'd ask for feedback. This is probably not something I'm going to make an option for (there's too many options already lol).

    Current Layout: Post action buttons/indicators are always two rows.

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.36 Released

    Bugfixes

    • When zooming an image, it was using the thumbnail image rather than the actual image (when present). Apparently my local instance's thumbnails are close enough to the original quality that I just never noticed.
    • Fixed truncation in site card for long instance names and domains.

    New Features and Changes

    Compatibility Layer: Supports Local /post/{post_id}/{comment_id} Route Format

    Note: This only works for your home instance. It does not work for remotely fetched posts. Additionally, this is not a "supported" way to share Tesseract links; it's just there for convenience if you want to turn a local Lemmy UI link into a valid Tesseract link.

    If you're in Lemmy UI and want to view a post in Tesseract, you can just change the domain and the post and/or comment params should translate transparently.

    e.g. Where 123456 is the post ID and 98765 is the comment id:

    Change https://lemmy.world/post/12345/98765 to https://t.lemmy.world/post/12345/98765

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.35 Released

    This is a bugfix / fine tune release building upon 1.4.34. No new features, just optimizing a few things based on feedback.

    Bugfixes / Changes

    • Post Titles: Decrease opacity from 90% to 80% when fading read post titles since 90% wasn't really perceptible
    • Removed Comments -> Mod View: Got rid of "Removed Comment" spoiler on removed comments for mods and now show the text in-place like it used to be in 0.19.3. Still requires the automatic modlog lookup feature to be enabled and finding an entry for the comment in the modlog. The logic is the same, just the presentation a bit more streamlined to match what admins see (and what mods used to see).
    • Markdown Editor: Fixed an errant comma causing the keyboard shortcut for inserting a hyperlink to not wrap the selected text correctly like the toolbar button does.
    • Media Integrations -> Spotify: Additional Spotify CDN detection for their thumbnails (when did it become "good" practice to stop using file extensions?!
  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.34 Released

    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 s
  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Appending the removal reason from the modlog to comments. Good idea? Bad idea?

    I'm testing a feature in my current dev branch and would like some feedback.

    When loading a removed comment in the comment section, it automatically fetches the removal reason from the modlog and appends it below 'Removed by Mod" on the comment. The "Removed by Mod" text is also linked to the modlog entry for the item.

    Not shown here, but if you're a mod, it will also append, in a spoiler block, the original comment that was removed. Somewhere between 0.19.3 and 0.19.9, the Lemmy devs decided mods should no longer be able to see removed comments in their own communities, which I think is a huge regression (though thankfully admins can still see them).

    Thoughts? Is this asking for drama, or would it be generally beneficial? Right now, in the dev branch, it just does it, but I can make it a user option.

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.33 Released

    This is a mainly bugfix release.

    Important: If you are using Tesseract on 0.19.10, this fixes a feature regression that disabled all 0.19.4+ features.

    Bugfixes

    • Piefed links are identical to Lemmy but not API compatible; fixed bug when loading a Piefed link in a modal. Now has button similar to /post to load the outside pos/comment link in a new tab/window.
    • PeerTube seems to have a new video ID format. Added that to the detection regexes so those will embed.
    • Fix typo in "Check for Notifications" label
    • Fixed / accounted-for Spotify thumbanils (they don't have extensions and weren't being detected as images)
    • Home-instance custom emojis exempted from inline media disable setting
    • Fixed broken semver comparisons on 0.19.10+ (any features requiring greater than API 0.19.3 were being disabled).
    • Removed mobile OS "share" integration as it was more trouble than it was worth. Now all 'share' and 'copy link' buttons just write the item to the clipboard.
    • Add slight r
  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Tesseract for Lemmy v4.1 Released! ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰

    Note: I know it's probably a little early depending on your time zone, but I scheduled this to send at midnight UTC (8pm my time) because I wanted to release version 4.1 on 4/1 as I'm an absolute sucker for gimmicks (which will become very apparent as you read the release notes).

    About

    I've been working on this in a new repo for months, and I'm extremely excited about this release. In fact, this is such a major release and paradigm shift that I'm jumping 3 major and one minor versions (this was originally slated to be v2.0).

    It's still AGPL, and I hope to make the source code public soon, but until I've done some cleanup, the repo is still private and is only released as pre-built Docker images. Unfortunately, only amd64 is supported at the moment since I'm having trouble with Github Actions and can't do arm64 builds locally. Hope to have that resolved by the next release. ๐Ÿคž

    What's New?

    Absolutely everything!

    I'm tired of being John Henry / "old man who yells at c

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Seeking Contributers and/or Possibly Someone to Fork/Take Over the Project

    Late January, I had to step away from the project for a while to deal with some family stuff. That's resolved, but try as I might, I just cannot force myself to get back into development mode on this.

    I've got other projects I want to work on, both hobby and home improvement. I need to focus on the latter, and really want to focus on the former. Like anyone else, my time is finite.

    The Hard Truth

    Tesseract was written for Lemmy, and I'm tired of porting it to Lemmy over and over again because the Lemmy devs keep breaking the API. Yes, yes, pre-1.0 technically means they can shred the API and break everything from release to release. But when a project is widely used, in perpetual beta, and has lots of other developers developing against it, it's disrespectful to them to constantly introduce so many breaking changes when it can be avoided. And it CAN be avoided; they just don't bother.

    So where does that leave the project?

    Well, potentially completely broken on

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    Feedback Requested: Implementation of Instance Agnostic Links

    I'm incorporating this as a client-side feature in 1.4.30: https://github.com/LemmyNet/lemmy/issues/2987

    API support is irrelevant as the tools needed to make this work already exist, and are already in use (e.g. user and community links and the localization of remote post/comment links).

    I've had user and community links working that way for many releases now, and in this release, I'm extending it to posts and comments.

    User/Community links already auto resolve and bring up modals with actions for them. Currently, the new post/comment universal link handling is just a fancy button link that supports an extra couple of formats, but I plan to add a bit of extra functionality to them (though maybe not in the initial release).

    When you go to a "foreign" post or comment in Tesseract, there is a button to load it on your home instance. I've not made that automatic because it's often useful to view posts on other instances (e.g. your instance has banned the creator, your instance d

  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.9 Released

    1.4.9


    Bugfixes

    • [179a4f6b] Disabled accidental hashtag badge-ification on post titles
    • [6635fba2] Ignore pre-linked hashtags during regex pre-processing
    • [b14e11b1] Bugfix/enhancement: Support 'foreign' hashtags that are already linked to outside sources
    • [93355eb0] Fixed weird post css inheritance putting 2rem margins (1 top, 1 bottom) on details > summary elements.
    • [048c1963] Add noreferrer to links
    • [76e64610] Fix bug when closing image upload modal via "X" button, current image and alt text not reset.
    • [904d21fe] Only collapse bot comments (if enabled) on /post pages rather than everywhere.
    • [91598f6c] Add step to Dockerfile to clear npm cache after installing runtime deps (image size ballooned up by 200 MB after file-type updated and required strtok3 as a runtime dependency; 99.9% of that was just npm cache).
    • [f3451a14] Enhancement/Change: Removed capitalize class from modal title element.

    Changes

    • [c2cc4b70] Re-wrote User->Blocks page to
  • Tesseract @dubvee.org
    Admiral Patrick @dubvee.org

    1.4.6 Released

    This announcement covers both 1.4.5 and 1.4.6

    (I really need to start disabling the UI debug button when I take screenshots lol)

    1.4.6

    Bugfixes

    • [Modlog] Fixed some filter selections not clearing from modlog when clicking "Reset Modlog Filters"

    Changes/Enhancements

    • Post titles now render as markdown (merged from an old branch as I was unaware Lemmy-UI finally supports this)
    • If downvotes are disabled at the instance level, upvote buttons are now hearts

    New Feature: Disable Downvotes

    Users can now disable downvotes in the UI (regardless of instance settings).

    When downvotes are disabled in the UI, the behavior is the same as if they were disabled on the server:

    • The "downvote" button is removed
    • Downvote counts are not shown (upvote counts are independent of downvote counts)
    • The "upvote" button becomes a "heart" icon (which acts like a "favorite" or "like" button on other platforms)

    You can also combine this with the hide scores option. In that case, th