-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2025-01-02] [HOLD for payment 2024-12-25] [Tracking] Import phonebook contacts into New Expensify #47938
Comments
First predesign questions:
|
posted first predesign (saving library/implementation details for a 2nd predesign): https://expensify.slack.com/archives/C01GTK53T8Q/p1724440169163019 |
Posted here, but I don't think this is a project for #wave-collect. |
Moved to #f1-25june2025 |
Summarizing all of our predesign decisions and getting this ready for handoff:
|
👋🏻 |
You can use https://github.com/s77rt/react-native-contacts (a Turbo Module) for reference |
@perunt how is the PR going? Can you you give us an update? |
hey @blimpich, we just finished fixing the Nitro issue (the library we use for this module). Tomorrow, I'm going to show some metrics about it and move that module to the Expensify repo |
Sounds great! Thank you for the update 👍 |
I think you're good to go now. Please make sure this is tested locally against HybridApp builds though, as any new issues with the build process could block App development just as we are OOO for the holidays. |
I've tested it on my end. @DylanDylann also finished his testing. So I think we're good to go, @blimpich. |
I have to wait to merge unfortunately. We're having a fire right now related to our hybrid app (just sprung up this morning) and merging a big PR is likely going to get reverted again. I'll try to get it in this week and confirm that it won't get reverted again, but probably won't happen today. |
By the way, I’d be happy to help with this as well. We have some extra cycles at Margelo, so feel free to reach out if you need anything! |
Merged again. Hoping this time nothing happens to get it reverted 🤞🍀 |
Hey all, I just wanted to check this was tested on HybridApp iOS and Android? |
As C reviewer, I only test on Newdot |
Hey @Julesssss |
Hey Ben, can you let me know what the updated payment date should be on this if it was reverted? @blimpich |
It was not, sorry @Julesssss I completely blanked on checking that 😞. You very clearly asked to have us check that, that is 100% my bad.
@zanyrenney if this doesn't get reverted again (it might), then December 25th would be the pay out date I believe. |
Payment Summary
BugZero Checklist (@zanyrenney)
|
Yeah the problem is that it's not compatible with Hybrid App right now and it might not be too easy to fix since we don't have much knowledge of the internals of Nitro Modules. We'll try to make it work though 🚀 |
Yeah it's pretty difficult for anyone to test right now. Especially just after the submodule change and other build issues 😭 |
@zanyrenney we ended up reverting again fyi. @perunt @DylanDylann work is being done to make it so that you can test Hybrid App in the near future, but lots of Expensify Engineers are taking time off this time of year so we might have to wait till January. We're close to getting working ad-hoc builds here, so hopefully that can be used soon. Will keep you updated on adding you to the Mobile-Expensify repo. Takes time. We're revamping some internal processes to make this easier in the future. Sorry about all the reverts 😢 @perunt no rush, but when you get a chance can you re-raise the PR? In the meantime, I'm going to change this to weekly cadence. |
Okay, I'm going to open it again. It's funny how many times it has been reverted, especially since there's no direct issue with the PR 🥲
It will make things easier, thank you! |
Payment Summary
BugZero Checklist (@zanyrenney)
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.78-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-01-02. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Proposal: Import phonebook contacts into New Expensify
Strategy
The most important metric we want to see grow in the coming months is new user acquisition 📈. To facilitate that we need to invest in features that streamline viral user growth and make it easier to pull new users into the app. 👥
Problem
If you want to use the Expensify Classic app to invite your team or your boss to Expensify, it’s very easy. You sign up, scan a receipt, and an inbox task will appear asking who you want to send it to. If you click on that, it will open your phone’s contact book and allow you to select the contact(s) that you want to invite to Expensify. You can invite people you know in just a few taps, without leaving the app.
There are a number of other places throughout Expensify Classic where you can easily invite people to Expensify, such as when submitting reports.
Meanwhile, in New Expensify, the first few steps of inviting new users are arguably more streamlined. You immediately scan a receipt, and on the very next page you’ll be asked who you want to share it with. However, at that stage, you need to leave the app to find their email or phone number from some other source and manually type or copy/paste it into NewDot. This introduces friction in a critical viral growth moment.
Solution
Let’s close the gap on one of the final pieces of feature parity between Expensify Classic (mobile) and NewDot, by importing contacts from your phonebook 📕 into New Expensify. This will streamline the process of inviting people you already know into Expensify. Let’s show these imported contacts in any page where we invite new users (start chat, workspace invite, request money participants page, etc…).
All these pages are already set up to invite new users to Expensify via their email or phone number, so the only requirement is to import that information from the contacts app (after obtaining the user’s permission to do so). Because of that, this project is completely front-end and self-contained. That means that after we get through an initial high-level design phase, it can be implemented entirely by external contributors.
For UI inspiration, WhatsApp 📞 shows imported contacts in an “Invite to WhatsApp” section.
Issue Owner
Current Issue Owner: @zanyrenneyThe text was updated successfully, but these errors were encountered: