New Features and Notable Enhancements

The last release was mostly for the mods/admins, so this release has something for the users. Several somethings, actually.

  • Emoji Picker and support for your home instances’s custom emojis.

  • HTML5 Media embeds in posts/comments. Uses the same syntax as Lemmy-UI / images

  • Ability to favorite communities

  • Ability to create groups of communities

  • View favorites or any of your groups as a custom feed

  • Option to open posts in a new tab (separate from outside links)

  • Re-implemented the NSFW blur in the feed

    • Can now reveal the blurred content with a click (formerly it would just load the post)
    • Text blurs now instead of hiding
    • NSFW-flagged embedded media will turn from a blurred thumbnail into the interactive player upon reveal
    • Inline videos (mp4, webm, etc) can now blur (they didn’t blur at all before)
  • Community and user links are now properly detected in markdown and will re-write to fetch locally and automatically within Tesseract.

    • e.g. Someone comments !communty@example.com or https://example.com/c/community and Tesseract will detect and re-write those so that they will fetch locally at https://tesseract.my-instance.com/c/[email protected].
    • Combined with the automatic/transparent community resolution introduced in 1.2.69, this makes community links about as universal as they can be in the Fediverse.
  • Export / Import Tesserct settings, groups, and favorites to a JSON file.

  • Upload/Download Tesseract settings, groups, and favorites to Lemmy

  • Re-implemented the breadcrumb navbar as a standard/modular component. Added more convenience buttons

  • Your saved posts/comments are now sortable, paginated, and can be returned individually. Was formerly all or nothing and sorted by new.

  • Can now toggle the margins in the feed on and off. (Arrows out/in button in the lower navbar)

  • Trimmed down the options in the post action menus and made two new menus on posts:

    • Post Menu: Mark as (un)read, share, save, cross-post, report, and block the author.
    • Community Menu: Has options relevant to the community such as create post, browse posts, view its modlog, add to favorite or group, subscribe/unsubscribe, and block.
    • Explore Menu: Helps you discover other communities and instances as well as request a Fediseer report for the instances involved with the post.
  • Added post actions and quick options to the navigation bar throughout the app

Bugfixes and Misc Changes

  • [Bugfix] Fixed incorrect type on restoreReplyToAuthor in mod action object

  • [Bugfix] Fixed rare unhandled exception in UserLink if display name wasn’t found on a user object

  • [Bugfix] Fixed race condition with displaying resolver on reports on initial resolve.

  • [Bugfix] Certain post configurations were not respecting the “show full URL” setting

  • [Bugfix] Completely missed implementing NSFW blurring/hiding on inline videos. Added that.

  • [Bugfix] Fixed improper invalidations in multiple areas. Clicking from the feed into a post should now no longer invalidate if you click the comment button instead of the title or image.

  • [Bugfix] Fixed bug where the first element of some toobars would get cropped out of viewport in mobile view (admin/settings panels mainly)

  • [UI] Added down chevron to SelectMenu component (forgot that on the last 2 releases)

  • [Infrastructure] Implemented versioning of the settings. Now that there are more user-defined things getting saved to local storage, I want to make sure settings can be migrated from version to version without losing anything as well as the ability to transfer those across devices.

  • [Community Panels]Restored subscribe/unsubscribe button in community panel (was formerly only in the action menu)

  • [Modlog] Removed card view as an option.

  • [Modlog] Re-implemented table view to use flex and reflow into something resembling the old cards but more compact. Works for desktop and mobile.

  • [Modlog] Due to the above, modlog search/filtering now work in mobile

  • [Modlog] Filters remain present when there’s a selection; avoid having to reload modlog just to switch filter params.

  • [Image Proxy] Added rule to bypass proxying for inline data: images.

  • [UI Tweak] Standardized the sub-navigation bar at the top of the feeds, posts, other areas. Standard functions are merely toggles and custom elements can be slotted in.

  • [UI Tweak] Added an expand/collapse button to the toolbar in the various feed pages (main, community, user) that will allow you to enable/disable the margins

  • [UI Tweak] Card/Compact switcher is just a toggle button

  • [UI Tweak] Updated NSFW post handing in the feed. Easier to un-blur on a case-by-case basis without having to go into the post

  • [UI Tweak] Added NSFW blur to post body text in the feed instead of hiding it completely. Expanding it will un-blur it.

  • [UI Tweak] Partially restored “scroll to top” behavior when collapsing post body text in feed. Now only scrolls when you collapse it back down (to save you having to scroll all the way back to your starting position).

Import/Export Tesseract Settings

You can now export your Tesseract settings to a JSON file and import it again. New features are coming that will utilize settings storage for templates, favorite communities, community groups, and more. Having the ability to export/backup and restore is going to be a necessary feature, so getting this part out of the way first.

  • Transfer your settings between devices
  • Backup your preferences, configuration, favorites, and groups.
  • Does not backup accounts as the auth token is a required part of the account profile.
  • The exports are meant to transfer settings for the same account to different devices and not to share groups/favorites. However, that can be achieved as long as it is done between acounts on the same instance. The groups and favorites rely on the community ID which will vary from instance to instance.

Sync Settings To/From Server

Sync your Tesseract settings (config, preferences, and groups/favorites) to your home Lemmy instance. This will allow you to load your preferences, groups, and favorites on another device without having to physically transfer and import an export JSON file.

Notes, Warnings, and Cautions:

Sync to/from server is a one-off operation. Your current settings are stored/retrieved from the API but any changes after that are still local-only. You’ll need to sync them to Lemmy after any significant changes.

The way this is done is a horrible abuse of the Lemmy API. There’s currently no custom fields available to store 3rd party data, so I had to get creative.

The theme field in your user profile maps to a text field in the database. It’s also not a value used for anything load-bearing outside of Lemmy-UI. That said, it is capable of holding arbitrary date such as a serialized JSON object representing whatever we want. In this case, your Tesseract config.

Please be aware that this will break Lemmy UI’s CSS while your profile data is stored inside the theme field. To restore the theme field in your profile to a valid value, use the “Clear from Lemmy” button at the bottom of the Import and Export Settings panel.

Also of note is that this does not merge the settings; what you load from the server will replace your current Tesseract settings, groups, and favorites.

Tips/Tricks

If you just want to quickly transfer your settings to another device (e.g. PC -> phone or vice-versa), you can save your Tesseract settings to Lemmy, load them on the new device, and then return the theme field to a valid value. You can use the file export for long-term storage.

I’ve submitted an RFC to see about getting a custom field for this purpose added to the API, but I do not know if it will gain traction or not. For now, I’m content with this method unless it proves to cause problems (none so far in testing).

If you rarely, if ever, use Lemmy-UI, then you can leave your profile data saved there and only clear it if you do need to use it (that’s what I do :shrug:).

Release Info

  • GitHub
  • Docker
    • ghcr.io/asimons04/tesseract:v1.2.9
    • ghcr.io/asimons04/tesseract:latest-18
    • ghcr.io/asimons04/tesseract:latest