Skip to content
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

Implement new space selector bottom sheet #6518

Merged
merged 45 commits into from
Aug 5, 2022

Conversation

gileluard
Copy link
Contributor

resolves #6410, resolves #6411, resolves #6408

gileluard and others added 30 commits May 10, 2022 22:15
- First implementation
# Conflicts:
#	Riot/Generated/UntranslatedStrings.swift
- Update after reviews
- fixed build after merge
- renamed AllChats classes
- new Build settings  newAppLayoutEnaled
- Removed the Pinned space feature
- Removed the All chats layout editor screen
- Added feature flag
- Added context menus
- Removed analytics used for IA test
- Added Space selector bottom sheet
- Changed placement for the context menus in the all chats screen
…Implement_new_Space_selector_bottom_sheet

# Conflicts:
#	Riot/Modules/ContextMenu/ActionProviders/AllChatsActionProvider.swift
#	Riot/Modules/Home/AllChats/AllChatsViewController.swift
- Added space switching analytics
- Implemented unit and UI test for space selector bottom sheet
- Animation for bottom action panel
- UI tweaks
- Temporarily reintroduced invites
…vector-im/element-ios into gil/6079-Delight_Edit_layout_experiment
- Changed Recents type to Breadcrumbs
…Implement_new_Space_selector_bottom_sheet

# Conflicts:
#	Riot/Modules/Home/AllChats/AllChatsActionPanelView.swift
#	Riot/Modules/Home/AllChats/AllChatsActionPanelView.xib
#	Riot/Modules/Home/AllChats/AllChatsViewController.swift
#	Riot/Modules/TabBar/TabBarCoordinator.swift
- Do not show coach message with the new App Layout
…tom_sheet

# Conflicts:
#	Riot/Assets/en.lproj/Vector.strings
#	Riot/Generated/Strings.swift
#	Riot/Modules/Common/Recents/DataSources/RecentsDataSource.m
#	Riot/Modules/Common/Recents/Service/MatrixSDK/RecentsListService.swift
#	Riot/Modules/Common/Recents/Service/Mock/MockRecentsListService.swift
#	Riot/Modules/Common/Recents/Service/RecentsListServiceProtocol.swift
#	Riot/Modules/ContextMenu/ActionProviders/AllChatsActionProvider.swift
#	Riot/Modules/Home/AllChats/AllChatsViewController.swift
#	Riot/Modules/Home/AllChats/AllChatsViewController.xib
#	Riot/Modules/TabBar/TabBarCoordinator.swift
- Removed unnecessary images
- Changed for SVG format
@github-actions
Copy link

github-actions bot commented Aug 2, 2022

📱 Scan the QR code below to install the build for this PR.
🔒 This build is for internal testing purpose. Only devices listed in the ad-hoc provisioning profile can install Element Alpha.

QR code

If you can't scan the QR code you can install the build via this link: https://i.diawi.com/9aNsw8

- Now using the default toolbar of the navigation controller
- Removed the swipe actions menu in recents
@codecov-commenter
Copy link

codecov-commenter commented Aug 2, 2022

Codecov Report

Merging #6518 (0764e11) into develop (c9e916b) will decrease coverage by 0.02%.
The diff coverage is 1.04%.

@@             Coverage Diff             @@
##           develop    #6518      +/-   ##
===========================================
- Coverage     6.20%    6.17%   -0.03%     
===========================================
  Files         1462     1473      +11     
  Lines       157168   157865     +697     
  Branches     63166    63447     +281     
===========================================
- Hits          9745     9742       -3     
- Misses      147014   147715     +701     
+ Partials       409      408       -1     
Impacted Files Coverage Δ
Riot/Generated/Images.swift 54.76% <ø> (ø)
Riot/Generated/Strings.swift 2.93% <0.00%> (-0.01%) ⬇️
Riot/Managers/Theme/Themes/DarkTheme.swift 0.00% <0.00%> (ø)
...les/Common/Recents/DataSources/RecentsDataSource.m 6.93% <0.00%> (-0.03%) ⬇️
...iot/Modules/Common/Recents/RecentsViewController.m 8.73% <ø> (+0.73%) ⬆️
...Recents/Service/MatrixSDK/RecentsListService.swift 12.03% <0.00%> (ø)
.../SectionHeaders/AllChatsFilterOptionListView.swift 0.00% <0.00%> (ø)
...tMenu/ActionProviders/AllChatsActionProvider.swift 0.00% <0.00%> (ø)
...u/ActionProviders/AllChatsEditActionProvider.swift 0.00% <0.00%> (ø)
...Modules/Home/AllChats/AllChatsViewController.swift 0.00% <0.00%> (ø)
... and 112 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

- Reverted some Theme tweaks to fix some UI regressions
@gileluard gileluard requested a review from pixlwave August 3, 2022 07:59
@gileluard gileluard marked this pull request as ready for review August 3, 2022 08:00
- Added change log
- Hide toolbar when leave All Chats screen
Copy link
Member

@pixlwave pixlwave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments inline :)

Riot/Assets/en.lproj/Vector.strings Show resolved Hide resolved
Riot/Managers/Theme/Themes/DarkTheme.swift Show resolved Hide resolved
Riot/Modules/Common/Recents/RecentsViewController.m Outdated Show resolved Hide resolved
Comment on lines +155 to +156
updateToolbar(with: editActionProvider.updateMenu(with: mainSession, parentSpace: currentSpace, completion: { [weak self] menu in
self?.updateToolbar(with: menu)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused, this appears to update the toolbar twice with the same menu 🤔

Copy link
Contributor Author

@gileluard gileluard Aug 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks odd, I agree, but I can explain 🧐

The menu contains 3 items "Invite people", "Add Room", and "Create subspace" that are available only if the user has the required power level. Fetching the power levels of a room is asynchronous.

My Idea was to implement AllChatsEditActionProvider.updateMenu() method so it returns a context menu with all sensible items disabled at first, fetches, in the meantime, the power levels of the space and then calls back the caller with the final menu.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Riiight, makes sense now. 👍

Maybe add a couple of comments here and on the updateMenu method to that effect?

Riot/Modules/Home/AllChats/AllChatsViewController.swift Outdated Show resolved Hide resolved
@gileluard gileluard requested a review from pixlwave August 4, 2022 20:44
Copy link
Member

@pixlwave pixlwave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One small suggestion, otherwise gets my 👍

@sonarqubecloud
Copy link

sonarqubecloud bot commented Aug 5, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@gileluard gileluard merged commit a809185 into develop Aug 5, 2022
@gileluard gileluard deleted the gil/6410-Implement_new_Space_selector_bottom_sheet branch August 5, 2022 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants