Skip to content

Issue/11321 improvements over blaze i3 #11737

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

Merged
merged 12 commits into from
Jun 20, 2024

Conversation

JorgeMucientes
Copy link
Contributor

@JorgeMucientes JorgeMucientes commented Jun 14, 2024

Close: #11321 and: #11739

Description

Don't panic about the number of file changes. Most of them are just strings.xml deletions in the different locales. And the rest are really simple and small changes.

Applies a series of small improvements coming from the Blaze user flow review.

### Changes
- [x] Intro screen small changes: Remove purple flames, explain what the $5 USD budget by adding `daily` to it) 
- [x] Preview Screen: Add a new copy below the budget section: `Audience`
- [x] Preview Screen: Add a label on the ad preview specifying if the used content for the ad was generated by AI. Hide this label as soon as the user edits the content manually
- [x] Small redesign to the Blaze view inside My Store tab: Thd2rdNU8zSaLkyKZGsOSn-fi-77_29558 This will be tackled as part of the dynamic dashboard project
- [x] Campaign displayed in the Blaze card is not the most recently created one.
- [x] Check Jetpack connection type and hide Blaze for Jetpack CP connections
- [x] Add local checks for Blaze date ranges: https://github.com/woocommerce/woocommerce-android/issues/11739

Steps to reproduce

Testing information

Launch Blaze campaign creation flow a review that each one of the tasks is applied

@JorgeMucientes JorgeMucientes added the feature: blaze Related to the Blaze project label Jun 14, 2024
@dangermattic
Copy link
Collaborator

dangermattic commented Jun 14, 2024

1 Warning
⚠️ This PR is assigned to the milestone 19.2. This milestone is due in less than 2 days.
Please make sure to get it merged by then or assign it to a milestone with a later deadline.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Collaborator

wpmobilebot commented Jun 14, 2024

📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.

App Name WooCommerce Android
FlavorJalapeno
Build TypeDebug
Commit69a89ce
Direct Downloadwoocommerce-prototype-build-pr11737-69a89ce.apk

…aze-i3

# Conflicts:
#	WooCommerce/src/main/res/values-he/strings.xml
#	WooCommerce/src/main/res/values-ja/strings.xml
#	WooCommerce/src/main/res/values-ko/strings.xml
#	WooCommerce/src/main/res/values-pt-rBR/strings.xml
#	WooCommerce/src/main/res/values-ru/strings.xml
@JorgeMucientes JorgeMucientes marked this pull request as ready for review June 17, 2024 16:44
@JorgeMucientes JorgeMucientes added the status: do not merge Dependent on another PR, ready for review but not ready for merge. label Jun 17, 2024
@hafizrahman
Copy link
Contributor

hafizrahman commented Jun 19, 2024

Hi @JorgeMucientes ! I'm looking through the enhancement items and I have some questions

Preview Screen: Add a new copy below the budget section: Audience

This issue mentions adding info icon. Is this supposed to be added, or not? Because in the issue the part is checked.

Campaign displayed in the Blaze card is not the most recently created one.

If not the recently created one, what campaign should be displayed in the Blaze card?

I also see some CI build errors here (although it built fine for me locally), can you have a look?

@hafizrahman hafizrahman self-assigned this Jun 19, 2024
@JorgeMucientes
Copy link
Contributor Author

JorgeMucientes commented Jun 19, 2024

Hey @hafizrahman good questions:

This issue mentions adding info icon. Is this supposed to be added, or not? Because in the issue the part is checked.

Tbh, I think adding a info icon + a dialog seems overkill. I think adding the Audience label should be enough to make it clearer that the following fields are meant to define the audience. I haven't started a discussion for this because I don't think is that critical to involve everyone. But please let me know if you feel it makes sense to add the icon+dialog or to discuss this further with the team.

If not the recently created one, what campaign should be displayed in the Blaze card?

With the prior implementation, we where using startTime value here, to get the "most recent" campaign. But startTime is the date when the campaign starts, not when it was created. The changes matches iOS behavior and IMHO also makes more sense, as it is how we are ordering the campaigns in the Campaign list screen.

Sounds good? :)

also see some CI build errors here (although it built fine for me locally), can you have a look?

I think those failures are because the PR is tagged with do not merge. As soon as these FluxC changes are merged I'll update the changeset and remove the do not merge tag. That should fix everything.

