this post was submitted on 04 Sep 2024
5 points (85.7% liked)
Raccoon for Lemmy app
69 readers
2 users here now
This community is dedicated to the discussion about the Raccoon for Lemmy mobile app. Raccoon is an open source app powered by Kotlin Multiplatform (KMP) and Compose Multiplatform (CMP) which intends not only to provide a mobile client for Lemmy, but also to create a space where users' voice is listened to, and we grow together by exchanging opinions.
Main features:
- view post feed and comments with different listing and sort types;
- possibility to upvote and downvote (with configurable swipe actions);
- community and user detail (with info about moderators/moderated communities);
- user profile with one's own posts, comments and saved items;
- inbox with replies, mentions and direct messages;
- global search with different result types (all, posts, comments, user, communities);
- create and edit new posts (with optional images);
- cross-post contents to other communities;
- reply to post and comments (and edit replies);
- mark posts as read (even while scrolling) and hide read contents;
- custom appearance (color scheme, fonts, text sizes, post layout, etc.);
- custom localization (independent of system settings);
- block users, communities and instances;
- report post and comments to moderators;
- support for multiple accounts with account-specific settings;
- lazy scrolling (referred to as "zombie mode");
- explore all the communities on a given instance in guest mode;
- multi-community (community aggregation);
- view the moderation log;
- community moderation tool (examine and resolve reports, ban users, feature posts in community, block further comments from posts, mark comments as distinguished, remove posts/comments, review all created posts/comments, edit/create community);
- save drafts for posts and comments;
- anonymous mode with quick instance switch;
- admin tools (purge users/posts/comments/communities, feature posts locally, hide/unhide communities).
Why was the project started?
- experimenting and testing Kotlin Multiplatform and Compose Multiplatform in a real world project, to explore what could be achieved with multiplatform libraries and share as much code as possible in the
commonMain
source directory; - offering a feature rich Lemmy client mainly aimed at both beginners and “pro” users, i.e. users who are not content with just browsing the contents of the Fediverse, creating posts and answers but be able to customize the app and “feel at home”;
- dig deeper inside Lemmy’s internals and understand better what it is like to work with a decentralized platform.
We believe that Lemmy has a lot of potential and part of its success depends on users being able to enjoy the experience on robust and well-done clients. Moreover, encouraging discussion between people is important to develop a healthy and tolerant society where everyone's right and freedom are safeguarded. To know more, have a look at the Procyon Project's manifesto.
References
Quick links
- have a look at the source code;
- create a report in the issue tracker;
- join the Matrix room to reach out to the developers!
founded 4 months ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Does Raccoon for Lemmy support notifications?
Normally, in commercial services, push notifications require support from the backend. The mechanism works approximately like this: the mobile app registers to a third-party provider such as Firebase Cloud Messaging (on Android) and APNS (on Apple Push Notification System) and obtains a device token, it then makes a network call to the server to communicate their device token (and the user ID this is associated to) and then the server dispatches notifications using the user ID to determine the events of interest and the device token to have it delivered via Firebase or APNS depending on the platform. Lemmy instances, unfortunately, don't do anything of that so client apps have to periodically poll for new events, which is terrible for both the battery and the network usage. Raccoon is no exception of this, if you look in the "Advanced Settings" screen under the "Experiments" section, there is an item named "Check for unread items in background". This is an attempt to use Android's WorkManager APIs to perform scheduled periodic operations such as checking for new mentions/replies/messages. Unfortunately, the scheduler does not seem so reliable so after some time the app is in the background the pending work can never get to be executed. It was an attempt and it should be refined.