TheNetsky / Microsoft-Rewards-Script

Automated Microsoft Rewards script, using TypeScript, Cheerio and Playwright.
189 stars 44 forks source link

1.4.11 #146

Closed hmcdat closed 5 days ago

hmcdat commented 1 month ago

With the change in #132, it will be locked the eligible newer promotions for ALL users, because the param is always true. I suggest checking the x.exclusiveLockedFeatureStatus value if it is unlocked, so eligible users (with benefit level 2) can claim it without any problems.

TheNetsky commented 1 month ago

I think you're using a different kind of eslint than I am? By the looks of the changes but besides the type what did you change comparted to #144

hmcdat commented 1 month ago

Oh because I use Windows, maybe it use CRLF type instead of LF in Linux, I have checked and changed my VS Code setting so it will always be LF type P/s: quite strange, I changed to LF but still have this error In my VS Code, it show only few changes, but in Github it's so strange image

TheNetsky commented 1 month ago

I assume you've tested this patch?

hmcdat commented 1 month ago

Yep because I have Level 2 and these items, I can claim it normally. But idk if lvl 1 user can skip the locked items.

TheNetsky commented 1 month ago

I guess time will tell, I'll merge this, but wait with a new release until someone has been able to test it out

hmcdat commented 1 month ago

I found a possibly better option called isGiveEligible so I try to use it, because some items are avaialbe but the old option still shows notsupported

TheNetsky commented 1 month ago

Hmm, I also seem to be having an issue with "Read to Earn" it says there are 30 point available, however running the actually task doesn't run since after the Axios request the "newBalance == userBalance" but if that's so, then why does it say there are 30 points available? I guess that too needs some looking into.

TheNetsky commented 1 month ago

Also seems like isGiveEligible is also not a viable option, it returns "false" when they're definitely there, and are able to be completed. image image

hmcdat commented 1 month ago

Hm I see your item label is AI gehoord? and Haal.. but your JSON linkText is not the same

TheNetsky commented 1 month ago

Hm I see your item label is AI gehoord? and Haal.. but your JSON linkText is not the same

It's not the full JSON, it is the same as the first one, see description. image

hmcdat commented 1 month ago

Did you compare the JSON list with the eligible items? I just check again and there is nothing unusual

TheNetsky commented 1 month ago

I did, there are only 3 "More Promotions" 2 of which are the two above, the other being, a "promotion" banner which does not give points.

hmcdat commented 1 month ago

Hmm, I also seem to be having an issue with "Read to Earn" it says there are 30 point available, however running the actually task doesn't run since after the Axios request the "newBalance == userBalance" but if that's so, then why does it say there are 30 points available? I guess that too needs some looking into.

You can download Bing app, login your account and see if the Read To Earn task is visible in your reward. the condition newBalance == userBalance checks if the first reading has points, if it doesn't change then you have been claimed all points or this feature is not available to you.

hmcdat commented 1 month ago

I did, there are only 3 "More Promotions" 2 of which are the two above, the other being, a "promotion" banner which does not give points.

My JSON has also 3 items, and all of them has option isGiveEligible = true, they are all displayed in my page.

hmcdat commented 1 month ago

I also found that Microsoft also checked this option to show the promotion item Hope that more people can test this option.

image

TheNetsky commented 1 month ago

Hmm, I also seem to be having an issue with "Read to Earn" it says there are 30 point available, however running the actually task doesn't run since after the Axios request the "newBalance == userBalance" but if that's so, then why does it say there are 30 points available? I guess that too needs some looking into.

You can download Bing app, login your account and see if the Read To Earn task is visible in your reward. the condition newBalance == userBalance checks if the first reading has points, if it doesn't change then you have been claimed all points or this feature is not available to you.

But if the balance does not change, then why does it still say 30 app points can be earned, looking at the switch statement thiis is only because of the "Read to Earn" activity, not the "Daily Checkin" image

hmcdat commented 1 month ago

Could you please log the object has attributes.type == 'msnreadearn' and see its pointmax and pointprogress, I use them to check earnable points

