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

grandfathered unverified users see pending/processing/completed ad grant banners #32038

Closed
LaurenWags opened this issue Aug 2, 2023 · 4 comments · Fixed by brave/brave-core#19559
Assignees
Labels
feature/rewards OS/Android Fixes related to Android browser functionality OS/Desktop payouts priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - Android ARM QA Pass-macOS QA/Yes release-notes/exclude

Comments

@LaurenWags
Copy link
Member

Description

Users in the grandfathered unverified state should not see pending/processing/completed payout banners for ad grants as they no longer earn BAT in this state.

Steps to Reproduce

pre-req: be in grandfathered unverified state for rewards using staging env

  1. View some ads
  2. Confirm ads are cashed in with the server
  3. Close browser
  4. Advance date to the following month (between 1st and 6th)
  5. Relaunch browser
  6. See "Pending" banner on NTP, panel, and brave://rewards indicating the amount of BAT you will be getting for your Ad grant
  7. Close browser
  8. Advance date to later date, such as 9th
  9. Then, either use Charles Proxy to simulate "Processing" message or launch as-is (staging is currently set to "Completed")
  10. See Processing or Completed banner (depending on how you launch)

Actual result:

Example of "Pending" banner, but processing/completed show as well:
Screenshot 2023-09-02 at 11 05 17 AM

Expected result:

Shouldn't see any pending/processing/completed banners in grandfathered unverified state

Reproduces how often:

easily

Desktop Brave version:

1.56.x, 1.57.x

Android Device details:

  • Install type (ARM, x86):
  • Device type (Phone, Tablet, Phablet):
  • Android version:

Version/Channel Information:

  • Can you reproduce this issue with the current release? yes
  • Can you reproduce this issue with the beta channel? yes
  • Can you reproduce this issue with the nightly channel? unsure, probably

Other Additional Information:

  • Does the issue resolve itself when disabling Brave Shields?
  • Does the issue resolve itself when disabling Brave Rewards?
  • Is the issue reproducible on the latest version of Chrome?

Miscellaneous Information:

cc @Miyayes @GeetaSarvadnya

fyi @deeppandya @sujitacharya2005 I'm not sure if this reproduces on Android, but when it's fixed we should confirm the fix there as well just in case.

@LaurenWags LaurenWags added feature/rewards QA/Yes OS/Android Fixes related to Android browser functionality OS/Desktop labels Aug 2, 2023
@Miyayes Miyayes added this to New Issues in Brave Rewards via automation Aug 2, 2023
@Miyayes Miyayes moved this from New Issues to Backlog in Brave Rewards Aug 2, 2023
@Miyayes Miyayes added the priority/P2 A bad problem. We might uplift this to the next planned release. label Aug 2, 2023
@Miyayes
Copy link
Collaborator

Miyayes commented Aug 2, 2023

Let's aim to uplift this into 1.57.x.

@kjozwiak
Copy link
Member

kjozwiak commented Aug 8, 2023

The above requires 1.57.42 or higher for 1.57.x verification 👍 As per @LaurenWags via brave/brave-core#19559 (comment), we'll need to verify/spot check that pending/processing/completed banners still display for a custodian as this couldn't be checked on 1.58.x due to the new pay out banner via #31480.

@LaurenWags LaurenWags added the QA/In-Progress Indicates that QA is currently in progress for that particular issue label Aug 9, 2023
@LaurenWags
Copy link
Member Author

LaurenWags commented Aug 9, 2023

Verified with

Brave | 1.57.42 Chromium: 116.0.5845.51 (Official Build) (x86_64)
-- | --
Revision | e25036a089c476c56bf71774a898a1fee014e00d
OS | macOS Version 13.5 (Build 22G74)

Verified STR from #32038 (comment):

pre-req: be in grandfathered unverified state

  1. View some ads
1
  1. Confirm ads are cashed in with the server
  2. Close browser
  3. Advance date to the following month (between 1st and 6th)
  4. Relaunch browser
  5. Confirm no "Pending" banner on NTP, panel, and brave://rewards indicating the amount of BAT you will be getting for your Ad grant
