1
110
submitted 9 months ago* (last edited 1 month ago) by gedaliyah@lemmy.world to c/lemmyapps@lemmy.world

Lemmy Apps Directory

The following is a directory of current Lemmy apps. This list includes apps that have released in the last 6 months, or have been confirmed to be in active development, with the most recent at the top. You can find a list including older apps here (unmaintained apps may have security or compatibility issues). The open source symbol indicates that an app is FOSS.


Android


icon Racoon open source
Source !raccoonforlemmyapp@lemmy.world
1.13.0-beta03 2024-11-01 GitHub Release

Raccoon for Lemmy is a client for the federated aggregation and discussion platform Lemmy. The project started as an exercise to play around with Kotlin Multiplatform (KMP) and Compose multiplatform and gradually grew as a fully functional client with many features.

Dev: @ akesi_seli@lemmy.world


icon Summit
Github !summit@lemmy.world Play Store
1.44.0 2024-11-01

Summit is an app for Lemmy that enables you to explore hundreds of communities with ease. Summit is optimized for Android and offers a smooth browsing experience.

Dev: @idunnololz@lemmy.world


icon Voyager open source
Source !voyagerapp@lemmy.world Play Store
2.18.4 2024-10-20 F-Droid

Voyager is an Apollo-like open source web client for Lemmy. It's a mobile-first app, but works great on desktop devices, too. Please feel free to try it out!

Dev: @aeharding@lemmy.world


icon Jerboa (Official Android client) open source
Source !jerboa@lemmy.ml Play Store
0.0.77-alpha 2024-09-27 F-Droid

Jerboa for Lemmy An app for Lemmy, a federated reddit alternative. Jerboa is an app for Lemmy, a federated reddit alternative. Jerboa is made by Lemmy's developers, and is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to forums you're interested in, post links and discussions, then vote, and comment on them. Behind the scenes, it is very different; anyone can easily run a server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse.

Dev: @dessalines@lemmy.ml


icon Connect
!lemmyconnect@lemmy.ca Play Store
1.0.192 2024-08-22 APKPure

A native application for browsing the social platform Lemmy and the Fediverse.

Dev: @kuro_neko@lemmy.ca


icon Thunder open source
Source !thunder_app@lemmy.world Play Store
0.5.1 2024-08-20 IzzyOnDroid

Thunder is a fully open source, cross-platform, community-driven project available on GitHub. Fully free of advertisements and trackers. Thunder is still very early on in development and many more features are yet to be available!

Dev: @darklightxi@lemmy.world


icon Interstellar open source
Source Play Store
0.6.0 2024-08-19 Flathub

An app for Kbin, Mbin, and Lemmy; connecting you to the fediverse.

Dev: @jwr1@kbin.earth


icon Eternity open source
Source !eternityapp@lemdro.id Play Store
0.2.1 2024-08-09 F-Droid

A client for Lemmy, specifically designed for Android and written in Java. This project is a fork of the Infinity for Reddit project, and it is currently in the early stages of development. As such, expect many unfinished features and potential bugs!

Dev: @bazsalanszky@lemmy.toldi.eu


icon Boost
!boostforlemmy@lemmy.world Play Store
1.0.14 2024-07-14

Boost for Lemmy is designed to provide a seamless browsing experience for the decentralized social platform Lemmy and the Fediverse.

Dev: @rmayayo@lemmy.world


iOS


icon Echo
Website !echo@eventfrontier.com App Store
1.3.1 2024-10-25

Echo for Lemmy is a fully native iOS application built using fully native Apple SDKs. This means it feels right at home on your iPhone and is designed to be fast, efficient, and easy to use. No overhead from web views or cross-platform frameworks.

Dev: @fishcharlie@eventfrontier.com


icon Voyager open source
Source !voyagerapp@lemmy.world App Store
2.18.4 2024-10-20

Voyager is an Apollo-like open source web client for Lemmy. It's a mobile-first app, but works great on desktop devices, too. Please feel free to try it out!

Dev: @aeharding@lemmy.world


icon Thunder open source
Source !thunder_app@lemmy.world App Store
0.5.1 2024-08-20

Thunder is a fully open source, cross-platform, community-driven project available on GitHub. Fully free of advertisements and trackers. Thunder is still very early on in development and many more features are yet to be available!

Dev: @darklightxi@lemmy.world


icon Lemmios
!lemmiosapp@lemmy.world App Store
1.9 2024-8-12 TestFlight

Lemmios is a client built for Lemmy. Discover and browse through all parts of the fediverse in an intuitive way.

Dev: @mrlavallee@lemmy.world


icon Arctic
Website !arctic@lemmy.world App Store
1.1 2024-06-11 TestFlight

Arctic For Lemmy is a free and native iOS client for Lemmy. In the spirit of the Fediverse, Arctic is completely free and private. No data of any kind will be collected from your device, and no pesky advertisements, Ever. Arctic was built specifically for iOS and runs natively on pure Swift. Enjoy browsing feeds with embedded content that keeps you out of the browser, and in the app. Engage in the conversation using the rich markdown editor, and intuitive post composer

Dev: @CreatureSurvive@lemmy.world


icon Mlem open source
Source !mlemapp@lemmy.ml App Store
1.3 2024-05-05 Website

Mlem is the first native SwiftUI Lemmy client on the AppStore. It feels right at home on your iPhone (and soon iPad and Mac). With tons of options for customizing your your experience.

Dev: @ericbandrews@lemmy.ml


Linux

icon Neon Modem Overdrive open source
Source Site
v1.0.5 2024-05-28 GitHub Release

BBS-style command line client that supports Discourse, Lemmy, Lobsters and Hacker News

Web


icon Tesseract open source
Source !tesseract@dubvee.org Web UI
1.4.19 2024-10-21

Formerly Tesseract for Lemmy. Now “Tesseract for Sublinks” Development is now targeting the upcoming Sublinks project. As Sublinks aims to provide initial compatibility with Lemmy, Tesseract will continue to work with Lemmy for the foreseeable future. Once the Sublinks project moves into its native API phase, Lemmy support will be dropped from Tesseract.

Dev: @ptz@dubvee.org


icon Voyager open source
Source !voyagerapp@lemmy.world Web UI
2.18.4 2024-10-20

Voyager is an Apollo-like open source web client for Lemmy. It's a mobile-first app, but works great on desktop devices, too. Please feel free to try it out!

Dev: @aeharding@lemmy.world


icon Quiblr open source
!quiblr@lemmy.world Web UI
2.X 2024-10-18

Quiblr aims to build an intuitive, accessible, and modern interface to connect users to the fediverse.

Dev: @Aurelius@lemmy.world


icon Photon open source
Source !Photon@lemdro.id Web UI
1.31.4 2024-09-20

An sleek web client for Lemmy using mono-ui, a custom design system.

Dev: @Xylight@lemdro.id


icon mlmym open source
Source Web UI
0.0.50 2024-07-21

a familiar desktop experience for lemmy.

Dev: @


icon Lemmy-UI open source
Source !lemmy@lemmy.ml Web UI
0.19.5 2024-06-19

The official web app for Lemmy, written in inferno. Based off of MrFoxPro's inferno-isomorphic-template.

Dev: @dessalines@lemmy.ml


icon Alexandrite open source
Source !alexandrite@lemmy.world Web UI
0.8.13 2024-03-04

Alexandrite is a desktop-first alternative Lemmy client.

Dev: @sheodox@lemmy.world


~Updated 2024-11-01~

2
14
submitted 1 week ago by ptz@dubvee.org to c/lemmyapps@lemmy.world

1.4.23

This is a minor feature release. Nothing new for regular users, but there are some new capabilities and major improvements for admins to make handling registration applications easier and more powerful.

See: https://github.com/asimons04/tesseract/issues/9 for additional context and screenshots.

Bugfixes

None discovered since 1.4.22 :)

New Features

Tweaked Admin Area

Got rid of the sub-navbar menus to select which admin section is active. Now uses a button bar like is used in the user profiles.

New Registration Application Manager

What started off as simply adding a text field to the registration applications so the deny reason could be recorded turned into just flat-out re-writing the whole registration application manager.

It makes me sad that I think this is a cool feature update and very few people will actually see it or know it exists lol.