hmcdat commented 1 month ago

And also log the response from first reading activty in ReadToEarn.ts to see if any errors from MS.

TheNetsky commented 1 month ago
{
  response: {
    balance: 2476,
    activity: {
      id: "ef72be23f59ae9399e9cd14744ced6f372dfaf77a5a0d0021577c4a168a2e69df862ca3a0f1fe86dece1a8f7978585a6b0482a80c0d06254cdd1f9bb63e42c33",
      id_old: null,
      m: "us",
      t: "2024-09-03T16:31:40.201965+00:00",
      type: 101,
      p: 0,
      q: 1,
      a: {
        offerid: "ENUS_readarticle3_30points",
      },
      rbTxEntry: null,
    },
    info: null,
    isDuplicate: false,
    notifications: null,
    isExpiredTrialUser: false,
  },
  correlationId: "3b60f414be3440a59e08a1a59a44be3c",
  code: 0,
}

This is the response from "claimResponse" within the "for loop", the balance is the same as the initial.

{
  name: 'ENUS_readarticle3_30points_Default',
  priority: 1,
  attributes: {
    activitymax: '10',
    activityprogress: '0',
    animated_icon: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/newEdgeLogo.json',
    bg_image: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/Banner_Rewards__small.json',
    complete: 'False',
    description: "Get world-class sports, entertainment, news and more on MSN and you'll earn 30 points when you read 10 articles. 0/10",
    destination: 'https://ntp.msn.com/edge/ntp?form=ML1L6K&OCID=ML1L6K',
    icon: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/newEdgeLogo.json',
    image: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-magenta-278x180px.png',
    link_text: '30 points',
    max: '30',
    offerid: 'ENUS_readarticle3_30points',
    pointmax: '30',
    pointprogress: '0',
    progress: '0',
    sc_bg_image: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/Banner_Rewards__medium.json',
    sc_bg_large_image: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/Banner_Rewards__large.json',
    small_image: '//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/newEdgeLogo_75x75.png',
    State: 'Default',
    title: 'Read and You Shall Be Rewarded',
    type: 'msnreadearn',
    give_eligible: 'False'
  },
  tags: [ 'exclude_give_pcparent', 'non_global_config' ]
}

The above is the console out but from the switch case that matches "msnreadearn", it does still "progress: 0", but when actually doing the requests to fulfil them, the point do not go up.

hmcdat commented 1 month ago

I saw your response, it has no error from MS, but the claimed points is 0. Hmm maybe the id length is too long, I have reduced it to 32 digits. Can you re-test again. If not, can you use your local geo in settings, I used the default geo locale changed by option useGeoLocaleQueries in config file. I have set it to true and use normally.

TheNetsky commented 1 month ago

I saw your response, it has no error from MS, but the claimed points is 0. Hmm maybe the id length is too long, I have reduced it to 32 digits. Can you re-test again. If not, can you use your local geo in settings, I used the default geo locale changed by option useGeoLocaleQueries in config file. I have set it to true and use normally.

Aha, indeed using your own geoLocale is the solution, the HEX didn't affect it. But that's a good note to add for those running into the issue.

TheNetsky commented 1 month ago

I guess the only issue seems to remain that the "More Promotions" don't seem to work, however as you said is true inspecting the element, but the fact remains that it still skips those, due to that check.

hmcdat commented 1 month ago

I guess the only issue seems to remain that the "More Promotions" don't seem to work, however as you said is true inspecting the element, but the fact remains that it still skips those, due to that check.

hmm so strange, so can you print the skipped promotions, and compare with all the JSON data with current condition?

TheNetsky commented 1 month ago

I guess the only issue seems to remain that the "More Promotions" don't seem to work, however as you said is true inspecting the element, but the fact remains that it still skips those, due to that check.

hmm so strange, so can you print the skipped promotions, and compare with all the JSON data with current condition?

I mean as above? It matches with "complete being false" however "isGiveEligible" is also fails and that's where it "skips" it on. With this removed it would've picked up on the activities just fine.

