-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[MBL-900] Use of AI Tab #1842
[MBL-900] Use of AI Tab #1842
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1842 +/- ##
========================================
Coverage 84.52% 84.53%
========================================
Files 1271 1272 +1
Lines 115144 115287 +143
Branches 30657 30693 +36
========================================
+ Hits 97321 97453 +132
- Misses 16757 16765 +8
- Partials 1066 1069 +3
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
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.
This looks good. Tested with the feature flag on and off 👍
I just have some general feedback:
-
It would be good to see the GraphAPI changes in a separate PR next time so it’s easier to understand them and verify that any other updates that might come through with our
apollo-schema-download.sh
script don’t cause unexpected behavior. -
I think we should still be writing up engineering plans for new features. It will help the team understand the planned implementation and how the app works overall. In this case, we’d have more knowledge/discussion around how these tabs are built making it easier for the team to debug and update in the future independently. Plus, documenting this will make everyone’s life easier down the road.
-
It would be helpful to include in the dev testing steps that the app needs to be run with the AppCenter Beta schema in order to update feature flags in the debug menu.
@@ -15,6 +16,7 @@ public enum NavigationSection: Int, CaseIterable { | |||
case .environmentalCommitments: return Strings.Environmental_commitments() | |||
case .faq: return Strings.Faq() | |||
case .overview: return Strings.Overview() | |||
case .aiDisclosure: return "Use of AI" // FIXME: Should be `Strings.Use_Of_AI` in console once translations are done. |
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.
do we have a ticket for this already?
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.
We do not, this is kind of a "rushed" feature. So we didn't get much lead time here to implement and release by end of August. So doing some imperfect planning here for sure.
TLDR: Please bear with me, this is a rushed feature. |
📲 What and 🤔 Why
Adding the "Use of AI" tab to support new web, Android tab.
🛠 How
ProjectFragment
first with the newaiDisclosure
properties. These properties are called on every load of the project page.ExtendedProjectProperties
withaiDisclosure
optional, put in aninit
so at all places thisstruct
is created we explicitly say "include a value for this property" or noProject+ProjectFragment
which is used to convert raw schema data to our in-appProject
model.ProjectNavigationSelectorViewModel
is where we include the tab if the feature is on and available.aiDisclosure
sections and rows inProjectPageViewControllerDataSource
when they are ready.ProjectNavigationSelectorView
andProjectNavigationSelectorViewModel
NavigationSection
for the tab itself.👀 See
After 🦋
Simulator.Screen.Recording.-.iPhone.8.-.2023-08-08.at.20.00.38.mp4
Before 🐛
Simulator.Screen.Recording.-.iPhone.8.-.2023-08-08.at.20.03.32.mp4
✅ Acceptance criteria