Example Example Example Date
2 3 4 5
  1. Close browser
  2. Advance date to later date, such as 9th
  3. Then, use Charles Proxy to simulate "Processing" message being returned from the server. Ex:
[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
.......
[ RESPONSE - OnResponse ]
> Url: https://api.rewards.bravesoftware.com/v1/parameters
> Result: Success
> HTTP Code: 200
> Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.203184,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"complete","zebpay":""},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatExpired":false}
  1. Relaunch and confirm no "Processing" banner:
Example Example Example Date
6 7 8 9
  1. Close browser.
  2. Remove Charles Proxy rule and relaunch (confirm "complete" is displayed for unverified in logs as below):
[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
........
[ RESPONSE - OnResponse ]
> Url: https://api.rewards.bravesoftware.com/v1/parameters
> Result: Success
> HTTP Code: 200
> Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.21636,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"complete","zebpay":""},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatExpired":false}
  1. Confirm no "Completed" banner:
Example Example Example Date
10 11 12 13

Additional test case: Spot check that pending/processing/completed banners still display for a custodian (can use a single custodian to check).

When using a custodian (I used Uphold), confirmed that the pending, processing, and completed banners are displayed:

Pending:

Example Example Example
2 3 4

Processing:

Example Example Example
6 7 8

Completed:

Example Example Example
10 11 12

@LaurenWags LaurenWags added QA Pass-macOS and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Aug 9, 2023
@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Aug 10, 2023

Verification PASSED on Vivo X70 Pro version 12 running Bravemonoarmx64.apk_1.57.42

Note: In Android payout message is shown only in the Ads panel in brave://rewards settings page hence verified the payout status banner in only one place

  1. Installed 1.45.116
  2. Enable rewads
  3. Upgrade the profile to 1.57.42
  4. View an Ad
2023-08-10 17:29:54.871 5531-5531/? V/chromium: [VERBOSE1:notification_ad_handler.cc(185)] Served notification ad:
      placementId: 70e36dd8-7255-4865-b326-302da2b467be
      creativeInstanceId: 10b8a8c1-4308-40f5-b6df-5281cf5ef628
      creativeSetId: 45ea5952-37ca-41f0-88c2-4b546b0e6f4b
      campaignId: 1c1ac828-db13-49bb-9128-090132044b7f
      advertiserId: ecbcc833-8b1d-4867-98f7-ad2341396ce8
      segment: untargeted
      title: Ad1
      body: Ad1
      targetUrl: ******************
2023-08-10 17:29:54.935 5531-5531/? V/chromium: [VERBOSE1:notification_ad_serving.cc(161)] Maybe serve notification ad in 0 hours, 6 minutes, 0 seconds at 17:35:54.895
2023-08-10 17:29:54.938 5531-5531/? V/chromium: [VERBOSE3:notification_ad_handler.cc(196)] Served notification ad with placement id 70e36dd8-7255-4865-b326-302da2b467be and creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628
2023-08-10 17:29:54.944 5531-5531/? V/chromium: [VERBOSE3:notification_ad_handler.cc(205)] Viewed notification ad with placement id 70e36dd8-7255-4865-b326-302da2b467be and creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628
2023-08-10 17:29:54.951 5531-5531/? V/chromium: [VERBOSE3:account.cc(248)] Successfully processed deposit for ad_notification with creative instance id 10b8a8c1-4308-40f5-b6df-5281cf5ef628 and view valued at 0.01

  1. Made sure viewed ad is successfuly redeemed or cashed in with the server
