-
Notifications
You must be signed in to change notification settings - Fork 5
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
[MOB-2959] Braze IAM for Newsletter NTP card #812
Conversation
PR Reviewer Guide 🔍(Review updated until commit f84532a)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to f84532a
Previous suggestionsSuggestions up to commit 8059c7a
|
Persistent review updated to latest commit f84532a |
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.
Great re-implementation 👌 .
Added some clarification points but nothing that strictly prevents this overall work from being merged 💪
@@ -13,44 +13,33 @@ protocol NTPConfigurableNudgeCardCellDelegate: AnyObject { | |||
|
|||
/// ViewModel for configuring a Nudge Card Cell. | |||
class NTPConfigurableNudgeCardCellViewModel: HomepageViewModelProtocol { | |||
var title: String { |
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 see the point here 👌 - I guess having them with the fatalError
was an easier update considering the state of the class.
Wondering if we'd invest time and make it as protocol
.
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 there might be complexities in adding one more protocol since the HomepageViewModelProtocol
is already used. I like the idea that this is a superclass that can be extended and has the majority of the logic, just like you initially implemented. The main reason I changed to overriding methods is because those custom contents are then much more organised as part of the subclass file itself instead of somewhat hidden in the initialisation (which in turn happens on the already big HomepageViewModel
).
What do you think? Do you see any specific advantages to using protocol here instead?
Client/Ecosia/UI/NTP/NudgeCards/NTPConfigurableNudgeCardCellViewModel.swift
Show resolved
Hide resolved
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.
Agreed with @lucaschifino that given all the challenges we had with the Braze integration and to make this work, we'd consider a further abstraction of the Braze implementation into another set of work.
Let's go 🚀
@d4r1091 Found some issues with APN after the refactor when doing some last tests, had to add the notification options and update the status in one more place. Can you please take another look? |
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.
Gotcha 👍
👌
MOB-2959
Context
After spiking Braze IAM, we're setting up an experiment that uses it.
Approach
Other
Before merging
Checklist
// Ecosia:
helper comments where needed