Skip to content

[Due for payment 2025-03-17] Update the preventSpotnanaTravel beta functionality on NewDot #57778

Closed

Description

@stitesExpensify

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number:
Reproducible in staging?: y
Reproducible in production?: y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/476927
Issue reported by: @stitesExpensify
Slack conversation #travel-2025-02-24

Action Performed:

  1. Assign a user to the preventSpotnanaTravel beta

Expected Result:

  1. Users should be shown the travel button, but a modal should appear letting them know that their admin has disabled Expensify Travel

The design changes and the copy are being discussed here

Actual Result:

  1. The user no longer sees the travel button

Workaround:

Can the user still use Expensify without this being fixed? Have you informed them of the workaround?

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @laurenreidexpensify

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Mar 4, 2025
  2. melvin-bot commented on Mar 4, 2025

    @melvin-bot

    Triggered auto assignment to @laurenreidexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. Krishna2323 commented on Mar 4, 2025

    @Krishna2323
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    Update the preventSpotnanaTravel beta functionality on NewDot

    What is the root cause of that problem?

    Improvement

    What changes do you think we should make in order to solve the problem?

    • We should remove !isBlockedFromSpotnanaTravel from the condition here.
      ...(canUseSpotnanaTravel && !isBlockedFromSpotnanaTravel
      ? [
      {
      icon: Expensicons.Suitcase,
      text: translate('travel.bookTravel'),
      onSelected: () => interceptAnonymousUser(() => Navigation.navigate(ROUTES.TRAVEL_MY_TRIPS)),
      },
      ]
      : []),
    • Add a modal similar to the existing modal, we might need to show a single button and add translations and descriptions.
      <ConfirmModal
      prompt={translate('sidebarScreen.redirectToExpensifyClassicModal.description')}
      isVisible={modalVisible}
      onConfirm={() => {
      setModalVisible(false);
      if (NativeModules.HybridAppModule) {
      NativeModules.HybridAppModule.closeReactNativeApp(false, true);
      setRootStatusBarEnabled(false);
      return;
      }
      openOldDotLink(CONST.OLDDOT_URLS.INBOX);
      }}
      onCancel={() => setModalVisible(false)}
      title={translate('sidebarScreen.redirectToExpensifyClassicModal.title')}
      confirmText={translate('exitSurvey.goToExpensifyClassic')}
      cancelText={translate('common.cancel')}
      />
    • Update the function passed to onSelection, we should first check if !isBlockedFromSpotnanaTravel is true and if it is then make the modal visible and return, else call interceptAnonymousUser(() => Navigation.navigate(ROUTES.TRAVEL_MY_TRIPS)),.
      onSelected: () => interceptAnonymousUser(() => Navigation.navigate(ROUTES.TRAVEL_MY_TRIPS)),

    What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

    N/A -- UI/UX improvement

    What alternative solutions did you explore? (Optional)

  4. self-assigned this
    on Mar 4, 2025
  5. added
    InternalRequires API changes or must be handled by Expensify staff
    on Mar 4, 2025
  6. cristipaval commented on Mar 5, 2025

    @cristipaval
    Contributor

    ^Draft PR - working with the design and marketing teams for the final modal and its copy

  7. cristipaval commented on Mar 5, 2025

    @cristipaval
    Contributor

    @dannymcclain I'm working on the following modal that you posted here. Could you please tell me the name of the svg?

    Image

  8. dannymcclain commented on Mar 5, 2025

    @dannymcclain
    Contributor

    Here's an updated mock based on @jamesdeanexpensify's revised copy:

    Image

    I don't think we've used this rocket dude in product before, so here's the exported SVG:

    Last little note is that the background of the container for the illustration is ice-600.

  9. cristipaval commented on Mar 5, 2025

    @cristipaval
    Contributor

    @ZhenjaHorbach, wanna be the C+ here?

  10. ZhenjaHorbach commented on Mar 5, 2025

    @ZhenjaHorbach
    Contributor

    @ZhenjaHorbach, wanna be the C+ here?

    Sure
    Thanks !

  11. 8 remaining items

  12. melvin-bot commented on Mar 10, 2025

    @melvin-bot

    Reviewing label has been removed, please complete the "BugZero Checklist".

  13. melvin-bot commented on Mar 10, 2025

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.10-6 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2025-03-17. 🎊

    For reference, here are some details about the assignees on this issue:

  14. melvin-bot commented on Mar 10, 2025

    @melvin-bot

    @ZhenjaHorbach @laurenreidexpensify @ZhenjaHorbach The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

  15. moved this from Cleanup to High in [#whatsnext] #Travelon Mar 11, 2025
  16. ZhenjaHorbach commented on Mar 17, 2025

    @ZhenjaHorbach
    Contributor

    I don't think we need a checklist here
    Since this is a new feature of the Travel project !

  17. melvin-bot commented on Mar 17, 2025

    @melvin-bot

    Payment Summary

    Upwork Job

    BugZero Checklist (@laurenreidexpensify)

    • I have verified the correct assignees and roles are listed above and updated the necessary manual offers
    • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants//hired)
    • I have paid out the Upwork contracts or cancelled the ones that are incorrect
    • I have verified the payment summary above is correct
  18. laurenreidexpensify commented on Mar 17, 2025

    @laurenreidexpensify
    Contributor

    Payment Summary

    C+ @ZhenjaHorbach $250 please request in New Expensify

  19. ZhenjaHorbach commented on Mar 17, 2025

    @ZhenjaHorbach
    Contributor

    @laurenreidexpensify
    I think it's too early for me to request payment in New Expensify
    As far as I remember from March 26
    Or at least I don't know anything about it yet 😅

  20. ZhenjaHorbach commented on Jun 18, 2025

    @ZhenjaHorbach
    Contributor

    Requested in ND !

  21. garrettmknight commented on Jun 19, 2025

    @garrettmknight
    Contributor

    $250 approved for @ZhenjaHorbach

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2InternalRequires API changes or must be handled by Expensify staff

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions