Hi lemmings, I switched over from Reddit 10 days ago now but I couldn’t find a mobile client that I was happy with with an experience similar to the Reddit experience I was used to. So I decided to build my own and I hope you will like it as well!
Play store link: https://play.google.com/store/apps/details?id=com.kuroneko.lemmy_connect
Features:
- Material U
- Dark and Light themes
- List view / Card view / Fullwidth view
- Filter lists for hiding posts
- Multiple accounts + switcher across multiple instances
- Guest accounts for viewing an instance without signup
- Search and community autofill
- Markdown support + attempt to navigate links correctly (/u/foo will open that user instead of browser kickout. Same for /c/, !, and @)
- Saving posts
- full sort types
- NSFW view options (hide, blur, show)
- copy text and url on all posts and comments
- add comments, replies, and new posts
- comment replies with line indicators
Here’s other screenshots:
Future plans:
- Improving the inbox
- Swipe actions
- Multi-~~reddit ~~communities
Thank you for taking a look. I hope others who are migrating from Reddit like me will find the app useful and I’d love to know your thoughts!
Edit: Community for the app is here: https://lemmy.ca/c/lemmyconnect
I had a hard time with the API docs too to be honest. I read through https://join-lemmy.org/docs/contributors/04-api.html first but it was pretty high level. My main reference was the typing on the lemmy-js-client as well. I used the Dart Lemmy API client here https://github.com/LemmurOrg/lemmy_api_client but unfortunately it’s not being maintained (and didn’t work without modification since the API has changed since then).
For what it’s worth, it should be possible to use the ActivityPub API, which is just a traditional JSON API with a JSON-LD
@context
field you can probably safely ignore (as long as the context uses vocabulary from activitystreams). For example, try running this request:The nice thing about the ActivityPub API is that all the fields should be documented. If you run your response through a JSON-LD expander, you can often take the resulting field names and “dereference” them (aka open them in a browser) to find documentation on what those fields mean.