-
Notifications
You must be signed in to change notification settings - Fork 82
feat: new Shell (jump to) home screen #17916
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
base: master
Are you sure you want to change the base?
Conversation
797014f
to
e7070cb
Compare
Jenkins BuildsClick to see older builds (219)
|
4c87e1b
to
46f8a04
Compare
7338be6
to
db5dd41
Compare
e6029b7
to
15a5e21
Compare
- Shell becomes the new startup/home screen; hidden behind a feature flag - has a searchable grid, providing an overview of chats, communities, wallets, settings etc - some related smaller component and storybook page fixes - cleanup some clazy warnings Fixes #17971
15a5e21
to
52b9734
Compare
- consistently for all notification badges/counters, instead of deriving it from the item's (community, chat, ...) color
- everytime a user activates/interacts with some element, we update the item's timestamp, and use that for sorting - plus the according persistance fixes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's awesome! Very good work.
I added a lot of comments, but a lot of them are repeated or just asking for info.
Question: is the shell keyboard navigable? If not, we should add that as an issue. Having it on ctrl+J
then navigating with the keyboard sounds very cool and useful
anchors.fill: parent | ||
|
||
Component.onCompleted: { | ||
if (appMain.featureFlagsStore.shellEnabled) | ||
appMain.rootStore.mainModuleInst.setActiveSectionBySectionType(Constants.appSection.chat) // force the chat section to finish loading |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this code should be in the main module. In load
and/or in onChatsLoaded
. That's where the current code for setting the current active section is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However, is there a way to close the Shell to actually go back to the last section opened? I'm not sure if that's a real user flow, but as the app is right now, it's kinda cool that it reopens the last chat for example. So as a chat app it's nice.
Though as an OS, it makes sense to show the "desktop" or shell in this case when reopening.
Anyway, just brainstorming here.
readonly property bool sectionsLoaded: appMain.rootStore.mainModuleInst && appMain.rootStore.mainModuleInst.sectionsLoaded | ||
|
||
sectionsBaseModel: sectionsLoaded ? appMain.rootStore.mainModuleInst.sectionsModel : null | ||
chatsBaseModel: sectionsLoaded ? appMain.rootStore.mainModuleInst.getChatSectionModule().model // FIXME model null initially or with empty images |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs another issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I think there's some missing "dataChanged" signal somewhere in NIM code; will open a separate issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope :( But again this is a generic problem; we are missing keyboard focus states for all the buttons and grid items and whatnot CC @benjthayer |
…onent - shared between AppMain and the ShellContainer
- so that it can be reused between settings and the shell
- when the url starts with `qrc:/`, do not consider that as a remote file
@jrainville addressed your comments/feedback (in separate followup commits); pls have a second look. I can raise separate issues for the missing/faulty chat section behavior |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work. Code looks good to me!
Can you create the issues for the 2-3 points still in comments. You can put them as children of the main issue.
I can work on them Monday
What does the PR do
(additional fixes in separate commits)
Fixes #18032
Part of #17971
Affected areas
AppMain, Shell
Architecture compliance
My PR is consistent with this document: Status Desktop Architecture Guide
Screenshot of functionality (including design for comparison)
Zaznam.obrazovky.z.2025-05-23.12-46-30.mp4