-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: feed page #752
Refactor: feed page #752
Conversation
…features related to bottom nav bar (scroll to top, open keyboard, gestures)
…r not showing back overlay
There's still quite a bit to be done here, but @micahmo, could you possibly do some testing on this when you have the chance? It doesn't have to be now, but I just wanted to give a heads up! I'm sure theres tons of things I'm still missing here to match parity with the current features so it would be good to have someone else test this out and provide some feedback on what's still missing :D Things that I know of at this time which are still missing:
I think theres some Android specific features that are not yet re-implemented as well (back button related actions) My goal is to hopefully have the refactor completed by the end of this week if possible. There's still a lot of cleaning up to do after I re-implement all the missing features |
@hjiangsu Sure thing, I can start daily driving this branch. I'm happy to live with the quirks for now, and I'll try to only mention things that you haven't already covered. |
Thanks for catching those! I'll update those points to my original comment so that I can keep track of them all
Yeah, I don't want anyone to endure this code review (even myself) 😅 |
…towards the bottom
@micahmo I've fixed a lot of the issues that I previously mentioned and that you mentioned! There's still a couple left to do but feel free to do some more testing on it and let me know if you notice anything else |
…for selected community/feed
Sounds good, will give it another run tonight! Regarding this logic... Platform.isAndroid ? const Icon(Icons.arrow_back_rounded) : const Icon(Icons.arrow_back_ios_new_rounded) Do you think you could flip it and only use EDIT Just gave this another test spin. Looking amazing!! Definitely addressed most of the things I noticed. In addition to my comment above about the back icon selection, here are some more thoughts. (Apologies for piling these on, I'm just writing down what I see! 😆)
qemu-system-x86_64_VlshtcYNwx.mp4
Ok that's all for now! I know it seems like a lot, but the amount of work you've put into this refactor is amazing!! |
Yeah I can do that!
Dang, okay, I'll have to adjust the values again. The positioning of it is controlled by an integer because the refresh indicator is within a
Yeah, we can do that (or add some more info) like you mentioned! I was just doing some playing around with slivers while doing the refactor 😅
Hmm, I tested that with reddthat.com and it was working there, but I can double check
I'll increase it a bit more!
Yeah... theres still stuff to be done there that I forgot about. I'll continue to fix up the stuff related to the sidebars. The thing is right now, the user page and the feed page are separate pages (user page still follows the original methods) so a lot of things are broken there I'll go ahead and update the previous comment to add these points in! Thanks :D |
… adjusted refresh indicator position, removed title sliver for general feeds
Hmm, do you have an example of what you mean by 'blink'?
I think this can be debated on too! If most people like the existing implementation, then I can revert it back (this was an unintentional change to begin with, so I don't have too much of a preference myself)
I think this makes sense! I'll add that in as well |
My main concern with the full width sidebar, is how it would work on larger devices. We already have dual column feeds, but a lot of other things really aren't very usable on a large device. Even with dual-columns, stuff like comment threads are still full-width and quite awkward. We should look to applications like gmail which make effective use of multiple panes of application content. Aside from that, I'm quite attached to the overlay look, that's what "sidebar" had always meant to me over the years. I want to be able to open it for any given community from the future pull-up subscription list I want to make (this functionality would make no sense with the current list in the left drawer), or pull it out on the create post screen to check the rules of the community I'm posting to. My original design for it was made with the intention of being able to summon it in all kinds of contexts. I would want to keep the main action becoming a close button for the expanded FAB. |
Yeah, I agree that we need to rethink how the overall app feels and looks on larger devices. However, to do this, we need to do some major refactoring (starting out with this feed page) so that it's less dependent on other widgets/logic. Once this is done for the major views/pages (feed, post, comment, etc), then we can start applying these views in a more modular way to adapt to larger devices without completely breaking everything.
I see what the concern is here! Maybe I'll try out a few more tricks/tweaking around to see if I can make it better without adding too much complexity to the code.
Seems like the majority here goes towards the close button so I'll make that change! |
It may have been a bug, but in your video the feed was disappearing and then the community panel was sliding into view, which may have just been a bug? In the current release the sidebar animation pops out over the feed, which continues to be drawn. It sounds like we're probably moving back to an overlay side panel for this element, so my main call-out is making sure the feed doesn't pop out of existence when the sidebar animation starts! |
Not having an explicit "close" button could screw up closing with talkback
Edit: nevermind. That is what i get for not reading the whole thread before commenting. |
I'm just going to add these so that I have someplace to keep track of all the current issues with the refactor since my last commit 🫠:
|
…n communities, and fixed loading indicator not being in the center
…o dismiss sidebar
@micahmo, would you be able to do a run through of the app to see if there are any more major issues that should be addressed? I think I got most of them, and any of the remaining ones can be addressed in a future PR. I want to get this out if possible because this is already such a large PR that it's hard for me to keep track of all the changes 😅 I'm sure theres still a lot of cleaning up to do, and I'll try to get to those on an iterative basis. As this is such a big change, I want there to be enough time in the nightlies and pre-releases so that we can catch as many issues as possible before pushing this out to the general releases. I imagine there won't be a general release until we get 0.19.x compatibility regardless so the sooner the better 😄 A couple of things to note moving forward:
There's probably a whole other bunch of changes that I forgot to list out, but I think those are the main ones! |
@hjiangsu Once again, thanks for all the awesome work on this! I ran through everything we've discussed in this PR so far, and only two main things stand out as still not working. It's totally up to you whether these should be addressed now or later. I think this is otherwise pretty good to go!
qemu-system-x86_64_TEVh9g6uRq.mp4
qemu-system-x86_64_oySA0sofVI.mp4I'm planning on driving this branch during the day tomorrow in case anything else pops up, but I'd give it the green light otherwise! |
Hey @hjiangsu just checking in again after driving this branch for the day. I noticed a couple more things that aren't working quite right, of different severities. Again, totally up to you whether they are addressed in this PR or elsewhere. |
Hmm, I think I can leave those for a separate PR and just merge this one in! We'll fix those inconsistencies and issues that you mentioned as this one's gotten way too large and out of hand 😅 |
I wasn't able to reproduce this issue - I can tap on a link or image and it opens up the corresponding preview/browser. Could you provide a video of it? Thanks! |
Sounds good!
Sure! It's reproducible for me on my emulator and physical device. Here's a recording after getting the latest qemu-system-x86_64_9i8l3SsooJ.mp4Without really digging in, it looks like some bloc is missing in the hierarchy.
Let me know if you want a hand looking at this since it's kinda broken at the moment. 😆 |
Oh I see - it relates to the thumbnail previews being on the right side 😅 I just tested it with it being on the left (and also marking media as read) |
Pull Request Description
This is a complete refactor of the feed page (also known as
community_page
). The purpose of this is to:This is currently WIP and is not fully up to parity with the current features. Below will be a list of the features which are currently known which need to be completed
Issue Being Fixed
Issue Number: N/A
Screenshots / Recordings
Checklist
semanticLabel
s where applicable for accessibility?