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.
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
Revert throw error in /post/instance/postid loader as it was preventing the prettier error in +page.svelte from showing
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?
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.
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
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?!
[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
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.
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.
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
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.
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
[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.