Giter VIP home page Giter VIP logo

lemmur's People

Contributors

github-actions[bot] avatar imgbotapp avatar krawieck avatar mimi89999 avatar ryg-git avatar shilangyu avatar wojcikmikolaj avatar wolf4ood avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lemmur's Issues

Make widget for displaying media in fullscreen

Formats that should be supported:

  • images (jpg, jpeg, png, gif)
  • videos (webm, mp4)
  • galleries combining images and videos

media extraction from popular sites:

features:

  • pinch to zoom + drag to move around
  • (video) draggable slider at the bottom of the screen
  • (video) show how much of video watched vs how much left (e.g. 1:42/2:31)
  • media download
  • (images) button for fitting image on the horizontal axis. useful for long memes/screenshots
  • (media galleries) swipe left/right to see next/previous media
  • every piece of media can have caption. it should be displayed in translucent black rectangle that can be swiped to the bottom and revealed again with a button
  • button for rotating images every press rotates by 90ยฐ
  • share link
  • share file

Receive share intent for posting pictures

Is your feature request related to a problem? Please describe.

Create post page has option to add picture, but it can be tedious to use the default picture selector.

Describe the solution you'd like

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

Add pull to refresh

Is your feature request related to a problem? Please describe.

Currently there is no way to refresh contents of a page. The only solution is to exit and go back to the page.

Describe the solution you'd like

A pull to refresh on appropriate pages

  • ... (insert list of pages that should have it)

Add communities tab

Tab for displaying a list of all lemmy instances and communities in them.

community list

  • User can switch between seeing all the communities and seeing just the ones they subscribed to
  • User can fuzzy search communities by clicking the filter field on top of the page
  • Communities have on their right buttons for subscribing or unsubscribing
  • Long pressing an instance collapses it
  • Some communities have their own icons, but some don't. If it does it should have it displayed next to the name, otherwise there should be empty space in this place so that everything is even.

Add more menu to user profile

put message and share into more menu. also add to this menu:

  • nerd stats,
  • open in browser,
  • and if fullscreening of the bg image isn't fixed by then option to see bg img in fullscreen

Truncate long text posts

Is your feature request related to a problem? Please describe.

Text posts can be very long, and that can be annoying is user is not interested in its contents.

Describe the solution you'd like

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

mockup:
Screenshot_20201109-114932 copy

Make title appear after a bit of scroll in instance and community pages

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

instance page with 2 titles - one in appbar, and one a little lower in the center
post page with nothing in the appbar except for 4 buttons

it should probably look something like on reddit mobile app. not necessarily the same effect (fade), but the same idea

FILE 2020-10-01 20:36:02

it should be added to the following pages:

  • InstancePage
  • CommunityPage
  • FullPostPage
  • UserPage

Add no-bias mode

Is your feature request related to a problem? Please describe.

The amount of points a post/comment has influences ones perception of that post/comment

Describe the solution you'd like

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.

Create Lemmy http client

A helper client for the Lemmy API.

  • The class should be initialized with instance URL
  • Each API version should be namespaced
  • Each method should have the same name as the op code of an action (with the appropriate conversion from PascalCase to camelCase)

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');

Preserve hook state on tab change

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

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.

bottom bar final inset

What will buttons do (left to right):

  1. Home - First thing user sees upon opening the app. Displays user-customizable feed, by default it's a feed of all subscribed communities.
  2. Communities #13 - List of all added instances with all communities.
  3. Add - Opens a page for creating a post
  4. Search - Tab for searching Users, Communities, Posts, etc. anything that can be searched
  5. User - Tab for displaying all signed into accounts, displaying all sorts of info about those accounts
  • The bar should hide when scrolling down and appear when scrolling up
  • Preserve state upon switching

Remote communities are indistinguishable from local ones

Is your feature request related to a problem? Please describe.

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

ohno.MP4

Describe the solution you'd like

  • make some kind of visual indicator that tells the user from what account the community would be subscribed to
  • give user an option to go to the community from the origin instance

Add widget for post with comments

post-comments

  • tapping on bolt next to the up/down-vote buttons opens a popup that shows how many downvotes, how many upvotes and what is the percentage of positive ones

post features:

  • upvote
  • downvote
  • save
  • more menu
    • stats
    • open in browser

comments features:

  • comment
  • upvote
  • downvote
  • reply
  • save
  • share
  • long press to collapse
  • more menu
  • delete

Can't log in to lemmy.ml: LemmyApiException:

Device info

  • OS: Android
  • OS version: 11
  • Device: Pixel 3

Describe the bug

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.

Steps to reproduce

  1. Try logging in with username + password
  2. Try with email + password
  3. See error

Expected behavior

These credentials should work

Screenshots/Screencasts

lemmur-failed_login

Additional context

I've tried both lemmur 0.1.1 and 0.2.0. Please let me know how I can debug this further, thanks!

Migrate to API v2

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.

Comments showing a gray block.

Device info

  • OS: Android
  • OS version: 10
  • Device: Redmi Note 7

Describe the bug