@JorgeMucientes JorgeMucientes added this to the 19.2 milestone Jun 20, 2024
@hafizrahman
Copy link
Contributor

Tbh, I think adding a info icon + a dialog seems overkill. I think adding the Audience label should be enough to make it clearer that the following fields are meant to define the audience. I haven't started a discussion for this because I don't think is that critical to involve everyone. But please let me know if you feel it makes sense to add the icon+dialog or to discuss this further with the team.

Thanks for clarifying! I do not have any strong opinion on this, I was just trying to figure out what to test because the issue and PR differs. I'm OK with how it is now.

With the prior implementation, we where using startTime value here, to get the "most recent" campaign. But startTime is the date when the campaign starts, not when it was created. The changes matches iOS behavior and IMHO also makes more sense, as it is how we are ordering the campaigns in the Campaign list screen.

I think those failures are because the PR is tagged with do not merge. As soon as wordpress-mobile/WordPress-FluxC-Android#3033 changes are merged I'll update the changeset and remove the do not merge tag. That should fix everything.

Got it! Thanks for clarifying these two points.

Copy link
Contributor

@hafizrahman hafizrahman left a comment

Choose a reason for hiding this comment

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

Thanks for working on these, they all look good to me.

By the way, I did not know that if you remove a string, you have to also manually remove the string in different languages. I had just assumed that if a string is removed in the original strings.xml, the next translation update will remove them from the other languages file, too.

@JorgeMucientes JorgeMucientes added unit-tests-exemption and removed status: do not merge Dependent on another PR, ready for review but not ready for merge. labels Jun 20, 2024
@wpmobilebot
Copy link
Collaborator

Found 1 violations:

The PR caused the following dependency changes:

expand