Changes include:

  • More compact/dense as it now uses the inbox / report form factor (expandable accordions)

  • Much needed visual / design overhaul

  • Can now specify the reason when denying an application

  • There's a button which will let you search for alts of the same username. Very useful if you want to see if they're instance hopping and want to check if they're a good fit for your instance. Also useful to see if someone is spinning up lots of alts rapidly (e.g. spammers).

  • A colored badge on each entry indicates the application's status:

    • Pending action (Grey)
    • Approved (Green)
    • Denied (Red)
  • Option to create a modlog entry when approving/denying the application. Disabled by default, accessible via button and/or toggle.

    • Denying an application creates a "ban user" event using the deny text as the reason. This is useful in case denial emails are still not being sent out and the user wants to check their application status.
    • Approving an application will intelligently unban a user if they're banned (i.e. from a mistaken denial).
    • Approving an application with a modlog entry will be a user un-ban (even if they're not banned, it'll still log it)
    • Approve unban message is Registration application approved.
    • Deny ban message is Registration application denied: ${REASON_YOU_SUPPLIED}
  • More information about the applicant:

    • Signup email address
    • Whether the email address has been verified
    • Whether the signup email address is to a known disposable/temporary email provider

Other UI Tweaks

  • Crosspost items have less padding and rounded borders now

Get Tesseract

Docker

  • ghcr.io/asimons04/tesseract:1.4.23
  • ghcr.io/asimons04/tesseract:v1.4.23
  • ghcr.io/asimons04/tesseract:latest

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

Hosted Instance https://tesseract.dubvee.org

3
49
submitted 1 week ago* (last edited 1 week ago) by ptz@dubvee.org to c/lemmyapps@lemmy.world

Cross-posted from "1.4.21 Released [Release Notes]" by @ptz@dubvee.org in !tesseract@dubvee.org


1.4.21

I'm happy to finally have this to the point I'm comfortable releasing it. I have a time-sensitive need to switch to "infrastructure" mode for a while, so I'm glad to have this release off my plate so I can do the needful on that side of things.

The TL;DR of this release is: Now supports Loops and everything else is either under the hood or a subtle UI tweak.

Overview

This release could probably be considered 1.5.0 rather than a 1.4.x point release, but I'm going to wait until I raise the minimum supported API level before bumping the minor version. Currently, I do have support for 0.19.4+ features, but they're limited to a few minor things here and there (see README.md for specifics). I've also added the capability to automatically enable/disable features that require different API versions, so I'll likely be adding some more 0.19.4+ user-facing features in the coming releases. The newer admin/mod features, if any, will need to wait until my own instance is updated past 0.19.3 since I will be unable to test those (I can test the user-level stuff against a different instnace with one of my alt accounts there).

Most of the work in this release has been re-writing core components, getting rid of some legacy stuff, and stanardizing any redundant sections with shared components. All of this is to make the upcoming task of porting to either Svelte 5 or React easier (haven't decided which yet; I'm annoyed that Svelte has so many breaking changes. We also use React at work which is more stable in the long term).

