lemmurorg / lemmur Goto Github PK
View Code? Open in Web Editor NEW๐ A mobile client for lemmy
License: GNU General Public License v2.0
๐ A mobile client for lemmy
License: GNU General Public License v2.0
Formats that should be supported:
media extraction from popular sites:
features:
Create post page has option to add picture, but it can be tedious to use the default picture selector.
Have option in the share sheet to share a picture to lemmur that would be put in a post. This allows user for much more flexibility.
related issue: #106
Currently there is no way to refresh contents of a page. The only solution is to exit and go back to the page.
A pull to refresh on appropriate pages
Tab for displaying a list of all lemmy instances and communities in them.
mockup TBD but AlertDialog
would be good as a temporary solution
put message and share into more menu. also add to this menu:
Text posts can be very long, and that can be annoying is user is not interested in its contents.
truncate the post. if using lines it should be at 20 10 lines (it could also be length in pixels roughly equivalent to 20 10 lines)
to indicate that there's more the last 2 to 4 lines should have gradual fade applied to them
the idea is that some pages have fancy headers to title the page that get hidden when scrolling down. it'd be nice if after they disappear the regular material design appbar title gets filled by this title. right now some pages already have a title there, but it's a little bit visually annoying that there are 2 titles at once and it also seems like a waste of space where some don't have anything there
it should probably look something like on reddit mobile app. not necessarily the same effect (fade), but the same idea
it should be added to the following pages:
InstancePage
CommunityPage
FullPostPage
UserPage
The amount of points a post/comment has influences ones perception of that post/comment
A no-bias mode that can be turned on/off. When enabled, all post and comment scores get hidden. It's still possible to see them in nerd stuff
.
A helper client for the Lemmy API.
For example:
var lemmy = await LemmyAPI(instanceUrl: 'https://dev.lemmy.ml').v1;
// GET /private_message/list https://dev.lemmy.ml/docs/contributing_websocket_http_api.html#get-private-messages
var msgList = await lemmy.getPrivateMessages();
// POST /search https://dev.lemmy.ml/docs/contributing_websocket_http_api.html#search
var results = await lemmy.search(q: 'blabla');
lemmur is using flutter_hooks
and all local state is managed by it. When using a TabBarView
each tab has it's own local state. When switching between tabs all state is lost. This is especially annoying when switching tabs with infinite lists (the whole list is cleared).
Add bottom navigation bar that follows material design guidelines12
It will have 5 buttons, 4 of them will behave like tabs (Home, Communities, Search, and User) and 1 (Add) will behave a little bit like dialog - upon finishing the action it will return user to previous tab.
What will buttons do (left to right):
When opening a remote community from certain instance it looks exactly as if it was opened from the origin instance. It would be fine except that subscribe button behaves differently in those 2 situations. In one it subscribes from account not from the origin instance of this supposed community, and in other it subscribes from the account from the same instance as the community
User can switch between different (not yet designed) styles of this list by clicking a button in top right corner
post features:
comments features:
based on https://dev.lemmy.ml/inbox
mockups TBD
Web sockets are cool, right?
I can't login with my lemmy.ml
account (that I have had since the dev.lemmy.ml
days). I verified and the same credentials work fine on Firefox.
These credentials should work
I've tried both lemmur 0.1.1 and 0.2.0. Please let me know how I can debug this further, thanks!
Lemmy will soon release v2 of the API which is meant to be a strict upgrade over v1. Therefore the plan is to completely drop support for v1 so the transition should be mostly smooth.
Currently waiting for implementation on lemmy_api_client
side.
mockups TBD
Post widget is the preview of a post that user sees when scrolling through a feed
For full post with comments go here:
A clear and concise description of what the bug is.
I can login
Sometimes user encounters lemmy instance on the internet. In that situation it can be tedious to add the instance manually.
add an option in the system share sheet to open a url from the app.
this package could be used: https://pub.dev/packages/receive_sharing_intent
It looks basically the same as #17 so there'll probably be a bunch of shared code
features:
Bubbling this error down to yall. We found earlier today an issue where a post's comments was crashing lemmy-ui. @eiknat found that the parent_id
on one comment (I later talked to the commenter, and they say that comment was made from lemmur), was incorrectly set to a random comment on a completely different post. Here's the issue
We're going to add a back-end check to make sure that the parent comment exists in that post before allowing it to be inserted, but you'll also want to figure out in the lemmur code when a comment is being created, where an incorrect parent_id is might be being set.
While MobX provides nice abstractions and reactivity, it introduces a lot of maintenance burden. Even though the rules for MobX reactivity are clearly stated, in reality it is very unpredictable. Currently some properties do not react to changes. Fixing it is possible, but this is a recurring theme and a lot of time is wasted on fixing it.
Migrating away from MobX for global state managment
List some pros and cons for each choice
First launch should inform users what is this app and what Lemmy is and provide interface for adding an account (and/or instance) (or entirely skipping it)
perhaps we could use this: https://pub.dev/packages/introduction_screen
(mockups incoming)
Currently when opening a post that was shared from a different instance weird things happen. (For example it opens a completely different post)
Take into consideration that federation exists and make the app federation-aware.
This is the big selling point of Lemmy, thus this issue has high priority
I don't know if yall planned to do internationalization.
Two links I found about i18n and flutter:
We now have externalized our i18n strings into a new repo: lemmy-translations
You could then pull this into lemmur by using it as a git submodule:
git submodule init
git submodule add -b main https://github.com/lemmynet/lemmy-translations
git submodule update --remote
not to be confused with #19
CommunityView
as an argumentLemmy has a 'show NSFW' user setting which lemmur does not currently support (NSFW content is shown regardless of that setting)
Respect that setting.
Thanks to federation users can discover new instances without leaving the app. It'd be cool if they could also add those instances to the app itself. Perhaps a button similar to the one found in CommunityPage could be added
When on community page, people may have desire to post to this page. But they don't have the means to do that. It's the same with instance page.
There should be a button (perhaps FAB) for creating a post in a community page and instance page.
Lemmy has a 'show Avatars' user setting which lemmur does not currently support (avatars are shown regardless of that setting)
Respect that setting.
Deleted comments can be useful, provide context to the post or have interesting children,
but when there's no children and the points are 0 or 1 it does not add anything to the post.
That's why they should get hidden
not to be confused with #20
Lemmy hosts a pict.rs
server. It has a mini API. Some interface for interacting with it has to be created and integrated in the following views:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.