-+--- org.wordpress:fluxc:trunk-133baec149a2d4f4f947667b7f489f01a811da94
-|    +--- org.wordpress:wellsql:2.0.0
-|    |    +--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*)
-|    |    \--- org.wordpress.wellsql:wellsql-annotations:2.0.0
-|    +--- org.wordpress.fluxc:fluxc-annotations:trunk-133baec149a2d4f4f947667b7f489f01a811da94
-|    +--- org.greenrobot:eventbus:3.3.1 (*)
-|    +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*)
-|    +--- com.android.volley:volley:1.1.1 -> 1.2.0
-|    +--- androidx.paging:paging-runtime:2.1.2
-|    |    +--- androidx.paging:paging-common:2.1.2
-|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.7.0 (*)
-|    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.2.0 (*)
-|    |    +--- androidx.arch.core:core-runtime:2.0.0 -> 2.2.0 (*)
-|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.2 (*)
-|    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.6.2 (*)
-|    |    \--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
-|    +--- com.goterl:lazysodium-android:5.0.2
-|    +--- net.java.dev.jna:jna:5.5.0
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*)
-|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.20 -> 1.9.22
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*)
-|    +--- androidx.appcompat:appcompat:1.0.2 -> 1.6.1 (*)
-|    +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
-|    +--- androidx.exifinterface:exifinterface:1.0.0 -> 1.3.6
-|    |    \--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*)
-|    +--- androidx.security:security-crypto:1.0.0 -> 1.1.0-alpha03
-|    |    +--- androidx.annotation:annotation:1.1.0 -> 1.7.0 (*)
-|    |    +--- com.google.crypto.tink:tink-android:1.5.0
-|    |    \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
-|    +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0
-|    |    +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.9.10 (*)
-|    +--- com.google.code.gson:gson:2.8.5 -> 2.10.1
-|    +--- org.apache.commons:commons-text:1.10.0 (*)
-|    +--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*)
-|    +--- androidx.room:room-ktx:2.4.2 -> 2.5.2
-|    |    +--- androidx.room:room-common:2.5.2 (*)
-|    |    +--- androidx.room:room-runtime:2.5.2 (*)
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.22 (*)
-|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
-|    +--- com.google.dagger:dagger:2.42 -> 2.50
-|    |    \--- javax.inject:javax.inject:1
-|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*)
-|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*)
++--- org.wordpress:fluxc:trunk-6ac09caa55252f375b3f92a731a2b950642e9d7c
+|    +--- org.wordpress:wellsql:2.0.0
+|    |    +--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*)
+|    |    \--- org.wordpress.wellsql:wellsql-annotations:2.0.0
+|    +--- org.wordpress.fluxc:fluxc-annotations:trunk-6ac09caa55252f375b3f92a731a2b950642e9d7c
+|    +--- org.greenrobot:eventbus:3.3.1 (*)
+|    +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*)
+|    +--- com.android.volley:volley:1.1.1 -> 1.2.0
+|    +--- androidx.paging:paging-runtime:2.1.2
+|    |    +--- androidx.paging:paging-common:2.1.2
+|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.7.0 (*)
+|    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.2.0 (*)
+|    |    +--- androidx.arch.core:core-runtime:2.0.0 -> 2.2.0 (*)
+|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.2 (*)
+|    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.6.2 (*)
+|    |    \--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
+|    +--- com.goterl:lazysodium-android:5.0.2
+|    +--- net.java.dev.jna:jna:5.5.0
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*)
+|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.20 -> 1.9.22
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*)
+|    +--- androidx.appcompat:appcompat:1.0.2 -> 1.6.1 (*)
+|    +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*)
+|    +--- androidx.exifinterface:exifinterface:1.0.0 -> 1.3.6
+|    |    \--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*)
+|    +--- androidx.security:security-crypto:1.0.0 -> 1.1.0-alpha03
+|    |    +--- androidx.annotation:annotation:1.1.0 -> 1.7.0 (*)
+|    |    +--- com.google.crypto.tink:tink-android:1.5.0
+|    |    \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*)
+|    +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0
+|    |    +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.9.10 (*)
+|    +--- com.google.code.gson:gson:2.8.5 -> 2.10.1
+|    +--- org.apache.commons:commons-text:1.10.0 (*)
+|    +--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*)
+|    +--- androidx.room:room-ktx:2.4.2 -> 2.5.2
+|    |    +--- androidx.room:room-common:2.5.2 (*)
+|    |    +--- androidx.room:room-runtime:2.5.2 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.22 (*)
+|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*)
+|    +--- com.google.dagger:dagger:2.42 -> 2.50
+|    |    \--- javax.inject:javax.inject:1
+|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*)
+|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*)
-\--- org.wordpress.fluxc.plugins:woocommerce:trunk-133baec149a2d4f4f947667b7f489f01a811da94
-     +--- org.wordpress:wellsql:2.0.0 (*)
-     +--- org.wordpress.fluxc:fluxc-annotations:trunk-133baec149a2d4f4f947667b7f489f01a811da94
-     +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 (*)
-     +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*)
-     +--- org.wordpress:fluxc:trunk-133baec149a2d4f4f947667b7f489f01a811da94 (*)
-     +--- com.google.code.gson:gson:2.8.5 -> 2.10.1
-     +--- com.google.dagger:dagger:2.42 -> 2.50 (*)
-     +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*)
-     +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*)
-     \--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*)
+\--- org.wordpress.fluxc.plugins:woocommerce:trunk-6ac09caa55252f375b3f92a731a2b950642e9d7c
+     +--- org.wordpress:wellsql:2.0.0 (*)
+     +--- org.wordpress.fluxc:fluxc-annotations:trunk-6ac09caa55252f375b3f92a731a2b950642e9d7c
+     +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 (*)
+     +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*)
+     +--- org.wordpress:fluxc:trunk-6ac09caa55252f375b3f92a731a2b950642e9d7c (*)
+     +--- com.google.code.gson:gson:2.8.5 -> 2.10.1
+     +--- com.google.dagger:dagger:2.42 -> 2.50 (*)
+     +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*)
+     +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*)
+     \--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*)

Please review and act accordingly

@JorgeMucientes
Copy link
Contributor Author

Thanks for the review @hafizrahman.

By the way, I did not know that if you remove a string, you have to also manually remove the string in different languages. I had just assumed that if a string is removed in the original strings.xml, the next translation update will remove them from the other languages file, too.

Hmm, now that you mention it, it is most likely that way. Unused strings will get removed automatically. Or at least that was my understanding from this recent discussion: p1714744086590719-slack-C6H8C3G23

@JorgeMucientes JorgeMucientes enabled auto-merge June 20, 2024 14:21
@JorgeMucientes JorgeMucientes merged commit a8b3bb4 into trunk Jun 20, 2024
15 of 16 checks passed
@JorgeMucientes JorgeMucientes deleted the issue/11321-improvements-over-Blaze-i3 branch June 20, 2024 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: blaze Related to the Blaze project unit-tests-exemption
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Blaze i3 Quick Enhancements
4 participants