hmcdat commented 1 month ago

Hm can you print out the "More Promotions" JSON data, I will have a look with it

TheNetsky commented 1 month ago

Hm can you print out the "More Promotions" JSON data, I will have a look with it

I mean it's an array, you want all of it or just the one(s) in question?

hmcdat commented 1 month ago

Yes, array of all activities in "More Promotions", I will verify the condition manually

TheNetsky commented 1 month ago
[
  {
    name: "NLNL_Bing_MonthlyFeaturedTopic_20240903_3",
    priority: 1,
    attributes: {
      animated_icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/QuestionMark.json",
      bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      complete: "False",
      description: "De honingbeer heeft de langste tong van alle berensoorten",
      destination: "https://www.bing.com/search?q=weetjes+over+honingberen&form=ML2UYA&OCID=ML2UYA&PUBL=RewardsDO&CREA=ML2UYA&rnoreward=1",
      icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
      image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
      link_text: "Meer informatie",
      max: "10",
      offerid: "NLNL_Bing_MonthlyFeaturedTopic_20240903_3",
      progress: "0",
      sc_bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      sc_bg_large_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      small_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/QuestionMark_75x75.png",
      state: "Default",
      title: "Al gehoord?",
      type: "urlreward",
      give_eligible: "False",
    },
    offerId: "NLNL_Bing_MonthlyFeaturedTopic_20240903_3",
    complete: false,
    counter: 0,
    activityProgress: 0,
    activityProgressMax: 0,
    pointProgressMax: 10,
    pointProgress: 0,
    promotionType: "urlreward",
    promotionSubtype: "",
    title: "Al gehoord?",
    extBannerTitle: "",
    titleStyle: "",
    theme: "",
    description: "De honingbeer heeft de langste tong van alle berensoorten",
    extBannerDescription: "",
    descriptionStyle: "",
    showcaseTitle: "",
    showcaseDescription: "",
    imageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
    dynamicImage: "",
    smallImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/QuestionMark_75x75.png",
    backgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    showcaseBackgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    showcaseBackgroundLargeImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    promotionBackgroundLeft: "",
    promotionBackgroundRight: "",
    iconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
    animatedIconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/QuestionMark.json",
    animatedLargeBackgroundImageUrl: "",
    destinationUrl: "https://www.bing.com/search?q=weetjes+over+honingberen&form=ML2UYA&OCID=ML2UYA&PUBL=RewardsDO&CREA=ML2UYA&rnoreward=1",
    linkText: "Meer informatie",
    hash: "a180050edf6da8748190b501bc5477689d30ae0ca66357e7f7ed567d2685aed3",
    activityType: "11",
    isRecurring: false,
    isHidden: false,
    isTestOnly: false,
    isGiveEligible: false,
    level: "",
    slidesCount: 0,
    legalText: "",
    legalLinkText: "",
    deviceType: "",
    exclusiveLockedFeatureType: "notsupported",
    exclusiveLockedFeatureStatus: "notsupported",
  },
  {
    name: "NLNL_Bing_MonthlyFeaturedTopic_20240903_4",
    priority: 1,
    attributes: {
      animated_icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/GenericTips_Tile.json",
      bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      complete: "False",
      description: "Ontdek hoe gemakkelijk je de aloë vera als kamerplant kunt houden",
      destination: "https://www.bing.com/search?q=Je+eigen+aloë+vera-plant+kweken+&form=ML2UYA&OCID=ML2UYA&PUBL=RewardsDO&CREA=ML2UYA&rnoreward=1",
      icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
      image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
      link_text: "Met kweken beginnen",
      max: "10",
      offerid: "NLNL_Bing_MonthlyFeaturedTopic_20240903_4",
      progress: "0",
      sc_bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      sc_bg_large_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
      small_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/GenericTips_Tile_75x75.png",
      state: "Default",
      title: "Haal de helende kracht in huis",
      type: "urlreward",
      give_eligible: "False",
    },
    offerId: "NLNL_Bing_MonthlyFeaturedTopic_20240903_4",
    complete: false,
    counter: 0,
    activityProgress: 0,
    activityProgressMax: 0,
    pointProgressMax: 10,
    pointProgress: 0,
    promotionType: "urlreward",
    promotionSubtype: "",
    title: "Haal de helende kracht in huis",
    extBannerTitle: "",
    titleStyle: "",
    theme: "",
    description: "Ontdek hoe gemakkelijk je de aloë vera als kamerplant kunt houden",
    extBannerDescription: "",
    descriptionStyle: "",
    showcaseTitle: "",
    showcaseDescription: "",
    imageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
    dynamicImage: "",
    smallImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/GenericTips_Tile_75x75.png",
    backgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    showcaseBackgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    showcaseBackgroundLargeImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    promotionBackgroundLeft: "",
    promotionBackgroundRight: "",
    iconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
    animatedIconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/GenericTips_Tile.json",
    animatedLargeBackgroundImageUrl: "",
    destinationUrl: "https://www.bing.com/search?q=Je+eigen+aloë+vera-plant+kweken+&form=ML2UYA&OCID=ML2UYA&PUBL=RewardsDO&CREA=ML2UYA&rnoreward=1",
    linkText: "Met kweken beginnen",
    hash: "510733ada2f01ce605347d76d889b3de4a76be7a5e0bd9d68e7e75296225a76c",
    activityType: "11",
    isRecurring: false,
    isHidden: false,
    isTestOnly: false,
    isGiveEligible: false,
    level: "",
    slidesCount: 0,
    legalText: "",
    legalLinkText: "",
    deviceType: "",
    exclusiveLockedFeatureType: "notsupported",
    exclusiveLockedFeatureStatus: "notsupported",
  },
]
hmcdat commented 1 month ago