I get this on version v0.2.0:

image

Steps to reproduce

  1. Click on any post, see this instead of comments.

Add widget for a post

Post widget is the preview of a post that user sees when scrolling through a feed

For full post with comments go here:

post mockup

  • in the future there will be second - more compact - post theme, but it's not a priority for now
  • upon clicking on community name (or picture) user should be redirected to this community, the same with instance and user
  • when there's no community photo, all info should just be moved to the left
  • all the space to the left from share button is clickable and it opens a full post view
  • link posts have clickable rectangle area that takes user to the link
  • bookmark button saves post

  • up/downvote
  • save
  • share
  • more menu

www.chapo.chat fails to login

Device info

  • OS: Android
  • OS version: idk
  • Device: Samsung

Describe the bug

A clear and concise description of what the bug is.

Steps to reproduce

  1. Add either www.chapo.chat or chapo.chat to instances
  2. Try to login to instance
  3. See raw 301 redirect response instead of success or useful error

Expected behavior

I can login

Screenshots/Screencasts

https://imgur.com/a/YgVkh2c

App not installed issue on Poco F1

Device info

  • OS: Android
  • OS version: 10
  • Device: Poco F1

Describe the bug

After downloading the .apk from the GitHub page, if I try to install it (after allowing the install of .apk from settings) a dialog box appears which says App Not Installed.

Screenshots/Screencasts

IMG_20210117_104628

Receive share intent for opening instances

Is your feature request related to a problem? Please describe.

Sometimes user encounters lemmy instance on the internet. In that situation it can be tedious to add the instance manually.

Describe the solution you'd like

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

  • User is able to share an image (#107) or a link to lemmur and include it in a post
  • User is able to share a link to lemmur and open it as a Lemmy instance.

Add instance widget

It looks basically the same as #17 so there'll probably be a bunch of shared code

instance

  • all the blue text is links

features:

  • display logo and bg picture
  • display post list with sorting
  • display comment list with sorting
  • about section
    • description
    • info badges
    • trending communities
    • modlog button
    • banned users button
    • mods list

parent_id being incorrectly set on create comment.

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.

Add home tab

home-mockup

  • Home tab is the first thing user sees when opening the app
  • By default it shows posts from subscribed communities from all added instances. if user not logged in to any of them it switches to All
  • By tapping the little arrow on top user can switch between different feeds, subscribed and all from every instance they've added. user will also be able to create custom feeds
  • tapping on the bell in top-right corner opens notifications page
  • for more info about displaying posts see #14

Migrate away from MobX

Is your feature request related to a problem? Please describe.

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.

Describe the solution you'd like

Migrating away from MobX for global state managment

Describe alternatives you've considered

  • Provider + ChangeNotifier
  • Provider + Hooks
  • BLoC
  • states_rebuilder

List some pros and cons for each choice

Provide cool onboarding experience

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

  • The Fediverse and Lemmy is explained to a new user
  • A list of curated instances is presented so that they can be added
  • User can log in or stay anonymous

(mockups incoming)

Support federation

Is your feature request related to a problem? Please describe.

Currently when opening a post that was shared from a different instance weird things happen. (For example it opens a completely different post)

Describe the solution you'd like

Take into consideration that federation exists and make the app federation-aware.

Additional context

This is the big selling point of Lemmy, thus this issue has high priority

Internationalization / i18n

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
  • Strings are hosted on a site where people can contribute translations
  • Lemmur uses translations instead of hardcoded strings
  • #297
  • Error messages from the API are localized
  • Translation contribution is documented

Add user profile widget

  • create a separate page for it with an AppBar
  • render posts
  • render comments
  • render about
    • bio
    • moderates
    • subscribed
  • fix bug where the banner can overlap the navigation pill

Profile_mockup_

not to be confused with #19

Add community widget

community

  • should take CommunityView as an argument
  • to the left from "subscribe" button there's count how many subscribers does this community have. to the right there's count how many users online
  • subscribe button
  • about tab
  • posts tab with sorting
  • comments tab with sorting

Support 'show NSFW' user setting

Is your feature request related to a problem? Please describe.

Lemmy has a 'show NSFW' user setting which lemmur does not currently support (NSFW content is shown regardless of that setting)

Describe the solution you'd like

Respect that setting.

Add instance from instance page

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

Create post from community/instance page

Is your feature request related to a problem? Please describe.

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.

Describe the solution you'd like

There should be a button (perhaps FAB) for creating a post in a community page and instance page.

Support 'show Avatars' user setting

Is your feature request related to a problem? Please describe.

Lemmy has a 'show Avatars' user setting which lemmur does not currently support (avatars are shown regardless of that setting)

Describe the solution you'd like

Respect that setting.

Add user tab (logged in user)

  • ability to add instance
  • ability to add account
  • ability to manage specific account
    • avatar
    • banner
    • display name
    • bio
    • email
    • remove account
  • add amoled dark mode

user-profile

not to be confused with #20

pictrs integration

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:

  • When creating a post
  • Attaching a pic in comments
  • Uploading avatar/banner

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.