Lemmy Apps
A home for discussion of Lemmy apps and tools for all platforms.
RULES:
- No spamming
- Be nice and have fun
- Follow the general lemmy.world rules
An extensive list of Lemmy apps is available here:
Visit our partner Communities!
Lemmy Plugins and Userscripts is a great place to enhance the Lemmy browsing experience. [email protected]
Lemmy Integrations is a community about all integrations with the lemmy API. Bots, Scripts, New Apps, etc. [email protected]
Lemmy Bots and Tools is a place to discuss and show off bots, tools, front ends, etc. you’re making that relate to lemmy. [email protected]
Lemmy App Development is a place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform. [email protected]
Amazingly, Photon and Alexandrite started on the same day, June 24.
Top left: Voyager
Bottom right: Photon
Top right: Alexandrite
Feature: Alternate Source Selector
Implementation Difficulty: Easy
Live Example: https://tesseract.dubvee.org/c/[email protected] (The "link" icon to the left of the post's URL.)
Rationale: I'm quite annoyed with people whining "pAyWallED!" in news post comments, and this is Tesseract's way of addressing that (for users of that UI, anyway)
Description:
On posts with links (that aren't images, audio, video, Youtube, or other media), a dropdown menu is added with links to alternate sources.
Each one will search for the URL in the selected archive provider (currently Ghost Archive, Archive Today, 12ft.io) or Ground News (new in 1.4.5).
Lemmy-UI kind of does this, but completely ass-backwards (only during post creation to set the post link; I'll spare you my spiel about how that's a horrible vector for misinformation).
On Youtube-like posts (YT, Invidious, or Piped), the options are changed to go to the canonical YT link, your preferred Invidious instance, or your preferred Piped instance, but that's just a secondary (but still nice) feature of that component.
Would love to see something like this more widely adopted and am more than happy to answer any implementation questions.
Updated! Updates are shown in quote text like this. Some scores are updated following app updates.
An Apps Experiment
Introduction
This is an experiment I performed out of curiosity, and I have a few big disclaimers at the bottom. Basically, I've seen a lot of comments recently about one app or another not displaying something right. Lemmy has been around for a while now and can no longer be considered an experimental platform.
Lemmy and the apps that people use to access the platform have become an important part of people’s lives. Whether you are checking the app weekly or daily, and whether you use it to stay up on the news or to stay connected to your hobby, it’s important that it works. I hope that this helps people to see the extent of the challenge, and encourages developers to improve their apps, too.
How I did it
I wanted to investigate objectively how accurately each app displays text of posts and comments using the standard Lemmy markdown. Markdown is a standard part of the Lemmy platform, but not all apps handle it the same. It is basically what gives text useful formatting.
I used the latest release of each app, but did not include pre-releases. I only included apps that have released an update in the last 6 months, which should include most apps in active development. ~~I was unable to test iOS-exclusive apps, so they are not included either. In all, 16 apps met the inclusion criteria.~~
I also added Eternity, which is in active development, although it has not had a recent update. I was able to include several iOS apps thanks to testing from @[email protected] – Thanks, Jordan! This made for 20 apps that were tested.
Each app was rated in 5 categories: Text, Format, Spoilers, Links, and Images. I chose these mostly based on the wonderful Markdown Guide from @[email protected], which was posted about a year ago in [email protected] (here).
I checked whether each app correctly displayed each category, then took the overall average. Each category was weighted equally. Text includes italic, bold, strong, strikethrough, superscript, and subscript. Format includes block quotes, lists, code (block and inline), tables, and dividers. Spoilers includes display of hidden, expandable spoilers. Links includes external links, username links, and community links. Images included embedded images, image references, and inline images.
Thanks to input from others, I also added a test to see if lemmy hyperlinks opened in-app. There was a problem with using the SFFA Community Guide that caused some apps to be essentially penalized twice because there was formatting inside formatting, so I created this TEST POST to more clearly and fairly measure each app.
In each case, I checked whether the display was correct based on the rules for Lemmy Markdown, and consistent with the author’s intent. In cases where the app recognized the tag correctly but did not display it accurately, that was treated as a fail.
Results
Out of a possible perfect 10, 7 apps displayed all markdown correctly:
Alexandrite - 10.0
Connect - 10.0
Jerboa (Official Android client) - 10.0
Photon - 10.0
Quiblr - 10.0
Summit - 10.0
Voyager - 10.0
Arctic - 9.3
Interstellar - 9.1
Lemmuy-UI - 9.0
Thunder - 8.9
Tesseract - 8.6
mlmym - 8.0
Racoon - 7.6
Boost - 7.3
Eternity - 7.0
Lemmios - 6.9
Sync - 6.9
Lemmynade - 6.1
Avelon - 5.7
Disclaimers
Disclaimers
I Love Lemmy Apps (and their devs)
Lemmy apps devs work very hard, and invest a lot in the platform. Lemmy is better because they are doing the work that they do. Like, a LOT better. Everyone who uses the platform has to access it through one app or another. Apps are the face of the entire platform. Whether an app is a FOSS passion project, underwritten by a grant, or generating income through sales or ads, no one is getting rich by making their app. It is for the benefit of the community.
This is not meant to be a rating of the quality or functionality of any app. An app may have a high rating here but be missing other features that users want, or users may love an app that has a lower rating. This is just about how well apps handle markdown.
This is pretty unscientific
You’ll see my methodology above. I’m not a scientist. There is probably a much better way to do this, and I probably have biases in terms of how I went about it. I think it’s interesting and probably has some valuable information. If you think it’s interesting, let me know. If you think of a better way, PM me and I’d be happy to share what I have so you don’t have to start from scratch.
My only goal is to help the community
I do think that accurately displaying markdown should be a standard expectation of a finished app. I hope that devs use this as an opportunity to shore up the areas that are lagging, and that they have a set of standards to aim for.
~~I don’t have any Apple things~~
~~Sorry. This is just Android and Web review. If someone would like to see how iOS apps are doing, please reach out and I’ll share how we can work together to include them.~~
Do any Lemmy apps have a "hide read posts" toggle on the main page, rather than buried deep in the settings?
Cross posted from: https://lemmy.world/post/17478363
Hi Lemmy! I've just uploaded a new beta version that adds support for Lemmy 0.19.4 features, this is the changelog:
- Hide posts: Individual posts can be hidden now. There is Show hidden toggle on the toolbar menu (Lemmy 0.19.4)
- View previously uploaded images on your profile page, Uploads tab (Lemmy 0.19.4)
- Add custom thumbnail when creating a link post (Lemmy 0.19.4)
- Show mod/admin indicators next to usernames in posts and comments
- Fixed mark as read on scroll not working on some instances
- Bug fixes and improvements
Thanks for using Lemmy. You're the best!
This update is currently available on phtn.app, with a tagged release coming soon. Post navigation is down by 65% and returning from posts is instant.
What's Changed
-
feat: add infinite scroll
- You can now scroll down infinitely without clicking next!
- As a bonus, returning from a post page is now instant.
- Of course, you can turn it off in settings.
- A virtual list is also used so that infinite posts can be loaded with no performance impact.
-
feat: parse tags from title
- Tesseract dev and I had the same idea, [tags in brackets] in posts will automatically be converted to a badge/flair. You can click it to search for all posts with that tag in a community.
- I added options which let you choose flairs to blur posts of or hide.
-
tweak link design
-
improve smaller screen support
-
codebase: move $profile to a derived, immutable store to improve consistency
-
i18n: add new languages/update languages
- Chinese
- English
- Estonian
- French
- Finnish
- German
- Hebrew
- Portuguese
-
Update p.darrennathanael.com photon region by @DarrenOfficial in https://github.com/Xyphyn/photon/pull/350
-
Remove empty space left by hideTitle by @sevonj in https://github.com/Xyphyn/photon/pull/352
-
docs: Post component comments by @sevonj in https://github.com/Xyphyn/photon/pull/354
Full Changelog: https://github.com/Xyphyn/photon/compare/v1.30.4...v1.31.0-rc.1
cross-posted from: https://dubvee.org/post/1463905
1.4.1 is mostly a bugfix / under-the-hood release, though there are some new things as well as several refinements to old things (see Misc Changes below).
This is the first of a few releases that's going to focus on addressing some feedback I've gotten that basically boils down to "too many buttons". I agree with that completely, and this release eliminates at least one of them.
Say Goodbye to 'Community Menu' and Hello to Community Modals
The "Community" menu button on posts has been completely removed, and all of its features (and more) have been moved to the newly created Community profile modal. When you click on the community name in the post header, instead of being taken to the /c/ community page, it brings up a modal with the community icon, banner, description, moderators, and a list of action buttons. It does for community links what the user profile modal did for user links in the last release.
Another benefit to this is allowing access to the community details / sidebar info while on mobile. It used to have that ability, but it was ugly and kludged on, so I removed it several versions ago. Now it's available again, and implemented in a way I like.
Post Flairs
There's a new user option, enabled by default, that will extract any [tag]
items from post titles and convert them into flair badges. Anything in []
in the post title will be converted into a flair tag, and the [whatever]
removed from the displayed title.
Clicking a flair badge will perform a prepared search for other posts with the same flair (e.g. search?type=Posts&q=[tag]
). They work more or less the same as hashtags do (if you have those enabled).
This had been half-implemented in a branch for some time now, but I wasn't sure if other front-ends were handling them in a similar way. Saw an post from the Photon dev saying they're adding them, and it's compatible with my implementation, so figured it was time to dust off that branch and merge it in.
It also supports nested flairs: if there are multiple, comma-delimited words in the brackets, each one will be applied as a flair.
Debug view showing original post title for the above:
1.4.1 Changelog
Infrastructure
- Update SvelteKit from 1 to 2 and update underlying dependencies
- Update other project dependencies to latest versions
- Update NodeJS from 20 to 22
- Update
lemmy-js-client
to 0.19.4 so latest features can be utilized. - Removed
svelte/adapter-auto
and only use Node adapter. - Remove some discrete, one-off logic and replace with shared/standardized components
Bugfixes
- Fixed modlog action menus clipping
- Fixed reactivity and blocked/unblocked status on profile modals and user pages. Added a call to getSite after blocking/unblocking to update person blocks list.
- Fix mobile reflow in modlog
- Fixed bug with non-default instance not showing site icon/banner correctly
- Fixed bug with re-authenticating to the first profile (index 0 was getting ignored and creating a new profile vs reauthorizing)
- Fix heading/icon in "Create" menu not being properly justified
- Fixed bug when inline images are disabled, the link isn't shown
- Fixed bug when refreshing profile page, sometimes the wrong comment data would be shown in the edit of another comment (added index to 'each' iterator)
- Fixed bug where setting the guest instance required clicking it twice to update the site info / logos.
New Feature: Community Profile Modals
When clicking on a community in the feed, instead of taking you directly to the /c/
community page, a modal will pop up with relevant options for the community. Works the same way as the user profile modal.
- Browse Community
- Create Post
- Modlog
- Favorite/Unfavorite Community
- Add/remove community to group
- Subscribe/Unsubscribe
- Block / Unblock Community
- View Community Details
- View Community Moderators (click the mod username entries to bring up their profile modal + options)
- Zoom in on the community icon
Misc Changes
-
Removed Fediseer badge option for posts (rarely used and Fediseer is accessible via Instance menu and from instances page)
- I'm assuming rarely used. I don't (and won't) have any kind of telemetry, but from the instances I have seen running Tesseract in the wild, none have had those badges enabled.
-
Removed the "Community" menu from posts; all of those options are now available in the Community Profile modal (access by clicking the community name in the post heading)
- Also allows accessing these options from comments (such as on profile pages) which normally do not have the "Community" menus.
- The option "More from {user} in {community} has been moved to the post action menu.
-
Removed "Block {user}" from post action menu; access it from the user profile modal by clickin the user's name in the post/comment header.
-
Changed the button layout in the User Profile modal.
- "View User on Their Home Instance" button has been shrunk to just a "Home" icon and is in the same row as "Go to Profile"
- Added a new, small button (also inline with "Go to Profile") that will open the profile in a new tab/window
- Same as above, but for user modlog
- Shrunk "Copy Lemmyverse Link" button to just a "Share" icon button, moved inline with "Search for Alts" button.
- Added new button to copy the actor ID (rather than Lemmyverse link). It is the "Link" icon next to the Lemmyverse button
- Block User button now fully reactive
-
Add dark/light theme switcher to sidebar footer (near logo/version and Lemmy/Matrix/Github buttons)
-
Removed background on image zoom toolbar
-
SettingEditArray
component is now filterable and can accept a comma-delimited list of entries -
De-cluttered main menu (top right).
- Removed User Settings Button
- Removed App Settings Button
- Added "Settings" button to go to /settings, moved to old "User Settings" slot
- Moved "Manage Accounts" out of profile submenu and into main menu
-
Added user profile settings to
/settings
in addition to the application settings- Still accessible from Profile->Settings
-
Slight updates to admin panel
- Changed layout of tagline editor
- Taglines are now previewed as markdown (as they would be elsewhere)
- Federation block/allow list configuration now uses the
SettingEditArray
component rather than being a discrete editor.
Get Tesseract
- Hosted Instance: Unlocked to allow login to any Lemmy instance
- Github
- Changelog
- Docs
- Matrix Support
- Lemmy Community
- Docker:
ghcr.io/asimons04/tesseract:v1.4.1
(Should have images for amd64 and arm64 now that the Github actions are fixed)- If the Github actions fail to build, you can use the alternate tag
ghcr.io/asimons04/tesseract:1.4.1
which is the one I push manually for QA on the hosted instance. Note that it's only amd64, though.
- If the Github actions fail to build, you can use the alternate tag
Is there a Lemmy app that has the ability to download (via WiFi) a certain number of posts from predefined communities to be able to read them on the go without using any data?
Basically, I'm looking for a Lemmy equivalent to the offline Reader for Reddit
cross-posted from: https://dubvee.org/post/1381314
Changelog for 1.4.x Series (Intrepid)
1.4.0
This is the first release which completely drops "legacy" support for 0.18.x and below. The minimum required API level is now 0.19.3 (though it will work with any 0.19.x series, there will be broken features that require 0.19.3).
None of the 0.19.4 features are implemented yet. Updating my instance to 0.19.4 is not on my priority list at the moment, though I really wished the media listing was present when I added the new media handling stuff. :sigh:
I'll probably be working on the 0.19.4 features sometime soon as I would like to finish what I had in mind for the media handling, and 0.19.4 provides the missing piece.
Anyway, here's what's new and improved:
New Features
Zoomable Images
Most images are now zoomable: post images, user/site/community avatars, images posted in comments, etc.
All the pan/zoom libraries I tried suuuuuuucked, so I ended up rolling my own from scratch. The pinch zoom isn't quite where I want it, but it's a start. If anyone wants to contribute some code for improving that, please let me know.
- Support zoom, pan, and rotate
- Mouse scroll to zoom
- Click/grab to pan
- Rotate via on-screen buttons
- Double-click to quick zoom in/out by 2x
- Gesture support
- Pinch zoom in/out
- Swipe up to zoom in
- Swipe down to zoom out
- Swipe left or right to close the zoom modal
- Other gestures may be added once I figure out a clean way to differentiate them from conflicting mouse events
Basic Gesture Support
First, I should point out that I am not a fan of gesture navigation; absolutely hate it as a primary method of interaction. I'm old and hate having to guess whether my fingers need to do the Macarena or the Hokey-Pokey to perform what should be an intuitive action.
That said, I do like waving things (and people) away.
To that end, I've added some gesture recognition in a few places, mostly modals. Any modal can now be dismissed with a left or right swipe in an area not bound by other event handlers.
- e.g. You can't swipe in the text field to dismiss an edit/report/ban/remove modal; you have to swipe outside of that.
- Left/right swipe was chosen as to not interfere with scrolling so it could be used consistently across all modal types.
The only other place, currently, with gesture support is the image zoom modal (described above).
I may add some additional swipe actions where it's intuitive to do so. For now, I'm content with modals being easier to dismiss on mobile without having to reach up to the close button in the top corner.
User Profile Modals
Clicking on usernames throughout the application will now load a modal with their user card and relevant action buttons. Old behavior was taking you to their profile directly.
Actions include:
- Go to profile
- Message in Lemmy / Matrix
- Block User
- Search for alts / simiarly-named accounts
- Ban user from instance (admins only)
- View user on their home instance
- Copy Lemmyverse link for user
Image Management on Posts/Comments (Paste Images into Post URL and Markdown Editor)
- Images can be pasted in the post's URL field as well as in the markdown editor.
- Images can optionally be pre-processed to webP along with a user-selectable quality level. Especially useful if your instance limits the size of uploads
- Can delete post images (only before you save the post; unfortunately there's no way to retrieve the delete token after that even though it is stored in the DB. Yet another API limitation :sigh:)
- This is addressed in 0.19.4, but I don't have support for that yet.
- Images pasted/uploaded into the markdown editor are tracked in a bar along the bottom of the editor. Individual images can be deleted as needed along with the corresponding markdown code for them.
Hide Posts/Comments From New Users
In App Settings -> Filters, you can now opt to hide posts/comments made by new users. You can also set the number of days an account is considered new: 1 to 30 days. That setting also is applied to the new user badges (if you set the minimum age to 15 days, any account 15 days or younger will show the new user badge).
This setting behaves differently for mods and admins:
- Mods: Filter will be applied to all posts/comments except in communities of which you are a moderator.
- Admins: Filter will be applied to all posts/coments except those made to communities local to your instance or those made to remote communities of which you are a moderator.
Comments made by new users will be hidden, and that includes any replies (essentially behaves the same way as blocked users)
Federation State Viewer
From the instances menu on a post, there's a new option called "Federation Stats" which will show you the stats from your instance to the target and from the target to your instance. Also included in that is an estimated cacluation of the number of activities each instance is behind (useful for troubleshooting federation delays).
This information has also been added to the instance items at /instances
Please note that the "Activities behind" counter is only an estimate. The value for newest_activity_id
is not provided by the API (because that would be useful, so why would the Lemmy devs include it?), so it has to be estimated. The estimation is done by looking at the last_successful_id
of all the linked instances and grabbing the highest number and subtracting the last_successful_id
for the selected instance. Not all of those activities would necessarily be coming to your instance (votes/posts/comments to communities yours isn't subscribed to, etc), so it is merely an estimation. Just because it shows you are behind by X number doesn't necessarily mean it's behind by that many.
Instances Page
Re-wrote this to do manual pagination, searching, and filtering. Much more responsive now that it is not rendering several thousand components each with actions items.
"Click to Play" Media Embeds
If media is disabled in the feed, the thumbnail will now have an overlay button that will convert it to an embed on-the-fly.
When loading a video via click-to-play, I'm conditionally setting the "autoplay" flag where the embed API supports it, but it doesn't always seem to be honored. This is an attempt to not have to press "play" twice for a video. So far, the only video frontend that seems to honor it is YouTube. Invidious/Piped, so far, do not, and neither does PeerTube.
Ok, so autoplay works if muted (no idea how YouTube's player gets around this; probably some chicanery). I think that's worse because you still have to click twice on the videos, and the "unmute" button is harder to reach than "play". So I think I'm going to just settle on having to click play twice.
This seems to be be a Chrome/Chromium thing (and explains why YT gets to bypass this). In Firefox, the autoplay flag is respected without having to mute the video.
Re-Integrated Piped Support as an Embeddable Youtube Frontend
Now that click to play has been added, Piped support has been added back. It was removed due to poor performance and rate limiting when used with feed embeds.
If media embeds are enabed in the feed, only YouTube frontend will show direct embeds. Piped/Invidious will always be click to play regardless of embed setting due to above mentioned rate limiting / performance.
Alternate Source Dropdown / Archive Links
Removed the [Archive Link]
next to the post URL and replacd it with a fancy menu to the left of it.
- On posts with links, it currently has buttons to search for the article at Archive Today, Ghost Archive, and 12ft.io
- On Youtube-like posts, can select alternalte links for YouTube, Invidious, or Piped
- Invidious/Piped will open with your preferred instance (defined in settings)
- Useful if someone posts a video to an Invidious instance that performs poorly for you and you would prefer to view it on your preferred Invidious/Piped instance or canonically on YouTube.
Quick Action Menus
On mobile, the navbar was getting cluttered, so most of the discrete dropdowns there have been moved into Quick Actions menus.
- Main, Community, and User feed pages: Quick Actions has replaced all discrete menus
- Search Page, Modlog, instances page, and Community Browser: All of the filtering options are in a quick action menu
Users Can Now Add Their Own Preferred Invidious/Piped Instances
Prior to this release, any Piped or Invidious instances needed to be added by the administrator via environment variables. In addition to that, users can now add any number of custom Invidious and/or Piped instances in the app settings.
These will be combined with the built-in list and the admin-extended list and be available for use as your preferred YT frontend and for detection of Piped/Invidious links in posts.
Be aware that those custom instances will only render as embeds for you; they will be thumbnails for anyone else who hasn't added them to Tesseract. If you feel that instance should be added to Tesseract's built-in list, please submit a Github issue with the details.
Tesseract is pre-populated with the official list of public instances for each, but it can get out of date easily.
Note: As of 6/20/2024, I've noticed a lot of Invidious/Piped instances are now requiring login, and embeds through them no longer work. I believe if you have an account with one, log in, and enable 3rd party cookies for that domain, the embeds should work. I have not tried that, but it does work with Spotify. This isn't a Tesseract bug, unfortunately, or I'd fix it.
Can Disable Infinite Scroll if you Want
If you're not a fan of the infinite scroll, you can go to App Settings -> Feed and disable infinite scroll.
TOTP 2FA Setup
Can now enable and enroll in 2FA as well as disable it.
Account Icons Now Use Your Profile Avatar
Icons in the account switcher and account screens now sync to your profile avatar, if defined.
New Placeholder User Avatars
Instead of the initials as used previously on accounts without avatars, now uses Dicebear Adventurer pseudorandom avatars. Initials are still used for placeholder community icons when the community mods haven't set one.
Passwords Can Now Be Revealed
All password elements will now allow you to toggle them to reveal. Should make a big improvement when logging-in on mobile.
Vote Viewer (Admins Only)
Admins can now see votes like in Lemmy-UI. Uses infinite scroll and deduplication to compensate for the stupid API that returns multiple/duplicate votes on each page.
Bugfixes and Enhancements
Removed 0.18.x Backwards Compatibility
- Or, more specifically, removed 0.18.x JS client and the extensions I wrote to make that compatible with 0.19.x. Now uses the 0.19.3 JS client.
- Removed the image upload proxy which was needed in 0.18x due to CORS restrictions.
Various Enhancements to Auth Module.
- Added safety check so that the auth token is only ever sent to the profile's associated instance and cannot accidentally send to non-home instance (e.g. when browsing communities on a remote instance).
- Fixed a few chicken/egg situations where the profile store needed to be accessed before it was initialized
- If your auth token is invalid, such as after changing your password on another device, you will get a toast message you can click to take you to the login screen.
- If a profile exists for a username/instance combo, logging in will update the auth token for that existing profile rather than creating a new one.
- User avatars are now fetched when logging in.
Grace Period Before Media Embeds are Destroyed When Scrolling out of Viewport
- Embeds now have a short timeout when leaving the viewport before they're removed from the DOM and turn back into thumbnails. Fixes annoyance when resizing the window while a video is playing and the video temporarily leaves the viewport and is destroyed. Timeout is 2 seconds and will reset/disarm if the post returns to the viewport before it expires.
Community Creation / Editing
- Uses new upload handler for banner/icon
- Can pre-process the banner/icon to webP before uploading
- Shows a live preview of how the community card will look
General
- Slightly darkened background color in light mode cards (bg-white->bg-slate-100) for better contrast. Did similarly for some button colors
- Added "OpenDyslexic" as a UI font option
- Can now close modals with Escape key, close button, or by swiping left/right
- Added button to reveal password fields
- Some modals can be closed by clicking out of them.
- I need to disable this or make it more consistent. Some workflows utilize nested modals, so I do need to be able to keep them open when interacting with a child modal.
- Added "share" link for searches.
- Will generate a URL with the current search params and copy to your clipboard.
Other Stuff
Peertube Follows
On my last release post, someone mentioned that following Peertube channels may be broken. At the time I was still on 0.18.5 and had followed a PT channel, and seemed to be getting updates from it. Then I wasn't sure.
I can say that I have been getting at least some updates to the PT channel I follow (mostly as a test). While there have been videos posted there that did not come through to Lemmy, I don't know enough about PeerTube to know if they were published differently or what. However, I have gotten at least 2-3 that someone posted to Lemmy that would absolutely had to have come in via Federation.
Also confirmed that commenting on a PT video (from the channel feed, not an embed to a Lemmy community) does federate out and show up on Peertube's side along with any votes you give in Lemmy.
This isn't really a Tesseract issue since the Lemmy backend handles that. Just figured since I do support Peertube, it would be worth mentioning that it seems to work.
What Didn't Make the Cut This Release
- User profile import/export
- Link previews
- Custom feed rewrite
- Custom emoji management
- Fediseer Rewrite
I keep kicking the can on the custom feed and infinite scroll re-writes, but for a good reason. I want to start using IndexedDB to get around storage constraints in the browser's LocalStorage API. I need to write and integrate a library for this (or find one I don't hate), and that's going to take some dedicated development time. Switching to IndexDB is also a step in the direction I want to go towards providing offline support. So, at some point, there will be a release that only focuses on that. Not sure if it'll be in the 1.4.x series or later, but ultimately, that is where I want to go.
Get Tesseract
- Hosted Instance: Unlocked to allow login to any Lemmy instance
- Github
- Changelog
- Docs
- Matrix Support
- Lemmy Community
- Docker:
ghcr.io/asimons04/tesseract:v1.4.0
(Should have images for amd64 and arm64 now that the Github actions are fixed)
I've been looking around for lemmy apps but I just can't seem to find the best one if anyone has any suggestions they are welcome
Basically, title.
Here is the comment asking for help: https://lemmy.ca/comment/9663003 (paste it to your search bar if you're not on lemmy.ca)
I'm currently using Eternity but the developer stopped supporting it. Do you have any suggestions for another Android app I could switch to, preferably FOSS? I don't like Voyager for its UX and particularly the swiping functions. I prefer using swipes for navigation only and doing everything else by tapping buttons. In Voyager, I keep accidentally doing things I didn't intend to do.
Hi all,
Quiblr now has personalized post feeds for Lemmy!
I haven't seen a "recommended feed" feature anywhere else in the fediverse but I thought I would take a crack at building it!
My goal was to make a privacy-focused recommendation engine that tailors your experience based on the content you interact with. None of the data leaves your device. You don't even need to log in for it to work
- You can turn it off or tune your feed in the settings
- Each post now also includes a show me more/less button
I would LOVE feedback from folks if you get a chance to try it out!
This was really fun to build so let me know if there are any questions!
Cross-posted from: https://lemmy.world/post/15985516
Hey everyone, Thunder v0.4.0 is finally here! This release cycle took a bit longer than usual, but as a result, introduces a lot of new features, changes, and fixes which should make for a even better Thunder experience. If you have any suggestions or feedback, feel free to discuss it in the Thunder community or on GitHub.
If you're enjoying Thunder and would like to show some support, star this project on GitHub! This helps gain visibility for the project and allows more contributors to help with the continued development of Thunder. If you'd like to show some appreciation, here is a post with details on how to donate to the active contributors of Thunder.
A quick reminder: if you are using the Google Play version or App Store version, please note that it may take a bit of time before you receive the update. Now onto the update notes. This update brings a few major features:
🎉 New Features
- The comment creation page has been fully re-built from the ground up and introduces a few new features, including the ability to specify the comment language, ability to comment as a different user, and addition of spoilers to the markdown toolbar. If you have any suggestions or feedback regarding these changes, feel free to make a new issue on GitHub!
- There is now initial support for video playback on Thunder! The built-in video player should work with most video URLs (that end in a proper video extension) and should work with YouTube URLs. Additionally, you can customize some video settings such as playback speed, auto-mute, auto-play and more in the Settings page. The video player is still experimental, so there may still be some issues present.
- Additional customization options including the ability to customize the colours of actions (upvotes, downvotes, saving, etc.), hiding thumbnails from the feed, showing user/community avatars, and much more.
ℹ General
- There have been improvements to the overall UI/UX across the board. This includes improvements to the pure black theme, improvements to markdown rendering of tables, quotes, and more.
- There have also been a lot of changes under-the-hood to hopefully improve the overall performance and reliability of actions. As a result of these changes, there may still be some issues that were not caught during testing. If you notice any general issues, please make a new issue on GitHub.
And much much more. I can't go through all the changes in the changelog, but for those who are curious, feel free to check out the full changelog below.
We have a Matrix space if you would like to join in on discussions.
Additions
- Updated create comment page UI and added language selector to comments by hjiangsu
- Added ability to comment as a different user by micahmo
- Added spoiler to markdown buttons by micahmo and hjiangsu
- Added support for selecting discussion languages by iparks99
- Added support for new sort types as defaults by micahmo
- Added option to show user/community avatars by iparks99
- Added an option to hide thumbnails in feed by iparks99 and hjiangsu
- Added option to use profile picture for drawer by micahmo
- Added support for customizable action colors by micahmo
- Added selectable post/comment text by micahmo
- Added notification debugging section by micahmo
- Added confirmation message when unsubscribing from community by micahmo
- Added experimental support for video player by ggichure and hjiangsu
- Added sort options in instance explorer by micahmo
- Added ability to perform empty search in Search by micahmo
Changes
- Show individual unread counts in inbox page by micahmo
- Improved missing post snackbar message by micahmo
- Improved spoiler appearance by micahmo
- Adjusted markdown editor link dialog styling by micahmo
- Adjusted padding to community sidebar by micahmo
- Added loading page for posts/comments on slower connections by micahmo
- Adjusted post/comment language selector styling by hjiangsu
- Refactored post metadata and user/community chips by hjiangsu
- Refactored post page quick actions by hjiangsu
- Implemented core architecture to handle push notifications (APNs, UnifiedPush) by hjiangsu
- Added retry action when initial feed loading fails by micahmo
- Improved markdown appearance for block quotes, code blocks, and dividers by micahmo
- Apply full name customizations to inbox mentions view by micahmo
- Allow creating posts/comments with null language by micahmo
- Optimistically mark replies as read by micahmo
- Improved cross-post UI by CTalvio
- Disabled Thunder's edge swipe to go back on Android by hjiangsu
- Fixed various OLED color theme issues, community name format by CTalvio
- Improved UX for notification settings by micahmo
- Improved swipe gesture setting clarity with icons by CTalvio
- Added loading page when opening notifications and increased size of notification icon by micahmo
- Replaced score indicator icon by CTalvio
- Improved image dimension fetching logic by hjiangsu
- Improved the comment context jumping by micahmo
- Improved account page and management UI by CTalvio
- Improved selection of text when creating post/comment by micahmo
Fixes
- Fixed subscribe/favourite app bar action not updating UI by micahmo
- Fixed comment load spinner showing incorrectly by micahmo
- Fixed account page back button behaviour on Android by hjiangsu
- Fixed issues with deleted comment content showing up by micahmo
- Fixed search FAB primary single press action not triggering by micahmo
- Fixed issue marking multiple replies as read by micahmo
- Fixed issue with tablet mode images and full-height images by hjiangsu
- Fixed pan/pinch triggering unintentional double tap zoom by CTalvio
- Fixed issue popping notification page triggering twice by micahmo
- Fixed viewing notifications as correct user by micahmo
- Fixed FAB modal transparency and exit fade animation by CTalvio
Misc
- Integrate run on save scripts for VSCode by micahmo
- Configure
i18n.ally
plugin by ipcjs - Apply linter suggested fix-ups by micahmo
- Updated translations by hjiangsu
- Updated instances by github-actions
- Replaced scrollable_positioned_list with super_sliver_list by hjiangsu
- Added test endpoint for UnifiedPush server and reduced UnifiedPush notification payload (in development) by micahmo
I have been using Eternity mainly because I can swipe between posts in post view. But the development seems to have stopped/slowed down.
I was wondering if there is any other lemmy app with swipe to next post feature available? Thanks in advance
The GitHub page looks awfully quiet and the website has stopped working for me recently.
I would be really sad as it is the best looking Lemmy web experience imo.
Disclaimer: If this isn't in the spirit of the community, feel free to remove the post and I'll re-post it in my app-specific community. I'm posting it here since it's a feature that I'm thinking through that may eventually make it into the Lemmy app I develop, and the people here would probably have good ideas/opinions on the matter. Plus, other apps may have already implemented this, and someone may helpfully point that out.
With that out of the way, I'm looking to get some feedback on whether this is a good idea or something that only sounds like a good idea.
Basically, when a post has crossposts, my idea is to fetch the comments for the other cross posts and merge them all into one big comment tree. Regardless of which cross-post you land on, you'll see the same comments.
- If you reply to the post (top-level comment), it'll post to whichever cross post you're currently on.
- If you reply to an existing comment, it'll go to whatever post that comment was posted to.
The goal is to bring some unity to disparate communities that have a lot of crossover content.
Is this a good idea? Dumb idea? Can anyone think of any gotchas that might crop up? If I do implement this, it will be something the user can turn on/off.
Potential issues:
- Culture clash between different communities
- Mods of one community would not be able to mod every item shown
- ???
Thoughts?
cross-posted from: https://dubvee.org/post/1130768
Finally releasing 1.3.0. I didn't quite rip it down to the studs, but it was damn close. Much of the UI has been re-written as well as a lot of the underpinning helper functions. There's a lot of changes, though most are just enhancements and polish to things that already existed in 1.2.9.
Screenshot description: Logged into my Lemmy World account, browsing communities hosted at programming.dev, and the community list is shown. Communities on programming.dev I'm already subscribed to are indicated, and the check buttons allow instant subscription to those (even if LW doesn't yet know about them). Also shown is an instance selector dropdown featuring my home instance as well as instances set by the admin to appear there. At the bottom of that dropdown is a field where I can enter the domain of any Lemmy instance to browse.
The full changelog is a beast, so I'll only post the highlights here:
Highlights for 1.3.0
API Compatibility
1.3.0 "Defiant" remains fully compatible with both 0.18.x and 0.19.x. This will be the last version to support 0.18.x. Once development of 1.4.0 begins, the minimum supported API version will be 0.19.3.
0.19.x Features Supported
0.19 has had basic support (mostly auth) since 0.19.0 was released. In addition, 1.3.0 now offers a few more features that become available when connecting to an 0.19.x instance:
- Scaled sort becomes available
- Instance block becomes available
- Instance blocks are managable through your Profile->Blocks page.
- Cursor-based pagination is used if available but falls back to offset-based for 0.18.x
- [New] Fixed bug where admin state is not detected when connected to 0.19.x instances. If you've been using Tesseract on 0.19 and didn't realize it has admin capabilities: surprise! It totally does and has. This bug just caused it to not detect you were an admin and hid them from you. See: https://dubvee.org/post/1148802
General
- Whole UI has been polished. See the changelog for the full list of changes since 1.2.9
- Removed
markdown-it
and all of its plugins as it was too cumbersome to extend to do some things I wanted to do and replaced it withsvelte-plugin-marked
. Wrote custom renderers to replicate the functionality ofmarkdown-it-html5-embed
and spoilers. - New community moderation capabilities (directly ban/unban users, localized modlog with quick actions)
- Sidebar fonts are now more compact
- Long community names are intelligently shortened where needed
- You can now select one of several fonts to use for the UI. The default font is now Roboto.
- New notification widget
- Option to hide those obnoxious "anti AI" CC licenses people put on their posts/comments that they somehow think will prevent LLMs from training on their submissions. 🙄
- Posts with URLs will now have an
[Archive Link]
next to them which will automatically searcharchive.ph
for that URL. Please stop commenting "Paywalled" when someone posts an article. - "Copy Lemmyverse Link" added to user profile menus
- Can now change password without having to go through "forgot password" process (I swear I thought I already implemented this, but I guess it never got merged in. Oops)
- Action bar for posts/comments is now reversible. Primarily intended for mobile when you want the vote buttons to be on the right-hand side.
- Bugfixes: too many to list
Search
This deserves its own section since the search was completely revamped.
- Search filters cleaned up and polished
- Can now search from community or user pages which will automatically filter the search to just that community/user
- Added a "More from {user}" option to the community menu on posts. This will search for posts/comments by that user in the current community.
- #Hashtags are now automatically converted to search links
Remote Instance Community Browser Revamp
- Can now one-click subscribe to communities on remote instances
- Your subscription status for communities is now reflected against remote instances
- Got rid of modal to view community info. Each item is now a collapsible item; expand to see community details.
- Admins can specify a list of instances that will pre-fill the instance selector for quick browsing. Users can enter any instance they want also.
/instances Page
Can now view federated instances (allowed, blocked, linked) through Tesseract. Additionally, you can filter by software (Lemmy, Kbin, etc) and keyword as well as hide dead instances.
Each instance also has action buttons to view communities there (Lemmy only), visit the instance, view a Fediseer report for it. Dead instances are also indicated with a "thumbs-down" icon.
Instances are considered "dead" if they haven't been pinged in > 3 days.
Media
- Peertube videos now embed seamlessly. You can already follow Peertube channels in Lemmy, and now they'll show as a feed of embeds.
- Embeds now only render when they're in the viewport. Once an embed is out of the viewport, the iframe is destroyed and removed from the DOM. This saves a LOT of memory.
- Can enable an option to show alt text as a caption on images in markdown (not post images, but images in the post body and coments).
Feed & Posts
- Added buttons on community avatars to quick subscribe/unsubscribe (ok, saw that Photon did that and implemented it almost exactly the same. Sue me).
- "Explore" menu is now "Instances" menu. Instance-specific options are here such as Fediseer reports, block that instance (0.19+), and browse communities there.
- Infinite scroll is now the default.
Post Creation
In addition to the polish and cleanup, the form to create posts has some new features:
- Can now pull the metadata from the given URL to pre-populate the title and pull a thumbnail for previewing
- Uploading images can now use the image proxy URL to reduce load on the API server (if media proxy/cache is enabled by admins and users enable it in their settings)
- Can preview in both card and compact views
Modlog
Lots of tweaks and polish, now has quick action buttons that can be used to reverse a previous action or take additional actions. You can also easily turn a temp ban into a permaban without the intermediate step of unbanning first.
Features That Did Not Make It Into 1.3.0
There are only two planned features that didn't make the cut:
Reimplement custom feeds
Since this is the last 0.18.x release, and I'm having to support both cursor and offset-based pagination, I've decided to push the custom feed rewrite to 1.4.0 which is dropping 0.18.x support. That will make implementation easier and cleaner than having to support both methods.
TOTP 2FA Setup
Same as with the custom feeds, I want to do this cleanly. Since 0.18.5's TOTP setup is bonkers and can easily lead to accounts being locked out, I've decided to skip adding this until 0.19.x is the minimum-supported version. Tesseract supports logging in if your account has 2FA enabled, but you can't manage 2FA settings yet. I may add that in a 1.3.x release and just limit it to 0.19.x instances like I'm doing with the other 0.19 features as long as I can do it cleanly without impacting support for 0.18.x.
Update
My thanks to @[email protected] for pointing out a bug when working reports. Fixes have been pushed out.
Get Tesseract
- Changelog: https://github.com/asimons04/tesseract/blob/1.3.0/ChangeLog.md
- Docker Image (amd64 only):
ghcr.io/asimons04/tesseract:1.3.0
- Github: https://github.com/asimons04/Tesseract/
- Demo: https://tesseract.dubvee.org
- Matrix: Support Room
Feel free to play around with the demo instance (it's unlocked and can log into any Lemmy instance), but ideally, you'd host it yourself or ask your instance admins to offer it as an alternate UI.
cross-posted from: https://lemmy.ml/post/15334908
Mlem 1.3 is now live on the App Store! This version brings a suite of moderation and administration tools to Mlem, along with some other highly requested features.
Cheers,
Mark Read on Scroll
When this setting is enabled, posts are marked read as you scroll past them. Enable it under
Settings
->General
->Mark Read on Scroll
.Inbox Redesign
The "Inbox" tab has been redesigned to be compact and easier to use.
- Replies and Mentions now use the same interaction bar as comments, which is customizable under
Settings
->Appearance
->Comments
->Customize Widgets
.- Each inbox tab now shows the unread count for that category.
- Private messages are now labeled as "sent" or "received".
Select Text
Posts and comments now have a "select text" menu action, letting you highlight text from the post/comment and quickly copy/paste it elsewhere.
Inline Image Uploading
Images can now be uploaded inline in posts, comments, messages and reports. If you cancel before submitting, Mlem will request that your instance deletes any images that you may have uploaded.
Save Images from Feed
Images can now be saved or shared without opening the image viewer by long-pressing on the image in the feed.
Show Website Host in Compact/Headline Mode
This replaces the thumbnail indicator for link posts, which was removed. It can be re-enabled under
Settings
->Accessibility
->Website Thumbnail Indicator
.Instance Uptime
A new tab in the instance page lets you see the uptime of that instance. This is only available for select instances. The data is fetched from https://lemmy-status.org.
Better Blocking
- Instances can now be blocked from the nav bar menu of the instance page
- Your list of blocked users, communities, and instances can now be viewed and managed (
Settings
->Account
->Block List
).Performance Improvements
Fixed an issue where subscribing to a large number of communities would negatively impact the app's performance. This should make the app noticeably snappier for most users, especially those subscribed to 100+ communities.
Moderation Actions
The following moderator and administrator actions are now available:
- Pin a post to community or instance
- Lock a post
- Remove posts, comments and messages
- Ban users from a community or instance
- Purge posts, comments, messages, users, and communities
- View votes of a post/comment. Only admins can do this right now, but as of 0.19.4 moderators will be able to do this too.
- Add and remove moderators of a community
You can customise how these actions are displayed in
Settings
->Moderation
. By default, the "remove" and "ban creator" actions are shown for posts in the feed.Other actions, such as Pin and Lock, are accessible via the ellipsis menu in the expanded post. These actions can be made available in the feed as well under
Settings
->Moderation
->Show All Actions in Feed
.
Settings
->Moderation
also allows moderation actions to be hidden in a disclosure group:Or as a completely separate menu:
You can add and remove moderators from the "Moderation" section of communities you moderate. Users can also be appointed as moderators from the ellipsis menu of their profile.
"Moderated" Feed
The new "Moderated" feed shows posts from communities you moderate.
Mod Mail
Mod Mail has been integrated into the Inbox tab. It can be accessed by tapping the drop-down at the top of the Inbox page, or by tapping the "Inbox" tab icon when already viewing the tab. In the Mod Mail, you can view and act on both reports and registration applications.
By default, the unread mod mail count is included in the Inbox tab's unread badge. You can customize which types of notification are included under
Settings
->Appearance
->Tab Bar
.Swipe actions are available on all mod mail items, and the widgets can be customized under
Settings
->Moderation
->Customize Widgets
Modlog
Added the ability to view the moderation log for a community or instance. The modlog for communities can be found under 'Moderation' in the community page, and for instances under 'Administration' in the instance details page.
Fediseer Integration
A new "Trust & Safety" tab on instance pages displays the guaranteed status of that instances, along with any endorsements, hesitations or censures it may have received.
Minor Changes
- The Saved feed can now be filtered by posts or comments only.
- The upvote, downvote, save and reply actions now display side-by-side in context menus, and the "Block User" and "Block community" are now consolidated under "Block".
- The ellipsis menu in the expanded post view has moved from beside the post title to the toolbar, making it accessible from anywhere on the page.
- Added the option to always open links in reader mode (
Settings
->Links
->Open in Reader
)- Added a new app icon, "Ocean".
- Keyword filters no longer apply to communities you moderate.
- Updated the bubble-style picker animation.
- Removed the confirmation popup for "Report".
- Pinned posts are now rendered compactly in the community view once read.
Bug Fixes
- Fixed the inbox tab unread badge sometimes showing "-1".
- Fixed the instance pin icon not showing in compact mode.
- Fixed sent messages being permanently displayed as unread.
- The comment collapse animation now respects the system "Reduce Motion" setting.
- Image save failure now displays an error message.
- Biometric unlock now prompts for device password on failure.
- Deleted and removed comments now collapse properly.
Mlem is a free and open source project. 100% of our funding, which pays for things like server time, comes from our generous donors; we do not, and will never, run ads or sell data. If you'd like to help support Mlem, you can donate here.
Reddy is an App that lets you repost images from Reddit to Lemmy!
For more information about what is Reddy, find my other post here : https://lemmy.world/post/15020832
For Windows user, you'll need WSL 2 and then install flatpak and then install the Reddy flatpak.
Feel free to give me feedback, this is a first release and user inputs are very valuable to make a better app!
Thanks to everyone who shows interest in what I do, if you'd like to see other small app like this for other usecases, feel free to ask me!
Reddy is a small app that I've developped over the past few days, and I want to show it to you so you can give me your thoughts, advices and ideas for the app.
Reddy is a GTK Linux app that takes an image (PNG, JPEG, GIF) at random in a subreddit and allows you to repost it in any Lemmy community. I made it principally to share content easily on Lemmy, as Reddit becomes more and more abusive and I think having copies of some content of reddit here on Lemmy is not a bad idea.
The app comes with a few restriction to prevent abuse:
- You cannot repost the image twice in the same community
- The reddit post link will always be shown in the body of the post. To give credit where credit is due.
Also, the app fetch the title and NSFW status of the reddit post automatically, but you can change it as needed.
The app require a reddit API client id/secret (The free API seems to still be working as of now) and a Lemmy account.
I'd love to hear your thoughts about such app, if you have any concerns as an user or as an instance owner please share your thoughts!
EDIT: Reddy is out for everyone to try out on Flathub: https://flathub.org/apps/net.krafting.Reddy
cross-posted from: https://lemmy.ml/post/14485971
[ New Beta Release ] Mlem for Lemmy 1.3 Beta 0
Mlem 1.3 is now available for beta testing! This version brings a suite of moderation and administration tools to Mlem, along with some other highly requested features.
Cheers,
Mark Read on Scroll
When this setting is enabled, posts are marked read as you scroll past them. Enable it under
Settings
->General
->Mark Read on Scroll
.Inbox Redesign
The "Inbox" tab has been redesigned to be compact and easier to use.
- Replies and Mentions now use the same interaction bar as comments, which is customizable under
Settings
->Appearance
->Comments
->Customize Widgets
.- Each inbox tab now shows the unread count for that category.
- Private messages are now labeled as "sent" or "received".
Select Text
Posts and comments now have a “select text” menu action, letting you highlight text from the post/comment and quickly copy/paste it elsewhere.
Inline Image Uploading
Images can now be uploaded inline in posts, comments, messages and reports. If you cancel before submitting, Mlem will request that your instance deletes any images that you may have uploaded.
Save images from Feed
Images can now be saved or shared without opening the image viewer by long-pressing on the image in the feed.
Show Website Host in Compact/Headline Mode
This replaces the thumbnail indicator for link posts, which was removed. It can be re-enabled under
Settings
->Accessibility
->Website Thumbnail Indicator
.Instance Uptime
A new tab in the instance page lets you see the uptime of that instance. This is only available for select instances. The data is fetched from https://lemmy-status.org.
Moderation Actions
The following moderator and administrator actions are now available:
- Pin a post to community or instance
- Lock a post
- Remove posts, comments and messages
- Ban users from a community or instance
- Purge posts, comments, messages, users, and communities
- View votes of a post/comment. Only admins can do this right now, but as of 0.19.4 moderators will be able to do this too.
- Add and remove moderators of a community
You can customise how these actions are displayed in
Settings
->Moderation
. By default, the "remove" and "ban creator" actions are shown for posts in the feed.Other actions, such as Pin and Lock, are accessible via the ellipsis menu in the expanded post. These actions can be made available in the feed as well under
Settings
->Moderation
->Show All Actions in Feed
.
Settings
->Moderation
also allows moderation actions to be hidden in a disclosure group:Or as a completely separate menu:
You can add and remove moderators from the "Moderation" section of communities you moderate. Users can also be appointed as moderators from the ellipsis menu of their profile.
"Moderated" Feed
The new “Moderated” feed shows posts from communities you moderate.
Mod Mail
Mod Mail has been integrated into the Inbox tab. It can be accessed by tapping the drop-down at the top of the Inbox page, or by tapping the "Inbox" tab icon when already viewing the tab. In the Mod Mail, you can view and act on both reports and registration applications.
By default, the unread mod mail count is included in the Inbox tab's unread badge. You can customize which types of notification are included under
Settings
->Appearance
->Tab Bar
.Upcoming planned TestFlight releases will further improve Mod Mail by adding swipe actions to moderator items and a setting for customizing the report interaction bar widgets the same way as for posts and comments.
Modlog
Added the ability to view the moderation log for a community or instance. The modlog for communities can be found under 'Moderation' in the community page, and for instances under 'Administration' in the instance details page.
Fediseer Integration
A new "Trust & Safety" tab on instance pages displays the guaranteed status of that instances, along with any endorsements, hesitations or censures it may have received.
Minor Changes
- The Saved feed can now be filtered by posts or comments only.
- The upvote, downvote, save and reply actions now display side-by-side in context menus, and the "Block User" and "Block community" are now consolidated under "Block".
- The ellipsis menu in the expanded post view has moved from beside the post title to the toolbar, making it accessible from anywhere on the page.
- Added the option to always open links in reader mode (
Settings
->Links
->Open in Reader
)- Added a new app icon, "Ocean".
- Keyword filters no longer apply to communities you moderate.
- Updated the bubble-style picker animation.
- Removed the confirmation popup for "Report".
Bug Fixes
- Fixed the inbox tab unread badge sometimes showing "-1".
- Fixed the instance pin icon not showing in compact mode.
- Fixed sent messages being permanently displayed as unread.
- The comment collapse animation now respects the system "Reduce Motion" setting.
- Image save failure now displays an error message.
Mlem is a free and open source project. 100% of our funding, which pays for things like server time, comes from our generous donors; we do not, and will never, run ads or sell data. If you'd like to help support Mlem, you can donate here.