2023-08-11 17:33:19.781 7981-7981/? V/chromium: [VERBOSE1:redeem_opted_in_confirmation.cc(71)] Redeem opted-in confirmation
2023-08-11 17:33:19.790 7981-7981/? V/chromium: [VERBOSE1:redeem_opted_in_confirmation.cc(92)] CreateConfirmation
2023-08-11 17:33:19.790 7981-7981/? V/chromium: [VERBOSE2:redeem_opted_in_confirmation.cc(93)] POST /v3/confirmation/{transactionId}/{credential}
2023-08-11 17:33:19.790 7981-7981/? V/chromium: [VERBOSE6:redeem_opted_in_confirmation.cc(98)] URL Request:
      URL: *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
      Content: {"blindedPaymentTokens":["NPka/xKgcEqGFR9Z2is5DpcD0faBtXmZ+/K96HlnCnI="],"buildChannel":"release","catalog":[{"id":"5b948101a749cc35a9e6f1f9639cc47b3f29feb9"}],"countryCode":"US","createdAtTimestamp":"2023-08-11T12:00:00.000Z","creativeInstanceId":"7f1a7980-cca5-4544-ac61-1a18737dc241","platform":"android","publicKey":"qFLDJTMazEUG6Non1dIEf9m8q5E8IZU/3MkTe5RVvHU=","rotating_hash":"peLZ912WlWx6YsOePaKyGmacRiHNB7ZYeeZK/qbu3jg=","segment":"untargeted","studies":[{"group":"DefaultAdNotificationsPerHour=10/MaximumAdNotificationsPerDay=100/MaximumInlineContentAdsPerHour=6/MaximumInlineContentAdsPerDay=20/AdServingVersion=2","name":"BraveAds.AdServingStudy"}],"systemTimestamp":"2023-08-11T12:00:00.000Z","transactionId":"d49628de-d97b-47ee-80f7-583e0bed93bd","type":"view","versionNumber":"116.0.5845.51"}
      Content Type: application/json
      Method: kPost
2023-08-11 17:33:20.891 7981-7981/? V/chromium: [VERBOSE1:redeem_unblinded_payment_tokens.cc(101)] OnRedeemUnblindedPaymentTokens
2023-08-11 17:33:20.891 7981-7981/? V/chromium: [VERBOSE6:redeem_unblinded_payment_tokens.cc(103)] URL Response:
      URL: ***************************************************************************************************
      Response Status Code: 200
      Response: {"message":"Ok","status":200}
2023-08-11 17:33:20.892 7981-7981/? V/chromium: [VERBOSE1:redeem_unblinded_payment_tokens.cc(115)] Successfully redeemed unblinded payment tokens
  1. Close browser
  2. Advance date to the following month (between 1st and 6th)
  3. Relaunch browser
  4. Confirm no "Pending" banner on NTP, panel, and brave://rewards indicating the amount of BAT you will be getting for your Ad grant
Ads panel Date
Screenshot_20230811_173253 Screenshot_20230903_173820
  1. Close browser
  2. Advance date to later date, such as 9th
  3. Then, use Charles Proxy to simulate "Processing" message being returned from the server. Ex:
[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
-----

[ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"processing","uphold":"processing"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-03-25T04:00:00Z","vbatExpired":false}
2023-09-09 17:43:00.967 10201-10201/? V/chromium: [VERBOSE1:catalog_url_request.cc(126)] Successfully fetched catalog

  1. Relaunch and confirm no "Processing" banner:
Ads panel Date
Screenshot_20230909_174349 Screenshot_20230909_174817
  1. Close browser.
  2. Remove Charles Proxy rule and relaunch (confirm "complete" is displayed for unverified in logs as below):
[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
-----
  [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.262301,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB"],"block":[]},"uphold":{"allow":["AU","AT","BE","CA","CO","DK","FI","HK","IE","IT","NL","NO","PL","PT","SG","ES","SE","US","GB","IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"processing"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-03-25T04:00:00Z","vbatExpired":false}
2023-09-09 17:50:41.264 12286-12286/? V/chromium: [VERBOSE1:api_parameters.cc(88)] Params timer set for 11445 s
  1. Confirm no "Completed" banner:
Ads panel Date
Screenshot_20230909_175122 Screenshot_20230909_174817

Additional test case: Spot check that pending/processing/completed banners still display for a custodian (can use a single custodian to check).

When using a custodian (I used Uphold), confirmed that the pending, processing, and completed banners are displayed:
Pending Processing Completed
Screenshot_20230903_181105 Screenshot_20230909_180839 Screenshot_20230908_181124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/rewards OS/Android Fixes related to Android browser functionality OS/Desktop payouts priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - Android ARM QA Pass-macOS QA/Yes release-notes/exclude
Projects
Brave Rewards
  
Done
Development

Successfully merging a pull request may close this issue.

6 participants