Did you try to claim them?

TheNetsky commented 1 month ago

Did you try to claim them?

Same thing again today, the "More Promotions" not being completed (Ran it 3 times). Yes, they're just click rewards, I manually did one just now, works just fine.

TheNetsky commented 1 month ago

I've created a new account to test on, here's what it looks like when an activity does not meet the requirements

{
  name: "ENstar_Rewards_locked_level2_Sep24w1_offer2",
  priority: -1,
  attributes: {
    animated_icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/mapPin.json",
    bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    complete: "False",
    description: "Fuel your next adventure with these inspiring hiking quotes",
    destination: "https://rewards.bing.com/levelbenefitexclusive",
    icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
    image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
    link_text: "See hiking quotes",
    max: "15",
    offerid: "ENstar_Rewards_locked_level2_Sep24w1_offer2",
    progress: "0",
    sc_bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    sc_bg_large_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
    small_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/shoppingCart_75x75.png",
    state: "Default",
    title: "New trails await!",
    type: "urlreward",
    give_eligible: "True",
    user_level: "level1",
    is_unlocked: "False",
    locked_category_criteria: "level2",
  },
  offerId: "ENstar_Rewards_locked_level2_Sep24w1_offer2",
  complete: false,
  counter: 0,
  activityProgress: 0,
  activityProgressMax: 0,
  pointProgressMax: 15,
  pointProgress: 0,
  promotionType: "urlreward",
  promotionSubtype: "",
  title: "New trails await!",
  extBannerTitle: "",
  titleStyle: "",
  theme: "",
  description: "Fuel your next adventure with these inspiring hiking quotes",
  extBannerDescription: "",
  descriptionStyle: "",
  showcaseTitle: "",
  showcaseDescription: "",
  imageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-dark-purple-278x180px.png",
  dynamicImage: "",
  smallImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/shoppingCart_75x75.png",
  backgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
  showcaseBackgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
  showcaseBackgroundLargeImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/Dark-purple-color-75x75px.png",
  promotionBackgroundLeft: "",
  promotionBackgroundRight: "",
  iconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/Paint-3840x64px.png",
  animatedIconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/mapPin.json",
  animatedLargeBackgroundImageUrl: "",
  destinationUrl: "https://rewards.bing.com/levelbenefitexclusive",
  linkText: "See hiking quotes",
  hash: "fb891904aaf1bc014bcf006ed2eeea91ec32a217d541517f97faca2b852ffd8a",
  activityType: "11",
  isRecurring: false,
  isHidden: false,
  isTestOnly: false,
  isGiveEligible: true,
  level: "",
  slidesCount: 0,
  legalText: "",
  legalLinkText: "",
  deviceType: "",
  exclusiveLockedFeatureType: "level2",
  exclusiveLockedFeatureStatus: "locked",
}