Bugfixes

  • Added missing padding on placeholder initials if there is no site logo

  • If replying to a post/comment removal via a comment reply, send the reply before removing the item otherwise the reply will fail. (when I wrote that in the 0.18.x days, you could reply to removed comments and I just never used that feature since the behavior changed in 0.19.x)

  • When switching instances or loading the site info for another instance into the site sidebar, the taglines would sometimes get stuck on the previous instance's values.

  • Images would fail to render if @user@instance.xyz or [!community@instance.xyz](/c/community@instance.xyz) were in the alt text since it would trigger the pre-processor to convert them into user/community links.

  • Memory optimization hacks; good lord Svelte is a hoarder and refuses to let go of shit. This is a huge reason why I'm probably going to port Tesseract to React instead of going to Svelte 5. Even if the memory leaks are fixed in Svelte 5, they basically turned it into React anyway, so might as well use that.

  • Fix bug where overlap in hashtags (e.g. #Photography and #Photo) would mangle the longer tag.

  • Markdown inside of code blocks is no longer pre-processed. This should fix quirks when viewing code snippets and some of the includes get incorrectly turned into hashtags. It also let me simplify some of the regex patterns since they no longer have to account for code blocks with look aheads/behinds.

  • Linking to a community on another instance (e.g. if you want to show the community on that instance rather than just linking to the community) no longer turns into a community action badge.

  • Bugfixes for bugs introduced during the rewrites have been omitted, but a lot of time was spent tracking those down and squashing them.

Bugfixes for Image Loading and Image Proxy

For efficiency, Tesseract tries to request webp versions of non-animated images at sizes appropriate for their use. e.g. 128px for icons, 256 for thumbnail images, etc. Usually this works, but sometimes remote pict-rs gets all pissy about it. Before, this would cause the image to fail to load until opening it with the Zoom which requested the raw image URL. Now, I've added error handlers for images to fallback automatically/gracefully:

[Desired Resolution and Format] -> [Desired Resolution] -> [Raw URL at default resolution] -> [Static Placeholder Image]

Similarly, if media proxying is enabled, it will use the same fallback path but via the image proxy. Depending on the user-defined fallback behavior, it will either try the raw URL or return a placeholder image.

I've also added apng animated PNG to the list of supported images.


Guide: Optimizing Browser Settings for Tesseract

When using "click to play" on media posts (the default setting), the "autoplay" flag is implicitly set on the embed to prevent you from having to click multiple "play" buttons. However, any player besides YouTube (e.g. Invidious, Piped, PeerTube, etc) requires you to click the video again after it switches from thumbnail to embed. This is annoying, and YouTube only seems to get a default pass in Chrome/ium because Google says so.

To remedy this:

  • In Firefox, this mostly works with the default settings and no settings changes are needed. However, you can set the site permissions when a media tries to play (can't seem to get to that setting otherwise?) and change autoplay to "Allow audio and video" if needed.
  • In Chrome(ium): In the Tesseract tab, go into "Site Settings" and change Sound from "Automatic (Default)" to "Allow". This is very counter-intuitive, but it does address the problem.
  • If running as a Chrome(ium) PWA, the app permission settings will be at: [Three Dots Menu] -> App Info -> Settings -> More Settings and Permissions

New Features

Initial Support for Loops Videos

This has been a feature request since Loops first went live, and I finally came up with a satisfactory way to integrate Loops media. The media itself is easy to integrate. The problem is that the metadata returned for a Loops video link does not include the video URL, and there's no way to derive the video URL from the available metadata. In some cases, I can use the thumbnail image and massage that into a working video link, but more often than not, the thumbnail URL was to a pict-rs cached image rather than the value returned from Loops.

Right now, the Loops support is very "beta" but functioning well. There are a few limitations:

  • It can break at any time if Loops decides to go user-hostile and block non-browser requests via Cloudflare or something. Tesseract does a server-side lookup to basically scrape the video URL and then caches that for re-use.

  • It can also break if Loops decides to crack down on "hotlinking" the videos.

  • It only works with the main loops.video domain. For now, this is fine since Loops hasn't released its stack for self-hosting yet. Like Piped/Invidious, I'm basically going to have to have a list of Loops instances to detect. While this is great for decentralization, it's a huge pain in the ass when you want to make a nice client to integrate with them all.

  • Loops videos are not "eligible" to always shows as embeds and must use click to play. This was a choice on my end to avoid hammering Loops with requests for videos that may or may not be watched. The lookup to get the video URL is only invoked when you "click to play" from the post thumbnail image.

  • I've reached out to the Loops team to see if they would add the oc:video tag to the page metadata so the embed video URL can be obtained properly without such hacks. If they ever do add that, then the integration should work cleanly like with PeerTube and without the clunky requirement to have a list of known Loops instances and then scraping the video URL from those.

Alt Text Now Supported in Post Form

If the connected Lemmy instance is on API 0.19.5 or higher, the post form will now have an "alt text" field if the URL points to an image or video (uploaded or remote URL). If the URL is not an image or direct video, or the API is below 0.19.5, the alt text field will not show up.

When crossposting, the original alt text will be used if present; you can edit it as desired/if needed.

Under the Hood Highlights

  • Storage Compression: When data gets stored to sessionStorage, it's compressed first. This has yielded quite a bit of savings and is a workaround for the 5 MB per-key limit on local and session storage in the browser. 5 MB sounds like a lot when it's all text data, but since there's a lot of redundancy in the data returned from the API (e.g. two posts to the same community will each have a full copy of the community details, sidebar info, etc), it fills up fast when you're taking snapshots of the current state (which his how Tesseract keeps your position in the infinite scroll feeds). In the future, I plan to move to IndexedDB which does not have this limitiation and comes with additional benefits. The current plan is to use PouchDB as the wrapper library which opens the door to syncing with a Couch DB add-on to Tesseract's server component and allowing state to be maintained across devices :)

  • More Caching: For data that doesn't change often, such as site and community info, the loaders have been updated to first see if there is a cached record for that data. If so, it will be used to fulfill the API call. If not, it's requested from the server as before and cached until needed. Currently, site (local and remote) and communitiy details are cached. I'm looking into other places data can be cached, perhaps with a shorter validity period.

  • Initial Support for 0.19.4+ API Functions: Tesseract is still designed for 0.19.3 as its baseline. However, I updated the JS client to the latest one for 0.19.7 since it's backwards compatible. While I don't have all the newer features built-in yet, I do have some that become available when the API level supports it.

Preview Community and User Feeds in Modals

You can now view a user's or a community's feeds in their respective modals when clicking a user or community link.

The preview has also been added to the moderation modal. However, in the moderation modal, it limits the feed to just the user and community relevant to the item that initiated the mod modal. e.g. if you click the mod button for a post/comment in the FoodPorn community by user Bob, the only submissions that will be shown are Bob's submissions to FoodPorn. This should help with performing mod actions as you can check for patterns of rule-violating behavior without having to leave the mod tool.

Another use case is previewing new communities when you click on a pill-button link. e.g. if someone comments about a cool community and uses the [!community@instance.xyz](/c/community@instance.xyz) format (as they should), you can click on it which will resolve it automatically. From there, you can click "Browse Community..." to see what kinds of posts it has before commiting to subscribing (okay, that's a very tiny commitment, lol, but you get my point).

New Feed Capabilities

The feeds were re-written as components to be more modular and consistent. Mostly, if I did my job right, you won't think I did anything at all. That said, they do have a few new tricks:

  • Feed filter options for "Show Only [Liked | Disliked | Saved] Posts".
  • Feed filter options for "Show Hidden", "Show NSFW", and "Show Read Posts". Requires 0.19.4+ for show hidden and 0.19.6+ for "Show NSFW" and "Show Read"
    • Those options will be hidden if the instance is below the required API version.
  • Can hide/unhide posts; accessible from the post action menu (three dots, top-right). Requires 0.19.4+.
  • Better state preservation. The snapshot subsystem has been overhauled, and the data is now compressed before being stored into session storage
  • Refreshing the browser will now clear the snapshot for the current feed and re-fetch from the API. i.e. refreshing the app/page will pull the data from the API as expected instead of reloading a stale cache / requiring to manually press the app's refresh button.
  • Manual pagination is now bi-directional. You can page back without having to use the browser's 'back' button.
  • Switching between communities will remember your position and sort options in each (until the snapshot expires. Currently 15 minutes)

UI Tweaks

  • Clicking a community link to bring up the modal will now allow you to browse the community from within the modal (nice for previewing communities)
  • Clicking the @username@instance.xyz in the user profile modals will copy the username to the clipboard
  • New vote buttons
  • Redesigned comment count button on posts in feed; now shows unread count
  • Redesigned crosspost container
  • Moved thumbnail image to the left on link previews
  • Moved 'debug' button into post/comment action menus (removed dedicated button)
  • Instance names in the site cards are now clickable. Eventually they will open an instance modal with nice options (similar to user and community modals), but for now, it just goes to /site/{instance} to view the instance details in a nice page (rather than a cramped sidebar).
  • Clicking "Home" in the sidebar will take you back to your previous scroll position.

Moved More Menus Out of the Sub-Navbar

I still like the UI element, but too many of the options got moved into dropdown menus in the sub-navbar. Based on feedback, that seems to have sacrificed function for form. In this release, I've moved many of the selectors closer to the elements they manage.

  • Community Browser instance selector, sort, and type menus have been moved above the community list.

  • The sort and type selector menus in user profiles have been moved into the feed component itself.

  • In the Inbox, the subnavbar elements have been removed completely, and there is a sidebar to the left of the inbox (similar to an email inbox)

  • In the Moderation/Reports area, the subnavbar selector has been removed; like the Inbox, there's now a sidebar with the relevant filtering options.

  • The main feed still has them in the subnav bar, though, since there's plenty of room on the left-hand side.


Removed Features :(

Only Specific Forms of User and Community Links are Turned into Action Badges

There's so many wild and inconsistent ways people reference communities and users. I originally tried to cover them all, but there were too many edge cases, overlaps, and times it's not desirable to do so that it became impractical.

Now, only three forms of user/community links will be turned into action badges; the rest will remain unmodified links or plain text.

Valid Community Link Examples:

  • https://instance.xyz/c/community
  • [!community@instance.xyz](/c/community@instance.xyz)
  • [Text](https://instance.xyz/c/community)

Valid User Link Examples:

  • https://instance.xyz/u/user
  • @user@instance.xyz
  • [Text](https://instance.xyz/u/user)

No Longer Valid / Won't Be Badge-ified:

  • /c/community
  • /c/community@instance.xyz
  • /u/user
  • /u/user@instance.xyz
  • https://instance.xyz/c/community@instance.xyz

The https://instance.xyz/c/community@instance.xyz format was removed because sometimes it is useful to link to a community on another instance to see differences due to federation, moderation, etc. In those cases, changing it to a local link is not desirable. The rest were removed because they were proving problematic to support with all the different ways people make user/community links.

As of this release, only the formats in the valid lists above will be matched and turned into action badges (load the modal for info about the community/user). Other formats, or ones that are already linked, won't be touched.

Note that the ! and @ formats do not need to be manually linked in most Lemmy clients.

Browsing Favorites / Groups as a Feed

This capability was always experimental. The initial implementation wasn't great, but it worked well enough, and I had a plan to improve it. Unfortunately, before I could put that into motion, the Lemmy devs, in their infinite "knows better than everyone else / if Lemmy UI doesn't use it, no one should" wisdom, removed the post ranking metrics from the API. This meant I could no longer do any kind of sorting beyond score and date.

So, since then (0.19.0 or thereabouts), the custom feeds feature has remained in place, crippled, and begging for death. In 1.4.21, I finally decided to put it out of its misery.

Community groups and favorites are still available, but they're only used for organizing communities now. Favorites give you quick access to your most-visted communities, and groups are still useful to keep tabs on your subscribed communities.

I do have a plan to resurrect the feature, but it's going to require backend support. I have a partial Tesseract API server, but I've not worked on it in a good while. Even still, if I do dust that off and go that route, custom feeds will only work for the "default" instance Tesseract is deployed to and only if the admin runs the API service for it. Not sure how practical that will be, but since it's something I would want to offer on my own instance, I may still work toward it, though at a low priority.

Option to Disable Automatic Timestamp Updates

I changed the way the timestamps on posts/comments, etc update. Prior to this release, each had its own setInterval in the component and operated independently. In this release, I introduced a system timer that dispatches events at an interval. The date components now simply listen for this event and recalculate. With this change, the option to disable them doesn't really provide any benefit.


Changes and Enhancements

Community Explorer

  • Moved listing type, sort options, and keyword search out of sub-navbar and into the "feed" area.
  • State is now maintained in the URL, so paging back and forward will keep the state correctly (it didn't maintain any state previously)
  • Calls to local and remote getSite are cached in session storage to reduce bandwidth (used to populate the site sidebar)
  • Tweaked the 'subscribe' buttons
  • Added a dedicated button to go directly to the /c/{community} page for each entry
  • Clicking the community name will open the community modal for additional options
  • The selected instance is now route-based rather than URL param or internal state variable. e.g. /communities/{instance}
  • Your home instance now has a "home" icon indicator in the instance dropdown

User Profile Pages (including local profile)

  • Uses the new, component-based feed rather than the bespoke one used previously.
  • User banner, stats, "about" info, and moderates list is now above the feed rather than in the sidebar (except local profile; that's still to the side except on mobile)
  • "Moderates" list is no longer a separate accordion. That list has been moved into the "About Me" section (similar to user profile modals)
  • Sidebar is now populated with the home instance details for the user (banner, icon, name, stats, admins, site description, legal, etc). Non-local profiles only.
  • Sidebar site info is now cached in the browser's session storage to reduce network traffic and load on remote servers
  • Better state preservation when navigating in/out. Right now, the snapshot validity is 5 minutes for user profiles versus 15 minutes for the main feed and communities.
  • Integrated search. No longer just a shortcut to the /search page with the user pre-set.
  • The sort options and type (posts/comment/all) menus have been moved from the sub-navbar to above the feed.
  • Lots of under the hood changes, none should be visible except what's listed :)

New Inbox

  • Looks/behaves much more like an email inbox
  • Inbox items are collapsed into accordions. Open to view the message.
  • Configurable default inbox: can be "all " or "unread". Setting is in Settings->General->Default Inbox
  • Collapsible side menu to switch between message types, all, and unread. Also has convenience pagination buttons. The "mark all as read" button has also been moved here.
  • Removed the dropdown menus from the sub-navbar; those are now in the collapsible side menu
  • The envelope icon to the left of the message container is the "mark as read/unread" button.

New Moderation/Reports Manager

  • Removed the custom buttons from the sub-navbar. Filters are now in its sidebar.
  • Now uses the same layout as the inbox
  • Has a sidebar for switching between unread/all and filtering by community. Also includes pagination.
  • The check button to the left of the collapsible report is the resolve/unresolve button. Green check = resolved, white check is unresolved.
  • Unread reports are bolded
  • Can filter reports by community
  • Removed the moderation action form since it's a brute to maintain and has received mixed reviews from users.
  • Each item has a few quick action buttons for mod tasks. Use the "All Mod Actions..." button to bring up the moderation modal to access all options.
  • Looks less awful on mobile :)

Known Quirks

  • Changing any of the infinite scroll options (or switching between infinite and manual pagination) requires any existing feed snapshots to be cleared. If you switch options from the quick settings menu, it will automatically refresh the browser as a workaround hack. If you switch them from the main settings page, you'll need to manually refresh the feed or the browser to clear them. Again, I have a way to deal with this, but I'm not certain it's the most graceful (though it's more graceful than force-refreshing the browser lol).

Twitch Videos (Not Possible)

I also had a feature request to support Twitch embeds. It seemed possible (they provide the video embed player URL in the link metadata), but I can't make them embeddable because Twitch cockblocks embedding except from the "big" social media sites. So, no Twitch video embeds for Lemmy, but not for lack of trying.

Refused to frame 'https://player.twitch.tv/' because an ancestor violates the following Content Security Policy directive: 

"frame-ancestors https://reddit.com https://www.reddit.com https://old.reddit.com https://new.reddit.com https://www.redditmedia.com https://twitter.com https://cards-frame.twitter.com https://tweetdeck.twitter.com https://discordapp.com https://discord.com https://embedly.com https://cdn.embedly.com https://facebook.com https://www.facebook.com https://vk.com https://x.com".

Get Tesseract

Docker Tags:

  • ghcr.io/asimons04/tesseract:1.4.21
  • ghcr.io/asimons04/tesseract:v1.4.21
  • ghcr.io/asimons04/tesseract:latest

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

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

4
21

cross-posted from: https://sh.itjust.works/post/29038131

I'm a decent developer, but with only a couple years' professional experience and no formal training. I'm looking for open source projects to contribute to (ideally pick one or two and get dedicated to them).

I'm open to small or large projects.

I'm using this as my source of options:

https://fediverse.party/en/miscellaneous/

But I'm curious if there are other ones, or if you all have ideas about which ones are needing and deserving help.

Thanks!

5
27
submitted 1 month ago* (last edited 1 month ago) by aeharding@vger.social to c/lemmyapps@lemmy.world

Voyager F-droid/Github/Standalone releases on lemmyapps.com say last updated 9 months ago, but that's not right

6
34

Looking for an alternative to Sync, because I'm tired of not getting updates from LJD despite it being a paid app. Unfortunately, thus far I've tried about half a dozen apps and none of them quite give me as much customisation options as Sync did, especially on the feed view. Few of them even come close. Does anybody have a recommendation for a highly-customisable app?

7
63
8
8

What the title says. I tried different lemmy apps and home only shows the last community I subscribed to. I can't find a way to fix this via the settings and searching online did not turn up anything useful. Where should I report this?

9
17

cross-posted from: https://lemmy.world/post/22173524

This is a relatively small update to address a few issues with v0.4.2.3.

The biggest issue this update addresses is scrolling behavior and performance. The previous release had a bug that would cause poor scrolling performance in post feeds, and issues sizing cells to fit their content. This update addresses this, and offers a significant improvement to scrolling in Arctic.

This update also adds support for native instance blocking, finally. Instance blocking was added to Lemmy in v0.19, after Arctic already had instance blocking built up in. This version will now use the native blocking feature for instances running v0.19+, and fallback to internal blocking on older instances. This update will also automatically migrate your instance blocks from Arctic, to Lemmy.

You can now use search in Arctic’s settings. I know Arctic has a lot of settings, and it can be difficult to find exactly what you're looking for, you can now search for most options. This is still a work in progress, and not all options are searchable yet. I’ll be improving on this in future updates.

Arctic for macOS open TestFlight


Arctic is now officially in beta for macOS. I know some users with silicon macs have been using the iPad version of Arctic for a while now, but macOS is now supported on intel macs as well. This version offers a lot of Mac specific fixes and improvements over using the iPad version on Mac. Note that this is the first Mac beta, and there will be bugs. There is still a ton of changes coming for Mac, primarily with the UI to improve support for the use of a mouse or trackpad, and make better use of the larger screen space.

v0.4.2.4 Changelog

New Features


  • Added action menu to user and community buttons on post and comment cells/
  • Added options to toggle haptic feedback for various actions/
  • Added support for instance blocking using native Lemmy API, this will fall back to internal blocking on instances running versions older than v0.19.x.
  • Added support for searching Arctic's settings /
  • Added support for opening links to options in Arctic's settings e.g., arctic://settings.root/Settings/Appearance#App%20Theme Will open Arctic to the theme settings.
  • Added options button to theme cells in the theme browser/
  • Added color descriptions in the theme editor.
  • Added option to configure the swipe action angle threshold/

Changes


  • Updated support for stripping Markdown in push notifications.
  • Updated toast messages appearance and improved dismiss gestures.
  • Updated link preview generation to prioritize links in the order they will be displayed
  • Updated scrolling behavior to reduce stutters and jumps while scrolling.
  • Updated behavior when blocking, or subscribing. These actions should now be represented immediately in action menus.
  • Updated large post default settings to display community button on the top of post cells.
  • Updated default swipe action threshold to reduce false triggers while scrolling.
  • Updated markdown and HTML parsing for link preview descriptions.

Bug Fixes


  • Fixed an issue allowing Spoilers to be shown in push notifications.
  • Fixed an issue allowing Spoilers to be shown in post feeds.
  • Fixed a layout issue allowing voting buttons to be compressed on post cells.
  • Fixed an issue where link previews in comments would display an extra line of compressed text.
  • Fixed an issue preventing paged gallery views from responding to taps when contained in a crosspost view.
  • Fixed an issue where cells would not resize when a link preview was loaded.
  • Fixed an issue preventing post cells from sizing properly when new content is loaded.
  • Fixed an issue that could allow system swipe actions to display, even if custom swipe actions are enabled.

Links

10
143

It's still in early development stage, but I think it's coming together rather nicely and it's pretty snappy. Thoughts?

11
20
submitted 1 month ago by jherazob@fedia.io to c/lemmyapps@lemmy.world

As the title says, i want to be able to set it up so that when i open the app i ONLY see the stuff from the instance at the start and not from any federated one until i tab away or something, to use with a tiny private instance. Does this exist?

Bonus points if it's a FOSS one on FDroid.

12
97

13
24
submitted 1 month ago* (last edited 1 month ago) by DataDrifter@lemm.ee to c/lemmyapps@lemmy.world

Hi all, I’m excited to introduce redgazer.com to the community - a new, streamlined way to browse photos in Lemmy communities.

Key Features

  • Gallery View: Browse photos in a clean, Pinterest-style masonry layout
  • Quick Preview: View full-resolution images and discussions without leaving your feed
  • Multi-Instance Support: Connect to any Lemmy instance seamlessly
  • Minimalist Design: No distractions – just the content you want to see

I’ve been working on this for a few months and would love to hear your feedback!

Edit: a few examples:

14
34
submitted 1 month ago* (last edited 1 month ago) by ptz@dubvee.org to c/lemmyapps@lemmy.world

Cross-posted from "v1.4.20 Released" by @ptz@dubvee.org in !tesseract@dubvee.org


This is a fairly large release packed with lots of UI refinements, removal of a lot of legacy cruft (though sadly not all yet), new features, better moderation workflow, and lots of bugfixes. This is probably the most overhaul the basics of the UI have seen in one release since the first versions.

Probably my favorite new feature is the configurable "hybrid" view. In hybrid view, all posts default to compact mode, and you can configure which post types should display as cards by default. e.g. Image posts (memes, pictures, etc) will default to cards with everything else remaining compact. You can also, optionally, keep posts that are marked read in compact view.

Additionally, all posts (except text-only posts; there's no difference) can be toggled individually between compact and card now. Previously, this was only possible when the view was set to 'compact'.

Get Tesseract

Hosted instance: https://tesseract.dubvee.org

Docker Tags:

  • ghcr.io/asimons04/tesseract:1.4.20
  • ghcr.io/asimons04/tesseract:v1.4.20
  • ghcr.io/asimons04/tesseract:latest

The hosted instance defaults to Lemmy World but is unlocked to connect to any Lemmy instance.

Bugfixes

Bugfixes: Minor

  • May only have been an issue for admins, but administratively hidden and removed communities will now no longer show up in community autocomplete results.
    • They will still (intentionally) show up when filtering for a community in the modlog though (though only admins should be able to see those results)
  • Fixed full URLs not truncating properly when "Show Full URLs" option is enabled
  • Fixed issue with click-to-play not working on post pages if media is disabled on post pages.
  • Disable "reply" button if post is removed or deleted
  • Disable 'report' post action if post alredy removed (I think deleted posts can still be reported, though. Need to double-check the API behavior.)
  • Disable 'report' comment action if comment already removed.
  • Fixed Gifs not previewing if just 'url' is present (i.e. no thumbanil_url or embed_video_url)
  • Indicate post's removed/deleted/lock state in the comment item component when viewing profiles
  • When "Match Crossposts on Title" is enabled, posts with the same title but different URLs will no longer be erroneously rolled up
  • "Distinguish" now only shows on your own comments if you are a moderator. This matches the stupid API behavior because...the Lemmy devs don't listen to anyone. (Wow I really can't go one release without throwing shade at them, can I?)
  • Modlog now shows hide/unhide and remove/restore community events.

Bugfixes: Major

Image Cache Housekeeping

Fixed image cache housekeeping not working correctly.

There were changes to fs/promises that I missed, and some functionality changed along with a few of the member variables being deprecated. This was causing the directory content calculations to silently fail safe (returned 0 rather than crashing).

As a result, nothing was ever getting evicted from the cache.

If you are using the cache functionality of the image proxy, you will likely notice that startup takes a bit longer this time if you have housekeeping set to run at startup (recommended). This is because it will be housekeeping all of the cached objects it should have been housekeeping all along. Once the initial cleanup of the backlog has completed, further startups should complete in the normal/expected amount of time.

If startup takes too long, you can always delete all of the .cache objects manually from the mounted cache folder. See the Media Proxy docs for configuration options.

New Features / Changes

"Hybrid" Post ViewRather than a binary choice of "card" or "compact", hybrid view will let you set a list of post types (image, video, article, etc) that you want to render as cards while displaying everything else as compact. This is the new default view.

This is useful, for example, to let memes and news articles co-exist without having to expand every meme image manually in compact view or view every article thumbnail card-sized.

The behavior and post types can be configured from Quick Settings -> Post Style -> Hybrid and then clicking the link for "Configure" -or- from Settings -> Feed- > Hybrid View Configuration

By default, only image posts are expanded to cards.

In addition to setting the types of posts that should render as cards, you can optionlly keep read posts collapsed into compact view when they would otherwise be cards if they were unread. This is enabled by default, but can be easily disabled.

There is also a new regular view called "Compacter". It is the same as compact but post body is fully collapsed. Similar to "More Compact" but not full width.

Post Form Now Automatically Searches for Crossposts/DuplicatesWhen you are creating a post, the URL will be searched to see if you're posting something that's already been posted. It should do this automatically when the URL field changes or the URL is set and the community changes. The behavior is slightly different depending on if a community is defined:

  1. If the community is not set, then it will search for any posts on your instance matching that URL. The label will be "Crossposts".

  2. If the community is set, then it will do a remote API call to search the home instance of that community for any posts to that community with that URL. The label will be "Existing posts".

The latter behavior is particularly useful if you want to avoid accidentally posting a duplicate that may have been posted by someone you've blocked or by someone your instance doesn't federate with. Those posts may not be visible to you locally, so the remote search should help identify them so you don't clutter up the feed and/or add extra work for the moderator who usually removes duplicate posts.

If for whatever reason it doesn't trigger automatically, the "Magnifying Glass" icon to the right of the URL field can trigger the search manually.

Also note that behavior #2 only works if you're posting to a Lemmy community since it makes a remote API call to the community's home instance using the Lemmy API. Thus, it cannot search a remote Kbin/Piefed, etc instance.

Can Now Vote on Crossposts Without Clicking Into ThemVote buttons have been added to the crosspost items, so you can now vote on them from the feed and post.

In the feed, since the cross_posts are rolled up manually from regular post objects, the voting works as expected.

Unfortunately, when clicked into a post, the API call does not add the my_vote variable to the cross_posts array. So while you can vote on the crosspost, and the vote will be correctly recorded, your vote will only display correctly while you're on that page. Since the API doesn't return the vote you cast, on refresh or subsequent loads, the vote button will not indicate which way you voted. If you try to vote again, the score will not necessarily change. Yet another feature I want to implement hampered by dumb API decisions.

DailyMotion Video Embeds Now SupportedI forgot Dailymotion existed until someone posted a link a while back. Upon inspection, they have an embed API, so I figured why not add support for it.

Moderation Menu Has Been Replaced With New Moderation ModalThe moderation menu on posts and comments has been removed. The reason is that the menus were getting cluttered when new things are added, especially for admins who have more options available than regular mods. Rather than creating sub-menus (yuck!) or introducing separate UI elements for admin controls, I've just scrapped the whole thing and started over.

The "mod" button will now open a modal containing all the mod tools that are appropriate for the item.

The cool thing about the new mod modal is that all of the tools are packaged into it. It doesn't open separate modals for banning/unbanning, removing/restoring, etc. It even has the community details available so that mods can reference the rules when issuing actions without leaving the item they're working with.

Current Capabilities and Features

  • A mini-banner heading showing the current community with its icon and the creator of the item and their avatar/info.
    • Both communtiy and user are clickable to bring up their respective profile modals to get more info (these pop up in separate modals and aren't integrated into the mod modal)
  • Pin/Unpin the post to the community
  • Feature/Unfeature the post on the instance (admins only)
  • Lock/Unlock the post
  • View the community details relevant to the current item (post or comment)
  • View the votes for the item (admins only until whatever version of Lemmy lets mods do this for their communities)
  • Remove/Restore the post or comment (shows the post meta header or the comment meta header and comment previews)
  • Send a DM to the post/comment's creator
  • Purge the post or comment (admin only)
  • Ban/Unban the user from the community
  • Ban/Unban the user from the instance (admins only)
  • Distinguish/undistinguish mod comments
  • View the user's modlog history
    • Defaults to their history in the community relevant to the current item
    • Can toggle between their modlog history in the community and their full modlog history
    • Also has link to the full modlog viewer filtered for that user.

All tools stay within the same modal, and it shrinks/expands to accommodate the various integrated tools.

Improved Community ModalsTo reduce clutter, the "Subscribe/Unsubscribe" (RSS Icon), "Favorite/Unfavorite" (Star), "Add/Remove to Group" (3 People) buttons have been moved to the modal title bar as icon-only buttons.

"Create Post" is no longer a link to the community's create post page. It now shows the create post form right in the modal. There is a button in the upper-right which will take you to the /c/{community}/create_post page if you want to use the old form ( 🖼️ 👩🏻‍🦰 🖼️ it's the same form).

For admins, "Remove/Restore Community" and "Hide/Unhide Community" have been integrated. They will also now prompt for an optional reason to show in the modlog.

The "Community Details" is now a panel (like in the moderation modal) rather than being an accordion. Same functionality, different packaging.

You can now view the community's modlog directly in the modal.

Added the direct ban/unban user tool to the community modal. Instance admins and community moderators can now manually ban/unban users from the community without having to dig up a submission. Useful to revisit an old ban or to ban a known troll making the rounds before they hit your community.

Improved User ModalsThe "Copy Lemmyverse Link" and "Copy Actor ID" buttons have been moved to the modal's title bar as icon-only buttons.

  • The "Share" icon is for Copy Lemmyverse Link. This is used to share an instance-agnostic link to a user.
  • The "Link" icon is for Copy Actor ID.
  • The box with arrow in top right icon will take you to the user's profile.

Can view user's modlog history directly in the modal

Can send a message to the user directly from the modal

For admins, the "ban/unban user" form is now integrated directly into the modal.

Piped/Invidious Support ChangesSince YouTube has gone to war against alternate frontends (and is sadly winning), most public instances no longer work. However, I believe that private/small instances may still function as expected.

Since the public instances are pretty much all broken or only partially working, Invidious/Piped support has been modified to only be enabled if the user supplies their own instance.

The distinction between Invidious and Piped has also been removed since the link formats are interchangeable. Now, in Settings, the YT frontend has been changed to just "YouTube" and "Custom". The custom instance list can contain Invidious and/or Piped instances.

The alternate link selector for YouTube videos will now also only show "Invidious/Piped" option if you have defined at least one.

As before, multiple custom instances can be defined but one will need to be selected as the default. That one will be used for the alternate source selector and, optionally/separately, as the embed player.

Note: You can keep YouTube as the default embed player while also adding a custom Invidious/Piped instance to act as alternate links in the alternate source link menu.

The internal lists of public Invidious and Piped instances has been combined and are only used for detection; formerly, these could be selected as frontends.

On the admin side of things, the env var PUBLIC_CUSTOM_PIPED has been deprecated. For now, it will simply be combined with the PUBLIC_CUSTOM_INVIDIOUS list. Eventually the Piped list will be removed, but that is TBD. Those lists are also only used for detection and are no longer presented as possible frontends for the user to select.

If a user wants to use Invidious/Piped, they must supply their own instance in their settings.

Long, Non-Comprehensive List of Various UI Tweaks

  • Lots of UI polish all around. Too numerous to list individually.

  • Legacy user and community menus in /u/{user} and /c/{community} cards have been removed. The functionality has been moved into the respecctive user/community modals.

  • Community link pill buttons are now gray instead of orange. The orange was just...too much. User link buttons are still blue.

  • Better display of metadata from posted links

  • Cleaner compact view (also incorporates metadata display better)

  • Feed images are limited to a maximum of 40% viewport height. This still gives the nice "card" effect while also not making posts massive. They were formerly limited to 80vh, but even this is no longer needed since the ZoomableImage component was integrated.

  • Removed user settings for post and feed image sizes since they're no longer needed with the new compact and card view tweaks described above.

  • Post body images are now hidden in the feed and a link shown in their place. Clicking the link will open them in a preview modal. Unless the option to disable inline images is turned on, then they will still show as embeds when opening the post. This should help compact mode stay compact rather than some of them being massive with one or more post body images slipping through.

  • Direct video (mp4, webm, etc) posts now use the video metadata for the thumbnail if OP didn't post a custom one. Also works in compact view now.

  • Bandcamp embeds are now smaller.

  • All media renderers now show the embed metadata alongside the post details.

  • Direct audio links (MP3, etc) now have renderers; they only rendered in the markdown post body and comments previously. Now if the post URL is an audio link, a player will embed.

  • Show link selector, link, and MBFC even if metadata fails to load in preview modal. Also show that info while fetching metadata.

Better Error Handling and Integration with Pifed/Mbin/etcWhen clicking a link that goes to a post or comment, Tesseract will massage the URL to attempt to render it locally (extract the instance and post ID and do a remote API call to fetch it for local rendering). This works great for Lemmy, but non-Lemmy services which use the same /post/{id} and /comment/{id} URL format don't work with Lemmy API calls.

Before, this would throw a generic 500 "Failed to fetch post" error. The UX has been improved in this release by showing a clearer error message as well as a button to visit the post on its home instance.

Additionally, if a local post fails to load, there's now conditional verbiage to indicate a local post may have been removed by its creator or removed by a moderator, and there is no button to visit it on the home instance (since it is the home instance).

15
17

Cross-posted from "[release] 1.13.0-beta03 available for testing" by @akesi_seli@lemmy.world in !raccoonforlemmyapp@lemmy.world


Hi folks, a new beta has been release today! It contains some updates to the "App information" dialog (e.g. the link to the new Matrix room) and a fix for the selection of the feed type in the home screen, which incorrectly opened the instance selection.

I'm continuing the migration of all bottom sheets to Material 3 modal bottom sheets, there are just 9 left for the refactoring to be complete.

Thanks to everyone for continuing using the app, have a nice weekend and remember #livefasteattrash 🦝🦝🦝

16
42
submitted 2 months ago by Sunshine@lemmy.ca to c/lemmyapps@lemmy.world

I need to pump up my contribution numbers to match Flyingsquid’s to further dispel that Reddit urban myth that “Lemmy is not active that’s why I’m not currently using the platform”

17
43
submitted 2 months ago by Sunshine@lemmy.ca to c/lemmyapps@lemmy.world

It seems like Voyager and Thunder have quite a few features the others don’t have such as advanced search, gif support and user labels.

18
25

cross-posted from: https://lemmy.world/post/21303389

This has been something I've been wanting to do for a while. The app has been pretty stable recently so I can take a moment to work on a simple website for it. The purpose of the website is to have an official "front page" for the app.

19
40

cross-posted from: https://lemmy.world/post/21042842

Well, this is no small update like I had planned after the previous update. This is by far the largest update to Arctic so far. I've packed well over a hundred fixes, improvements, and new features into this release. I'm happy I finally had the time to work on some larger features and bug fixes that I have been putting off for a long time.

Arctic Theme Support (beta)

Arctic Theme Previews

I've talked about this for a long time and finally had the chance to implement support for themes in Arctic. This took a lot of work, but it has definitely paid off. I've included 12 default themes to choose from, as well as an editor to design your own custom themes. Rather than attempting to make every color themeable individually, I tried my best to minimize the colors used while still allowing for robust customization. With that said, I am looking for feedback on the theme editor. Themes can be configured for either light or dark mode, so you can mix and match them to your liking, e.g., Sepia during the day and Dracula during the night.

Themes can be imported and exported using a simple JSON file (ATDF “Arctic Theme Definition File"). You can duplicate any theme and edit to your liking, and switch between them with a single tap. I am planning a service for sharing and browsing community themes in the future, but first I would like to get some feedback on theming to finalize the format.

Markdown Improvements

Markdown Improvments

I came across this post about Markdown support in Lemmy apps recently. It highlights many issues with Markdown rendering in a lot of the Lemmy clients that are available. Arctic seems to have scored fairly well with a 9.3/10.

Some of the issues that were highlighted about Arctic were:

  • Images not properly rendering in-line.
  • Headers not working inside spoilers
  • Tables not aligning columns correctly

Well, this motivated me to work on improving markdown support in Arctic. I took some time and fleshed out support for embedded content in Markdown. Images, Videos, Tables, Spoilers are all embedded now which has allowed for many improvements to the rendering system, and more advanced control over the appearance. I've also fixed several issues where markdown rendering did not obey the Common Mark specification.

Media Uploads

Arctic no longer requires permission for selecting media from the photo library. I've also enabled support for uploading videos, and improved error handling to better convey issues with uploading media. Arctic also has support for uploading directly to Catbox.moe, this can be useful if you have a video that is too large for Lemmy or just prefer not to host media on Lemmy. Optionally, you can log in to Catbox so files are uploaded directly to your account and can be deleted later (anonymous uploads can only be deleted by Catbox.moe's admin). As a side note, I developed Catbox-Swift for easily managing Catbox.moe uploads. Please feel free to use this in your projects.

Media APIs

Arctic finally supports playing videos hosted by Lemmy (Picts). This has been a long-time frustration for me, as videos hosted on Lemmy servers seem to have issues playing on all Apple platforms. Well, I finally had the time to track down the issue preventing playback and attributed it to server configuration and Apple oddly not handling this issue well. In addition to Lemmy video, Arctic can now stream videos on PeerTube and Streamable. I've improved support for streaming YouTube videos, and fixed several issues with Reddit, and Imgur media.

Performance and Energy

I've rewritten large portions of Arctic's backend with performance, reliability, and consistency in mind. On average, Arctic now uses about 75% less memory, and significantly less CPU. In rewriting these systems, I was able to make a lot of improvements to caching behavior to reduce network usage, and increase consistency in rendering content. When Arctic is idle, or backgrounded, systems will shut down, and memory will be freed to prevent any energy consumption while the app is not in active use.

v0.4.2.3 Changelog


Arctic Theme Support (Beta)

Theme support is in beta. Please submit any feedback related to improvements or issues

  • Added support for custom themes
  • Separate themes for light and dark mode
  • Automatic theme switching
  • Full theme editor, with live previews
  • Instant switching of themes (some issues with this)
  • Import and export themes
  • Copy themes to customize to your liking
  • 12 default themes to choose from:
    • Arctic Light
    • Arctic Dark
    • Arctic Black
    • GitHub Light
    • GitHub Dark
    • Dracula
    • Alucard
    • Crème
    • Solarized
    • Nebula
    • Verdandi Light
    • Verdandi Dark
Markdown

  • Added support for embedded videos
  • Added support for embedded images in Markdown tables
  • Added support for markdown image links
  • Added rounded corners to embedded media
  • Added optimizations for caching embedded content layout
  • Added support for additional Lemmy link formats /c/<community>@<instance> and /u/<user>@<instance>
  • Added invisible break shortcut to the markdown toolbar for inserting invisible thematic breaks using HTML comment <!-- -->
  • Updated block quote appearance to render full length margin lines for nested quotes
  • Updated markdown parsing with improvements to parsing speed
  • Updated spoiler parsing to improve reliability
  • Updated link detection and handling
  • Updated defaults to enable embedded content by default
  • Fixed HTML rendering using incorrect font and text colors
  • Fixed an issue where spoilers would be parsed inside code blocks
  • Fixed an issue where a Markdown table occurring immediately after a spoiler could break rendering of the spoiler
  • Fixed an issue where inline code may be incorrectly parsed
  • Fixed soft breaks in code blocks having incorrect indentation
  • Fixed block quotes incorrectly allowing soft breaks
  • Fixed an issue where links were not tappable when contained in an embedded Markdown table
  • Fixed some issues with inline images being positioned incorrectly
Link Previews

  • Added support for audio in link previews: e.g. for playing audio previews on Spotify links
  • Added a new network manager for improved control over network requests
  • Added support for fetching the apple-touch-icon from links instead of relying on Google for favicons
  • Rewrote open graph parser to improve reliability and performance
  • Fixed an issue where direct download links could result in Arctic loading large files into memory while attempting to provide a link preview
  • Fixed an issue where link previews could be unnecessarily be reloaded when they are already cached
Media Uploads

  • Uploads no longer require permission for selecting media from the photo library
  • Added support for selecting and uploading videos
  • Added support for uploading media directly to Catbox.moe
  • Added option to select the default upload destination (Lemmy, Catbox, ask each time)
  • Added option to log into Catbox.moe, so uploads will be added to your account
  • Improved logging of errors when uploading media
Media APIs

  • Added support for playing videos hosted on Lemmy. (Videos hosted by Picts have issues playing on Apple platforms due to server configuration, arctic will now detect this and preload the video for playback)
  • Added support for PeerTube videos
  • Added support for Streamable videos
  • Improved support for YouTube videos
  • Improved caching behavior to reduce network usage
Improvements

  • Major overhaul to memory and energy management in Arctic. On average, Arctic now uses 75% less memory, and significantly less CPU and energy. There are some cases where memory and CPU usage may spike, such as views with a high number of animated images. However, Arctic will attempt to listen to system warnings and unload resource intensive tasks when requested.
New Features

  • Added support for additional image formats such as AVIF, and SVG (shields.io)
  • Added an experimental feature to dim media when dark mode is enabled
  • Added support for fetching media from Reddit post and comment links
  • Added a new paging image gallery view, you can choose between paged, or grid appearance in settings
  • Added a new option related to the Post Image Size option to allow scaling images down to fit the full image in the view
  • Added a warning alert when attempting to submit a comment with no content
  • Added support for Haptic Touch on images and videos to allow saving/sharing media
  • Added an overlay for media that failed to load to allow attempting to reload the media
  • Added support for domain filters, You can now filter individual websites from post feeds
  • Added caching of media playback positions, media will now resume at its previous position
  • Added a close button to the changelog popup when launching Arctic
Changes

  • Updated font sizes throughout the app for better consistency.
  • Updated the new comments indicator to subtly add a green (+) icon in the center of the comments icon
  • Updated the indicator used for featured posts
  • Updated avatar image labels to improve performance
  • Updated rendering of inline code that wraps lines
  • Updated the Community Selector appearance
  • Updated link handling to attempt loading all links over HTTPS, Arctic does not allow unsecured network requests
  • Updated crosspost detection to be more lenient. Some clients have slightly different formatting for crossposts, and Arctic will now detect more of these formats
  • Updated open post views to more closely resemble post feed appearance
  • Updated image processing to improve performance and reliability in detecting image formats
  • Updated the video player with modern swift observers removing some legacy code
  • Updated the profile header appearance
  • Updated the progress bar on inline videos
  • Updated the playback controls in the media viewer with an iOS 18 esque appearance
  • Updated the preloading behavior in post feeds, this addresses several issues with inconsistent layout, content disappearing, content failing to load, high memory usage, etc. This has drastically improved performance and reliability within post feeds
  • Updated video thumbnail loading to improve reliability and performance
  • Updated image gallery layout and improved performance
  • Updated the project removing some unused legacy code
  • Updated changelog popup not to show on the first time launching Arctic
Fixes

  • Fixed issue where Arctic would request permission to send notifications on its first launch. Permissions will only be requested when enabling notifications in settings, or adding a Community Notification for the first time.
  • Fixed issue where widget insets would be too large on iOS 17+
  • Fixed issue where Reddit gallery links would not properly load content
  • Fixed issue where some links could incorrectly be treated as YouTube links
  • Fixed issue with some cells appearing clipped when using a notched device in landscape
  • Fixed an issue where changes to the unique notification token for devices would not be synchronized with the notification server
  • Fixed issue where media would not pause when dismissing an open post view
  • Fixed Bar Shadows setting not applying when blurred or default bar styles are enabled
  • Fixed several layout issues that could cause performance drops, and incorrect rendering in some cases
  • Fixed an issue where importing user settings would show a success alert even if the import was canceled
  • Fixed an issue where Arctic may crash when refreshing a profile view
  • Fixed an issue where media in comment cells could continue to play even when it is out of view
  • Fixed an issue where the mod reason composer would show full-screen rather than as a popover
  • Fixed an issue where image gallery's' could cause a crash due to invalid links
  • Fixed an issue where some pages would allow pull to refresh even though it was unused
  • Fixed an issue where widgets would display very low quality images
  • Fixed an issue in private messages where the bottom inset would be incorrect after sending a message
  • Fixed an issue where clearing the search query in the Community Selector could continue to show results for the first letter of the cleared query
  • Fixed an issue where the navigation bar might not reappear when swiping back from search results
  • Fixed an issue where the cancel button would appear on the right-hand side when inserting a link or image using the markdown toolbar
  • Fixed an issue where refreshing a profile, or scrolling would repeat some API requests when they already cached
  • Fixed an issue where multiple API requests to the same endpoint could occur at the same time, duplicate requests will now be batched into one to prevent unnecessary network traffic, and reduce server load
  • Fixed an issue where embedded crossposts could incorrectly show an empty image gallery view
  • Fixed an issue where avatar images would be fetched even if they are disabled in settings
  • Fixed an issue allowing images to be re-downloaded even if they were already cached
  • Fixed an issue where Imgur gifv links would not load, these links are now redirected to the direct media link
  • Fixed an issue where the random community button in the search tab could cause a crash, or load the home feed
  • Fixed an issue where opening a community you are not subscribed to while the listing type is set to Subscribed, would result in an empty feed
  • Fixed an issue where Arctic could crash when scrolling in post feeds, or after reopening Arctic from the background
  • Fixed an issue where video seeking could be inaccurate
  • Fixed a typo in appearance settings
  • Fixed an issue where saving HLS videos would silently fail. Saving HLS streams is unsupported, and an alert will be shown when attempting to save HLS content
iOS 18

  • Fixed a visual glitch when hiding the tab bar on iOS 18 due to an iOS bug
  • Restored tab bar appearance on iOS 18 to use the classic style
MacOS

  • Added support dismissing media previews using the trackpad
  • Added support for building as Optimized For Mac (So much left to fix with this)
  • Added better support for App Nap on Mac by pausing non-essential background activity
  • Added keyboard shortcut (Command + Return) for submitting comments, posts, messages, etc.
  • Fixed an issue where the login controller would be shown off screen when presented from the account quick switcher

Links


20
23
submitted 2 months ago* (last edited 2 months ago) by ptz@dubvee.org to c/lemmyapps@lemmy.world

Bugfixes

Flairs in Post Titles

It was pointed out that words in brackets meant to act as clarifying text were being converted to flairs and making some post titles hard to read. This is because the [tag syntax] is the same as is used for clarifying text, so there was some overlap causing that behavior.

Now only bracketed text at the beginning and end of the title will be converted into a flair. This should allow flairs using the [tag syntax] to co-exist with all but a few edge cases of clarifying text.

Example:

[Flair] [Flair 2] The title [of the book] goes here [Published 2022] -> The title [of the book] goes here with the flair tags being Flair, Flair 2, and Published 2022. The clarifying text in the middle remains unrendered.

The other bug I discovered in this area was that if the whole title was inside brackets, it would be converted into a big flair tag. Now, if there is no title text left after extracting the flairs, the title will be used as-is.

Example:

[Jaws theme intensifies] would have been converted to a flair before. Now it will render as text (as likely intended by the creator).

Misc Bugfixes

  • [26d26798] Add error handling in case bad URL sent to isImage, isAudio, isVideo helper functions.
  • [6b99e0cd] Fixes issue where post was not being marked as read correctly on newer API versions since it was sending a single post ID instead of an array.

New Features in 1.4.16

Can Automatically Mark Posts as Read While Scrolling

Per user request, a new option and feature has been added that will automatically mark posts as read as you scroll past them in the feed. This is disabled by default, but can be enabled in Settings -> Feed -> Mark Posts Read on Scroll

Currently, a post will mark as read when 60% of it is in the viewport for more than 1.5 seconds.

Better Crosspost Attributions

Crossposts are great from a user standpoint as they reduce clutter, but they often bury other communities since it's not easily apparent where it was cross-posted from and by whom. The link also typically takes you away from your home instance (depending on UI, anyway).

Now, when crossposting, the default cross-post header has been updated to give better visibility to the original:

Cross posted from "ORIGINAL_TITLE" by @ORIGINAL_USER@instance.xyz in @ORIGINAL_COMMUNITY@instance.xyz

The title is linked to the canonical AP URL of the original post (same as before but with text applied instead of a bare link). The original user and original community links are in the standard user/community link format. In Tesseract, both of those are clickable to view the user and community profiles.

Since Tesseract will automatically resolve unknown communities if you're logged in, this should give a visibility boost to communities that may go overlooked.

Note that since the crosspost header info is just prefixed into the new post body, this will have no effect on old crossposts. It will also not change anything for crossposts made via other UIs nor will it affect the crosspost behavior in general since those are all based on the post's URL.

Sidebar Community List

General

The sidebar with the subscription list has been completely overhauled. I'm now using standard CommunityLink components which have the benefit of opening the community modals. The community buttons are still buttons and will take you to the community page. Clicking the community text will open the modal while clicking the button around that will take you to the community page.

The inline menu buttons have been removed since all of those functions are also available from the community modals. This saves a good chunk of memory since a discrete menu is not required for each element now.

The instances for each community are now also shown by default. You can disable this by turning off Settings -> General -> Show Instance Names in Sidebar.

Community List Filtering

I've also re-implemented the filtering of the subscription list. It is now more granular and can accept modifiers as well as take the instance into account.

Default

By default, the filter query will be a case-insensitive contains comparison against the community's display name (or system name if display name is undefined).

It will now also accept an instance if you include it after an @. The instance is compared with a case-insensitive startsWith against the actor id of the community.

  • Example 1: new will return any community containing new in its display name (or name if display name is not set)
  • Example 2: new@lemmy. will return News@lemmy.word, LegalNews@lemmy.zip, etc.

Filter by Name (rather than display name)

If you want to filter the list by the community's system name rather than the display name, prefix the filter with an !.

The instance is also accepted here if it is provided after an @.

  • Example 1: !new will return any community whose system name begins with new such as news@dubvee.org, news@lemmy.world, newcommunities@instance.xyx, etc
  • Example 2: Using the same example from above, !new@lemmy. will return news@lemmy.world but not LegalNews@lemmy.zip
  • Example 3: Can be used if you want an exact match based on the community link syntax (!community@instance.xyz)

Filter by Instance

To filter by instance, prefix the filter with an @. This will only show communities belonging to the specified instance. This filter method uses a startsWith, case-insensitive comparison against the hostname of the community's actor id.

This is particularly helpful if you want to see what communities you're subscribed to on a particular instance. AFAIK, there is no way to get that info from the API.

UI Tweaks

Independent Preview Button in Post Create/Edit Form

Rather than previewing the entire post, including thumbnail and embed metadata, you can now also preview just the markdown of the post body.

The old behavior was more of an intentional choice that didn't work out well in practice / real-world use. You can still preview the entire post (that hasn't gone away); you just have more granularity in what you preview.

Added "Fact Check" Section to Alternate Source Link Menu

There are one or two "Fact Check" options available in the alternate source link menu now.

  • MBFC, if avaialble
  • SpinScore.io (shows on all links)

I'm not a fan of AI-generated ~~summaries and analysises~~ anything, so I probably won't be using that, but it's an option if you want to use it.

Direct Video Embeds Now Support Custom Thumbnails

If a custom thumbnail is provided for a post where the URL is to a video, the thumbnail will now be used for the click-to-play overlay.

Other Stuff

  • [7c8c96fb] Update MBFC dataset
  • [c6ce2213] Update MBFC removal template
  • [c908b886] Add option to disable automatically refreshing dates in the RelativeDate component (post/comment published/edit times, etc)
  • [135ed9cd] Changed animation on menus to slide instead of scale

Get Tesseract

  • Github
  • Docker:
    • ghcr.io/asimons04/tesseract:1.4.16
    • ghcr.io/asimons04/tesseract:v1.4.16
    • ghcr.io/asimons04/tesseract:latest

Update: The dependency issue was my fault. I left out a dev dependency and had apparently been relying on implicit inclusion that worked up until Svelte 5 was released and vite-plugin-svelte updated for that. Updated the package.json and republished. The Docker tags should work fine for x86 (I did them on my dev machine), but the arm64 builds should be finished from the Github actions in the next 10-15 minutes. If you typically build from the repo, you should be good since I published the fix to the dependencies.

21
25
Echo for Lemmy Released (eventfrontier.com)

cross-posted from: https://eventfrontier.com/post/150886

I'm pleased to announce the release of Echo for Lemmy! Echo is a Lemmy client for iPhone that I've been working on for a while and I'm excited to finally share it with you all.

Echo for Lemmy is a fully native iOS application built using fully native Apple SDKs. This means it feels right at home on your iPhone and is designed to be fast, efficient, and easy to use. No overhead from web views or cross-platform frameworks.

Here are some of the features available in Echo for Lemmy:

  • Connect with communities based on your interests.
  • Sort your feed by most active, trending posts, new posts, and many more.
  • Upvote and downvote posts & comments.
  • Powerful search experience to find the content you're looking for.
  • Create posts using share extension from any app on your device.
  • Bookmark posts to easily find later.
  • Fully native application with dark mode support & accessibility features.

Echo for Lemmy is available for free on the App Store, with subscription plans available for Echo+. You can download it here: Echo for Lemmy on the App Store.

You can also join the official Echo Lemmy community at [!echo@eventfrontier.com](/c/echo@eventfrontier.com).

I'm excited to hear feedback, suggestions, bug reports, and feature suggestions. Feel free to comment here, or create a new post! You can also reach out via email at support@rrainn.com.

This is only the beginning. Much more to come!


Download Echo for Lemmy: https://echo.rrainn.com/download/iphone

Echo Lemmy Community: !echo@eventfrontier.com

Echo Mastodon Profile: @echo@mstdn-social.com


Screenshot of Echo for Lemmy on an iPhone showing a list of posts in your home feed.

22
17
submitted 2 months ago* (last edited 2 months ago) by ptz@dubvee.org to c/lemmyapps@lemmy.world

I've been on a bit of a development hiatus the last couple of months, but I'm starting to work on the project again. One thing I've been wanting to address is the broken support for Invidious/Piped.

With Youtube seemingly hellbent on making sure those no longer work, should I remove support for them in Tesseract or give those projects a while longer to find a workaround? I don't closely follow development of either of those, but last I checked, it seemed pretty much dead because of YouTube's shenanigans.

The code could be a lot cleaner if I removed that support, but if there's a chance of either of them coming back, I'd be willing to leave it in.

Questions for the Community

  1. Is it just public Invidious/Piped instances that are broken?
  2. Do private instances still work?
  3. Do you think either project will come up with a medium to long term workaround?

I'm thinking if private instances still work, I may just remove the public list and only enable the option if the user specifies a custom instance in the app settings. For historic posts, I'll just have it rewrite any Invidious/Piped links to canonical YouTube links or the user-defined custom Inv/Piped instance if defined. If not, then I may just remove that support entirely and only rewrite old links to go through YouTube directly so they still work.

Thoughts?

23
15

does anyone know any ios apps that allow us to group communities into custom feeds like multireddits? thx

24
26
submitted 3 months ago* (last edited 3 months ago) by Xylight@lemdro.id to c/lemmyapps@lemmy.world

Even if you don't use Photon and have only heard of it, your answers can be useful for some questions!

cross-posted from: https://lemdro.id/post/13579151

I'd like to learn about the community that uses Photon, so I've decided to make a survey! You can answer it if you like. In about a week I'll collect the responses and see if anything's interesting, and then I'll make a post showing any discoveries.

The survey just has a few questions about demographics, Lemmy usage, and knowledge of Photon's features.

25
70
submitted 4 months ago by TWeaK@lemm.ee to c/lemmyapps@lemmy.world

I've had enough of the text editing issue, where when you press backspace it highlights the space before the word and ends up deleting it. The developer passes off responsibility for this to the engine they use and seems to have no intention of addressing it.

What are the pros and cons of the other Android apps? I'm only considering ones on F-Droid, not the Play Store, so that rules out Summit and Boost. Ones I have available are:

  • Thunder (IzzyOnDroid)
  • Interstellar (IzzyOnDroid)
  • Voyager
  • Eternity
  • muffed (IzzyOnDroid)
  • Combustible
view more: next ›

Lemmy Apps

4989 readers
1 users here now

A home for discussion of Lemmy apps and tools for all platforms.

RULES:


An extensive list of Lemmy apps is available here:

LemmyApps.com

or lemmyapps.netlify.app


Visit our partner Communities!

Lemmy Plugins and Userscripts is a great place to enhance the Lemmy browsing experience. !plugins@sh.itjust.works

Lemmy Integrations is a community about all integrations with the lemmy API. Bots, Scripts, New Apps, etc. !lemmy_integrations@lemmy.dbzer0.com

Lemmy Bots and Tools is a place to discuss and show off bots, tools, front ends, etc. you’re making that relate to lemmy. !lemmy_dev@programming.dev

Lemmy App Development is a place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform. !lemmydev@lemm.ee

founded 2 years ago
MODERATORS