When it's unlocked it looks like

{
  name: "ENGB_Rewards_Campaign_IntlEvergreen_Xbox_20240901_1",
  priority: -4,
  attributes: {
    animated_icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/XboxLogo.json",
    bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_593x303.png",
    complete: "False",
    description: "Power your dreams and enter for your chance to win an Xbox Series X",
    destination: "https://rewards.bing.com/redeem/000702000817?form=ML2W57&OCID=ML2W57&PUBL=RewardsDO&CREA=ML2W57",
    icon: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/XboxLogo.json",
    image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-magenta-278x180px.png",
    link_text: "Enter today",
    max: "0",
    offerid: "ENGB_Rewards_Campaign_IntlEvergreen_Xbox_20240901_1",
    progress: "0",
    promotional: "True",
    sc_bg_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_1083x609.png",
    sc_bg_large_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_1600x600.png",
    small_image: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/XboxLogo_75x75.png",
    state: "Default",
    title: "Score the Xbox Series X",
    type: "urlreward",
    give_eligible: "True",
  },
  offerId: "ENGB_Rewards_Campaign_IntlEvergreen_Xbox_20240901_1",
  complete: false,
  counter: 0,
  activityProgress: 0,
  activityProgressMax: 0,
  pointProgressMax: 0,
  pointProgress: 0,
  promotionType: "urlreward",
  promotionSubtype: "",
  title: "Score the Xbox Series X",
  extBannerTitle: "",
  titleStyle: "",
  theme: "",
  description: "Power your dreams and enter for your chance to win an Xbox Series X",
  extBannerDescription: "",
  descriptionStyle: "",
  showcaseTitle: "",
  showcaseDescription: "",
  imageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/278x180/Star-magenta-278x180px.png",
  dynamicImage: "",
  smallImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Mobile/XboxLogo_75x75.png",
  backgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_593x303.png",
  showcaseBackgroundImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_1083x609.png",
  showcaseBackgroundLargeImageUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Banners/FY25XboxSeriesXSweepstakes_1600x600.png",
  promotionBackgroundLeft: "",
  promotionBackgroundRight: "",
  iconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/XboxLogo.json",
  animatedIconUrl: "//az15297.vo.msecnd.net/images/rewards/membercenter/missions/Animated-Icons/XboxLogo.json",
  animatedLargeBackgroundImageUrl: "",
  destinationUrl: "https://rewards.bing.com/redeem/000702000817?form=ML2W57&OCID=ML2W57&PUBL=RewardsDO&CREA=ML2W57",
  linkText: "Enter today",
  hash: "31ca2f84b1a4509034815e3d677f7dc766be9f0826ed2e2f3d6e5e4c3073ab19",
  activityType: "11",
  isRecurring: false,
  isHidden: false,
  isTestOnly: false,
  isGiveEligible: true,
  level: "",
  slidesCount: 0,
  legalText: "",
  legalLinkText: "",
  deviceType: "",
  exclusiveLockedFeatureType: "notsupported",
  exclusiveLockedFeatureStatus: "notsupported",
}

Meaning you should just be able to use ...&& x.exclusiveLockedFeatureStatus !== 'locked'

hmcdat commented 2 weeks ago

I think they are good now, more tests if needed.

TheNetsky commented 2 weeks ago

Going to merge some of my changes here, will turn this PR in to .11

emulatronicGIT commented 4 days ago

small detail, but the

"version": "1.4.10",

has't been updated to 1.4.11 in package.json

TheNetsky commented 4 days ago

Oops, thx