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

[Tracking / LOW] [Wave Collect] [HybridApp] Investigate Native Share for HybridApp #36613

Open
grgia opened this issue Feb 15, 2024 · 42 comments
Assignees
Labels
Planning Changes still in the thought process Weekly KSv2

Comments

@grgia
Copy link
Contributor

grgia commented Feb 15, 2024

Background:

V0 (NewDot-only design) tracking issue / design doc.

Moving Forward:

We originally designed this new feature for NewDot only, but as we move towards one single app (Hybrid App) on the Old Expensify App, we need to leverage/extend the existing share-to-scan receipt feature to support common chat-based sharing.

This means that in addition to Share to Scan receipt, a user will be able to share attachments/images/text/links to chats in New Expensify.

We may need to HOLD this project as HybridApp plans change or solidify, but for now we can use this issue to share results from investigations

@BrtqKr
Copy link
Contributor

BrtqKr commented Feb 15, 2024

Hey @grgia, I'm from Software Mansion and I'll be handling this issue

Copy link

melvin-bot bot commented Feb 15, 2024

📣 @BrtqKr! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

  1. Make sure you've read and understood the contributing guidelines.
  2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@dylanexpensify dylanexpensify moved this to Release 1: Hybrid App V1 in [#whatsnext] Wave 05 - Deprecate Free Feb 20, 2024
@dylanexpensify dylanexpensify moved this from Release 1: Hybrid App V1 to Release 3: Deprecate New Expensify App in [#whatsnext] Wave 05 - Deprecate Free Feb 20, 2024
@melvin-bot melvin-bot bot added the Overdue label Feb 26, 2024
@grgia
Copy link
Contributor Author

grgia commented Feb 28, 2024

@BrtqKr could you post a quick update to this issue for tracking?

@melvin-bot melvin-bot bot removed the Overdue label Feb 28, 2024
@BrtqKr
Copy link
Contributor

BrtqKr commented Feb 28, 2024

The screens for this feature are mostly done, we're connecting them with onyx. Right now we're working on reusing the existing logic from the native side and expanding it with the share extension serving as the "router", which would point to the proper OldDot/NewDot flow without affecting the old logic. We're still waiting for the ios setup for AppGroups, which is already done for the old dot and is required if we want to keep everything consistent.

@trjExpensify trjExpensify changed the title [Tracking / LOW] [Wave 5] Investigate Native Share for HybridApp [Tracking / LOW] [Wave Collect] [HybridApp] Investigate Native Share for HybridApp Mar 5, 2024
@trjExpensify trjExpensify moved this to Release 2: Summer 2024 (Aug) in [#whatsnext] #wave-collect Mar 5, 2024
@melvin-bot melvin-bot bot added the Overdue label Mar 7, 2024
@grgia
Copy link
Contributor Author

grgia commented Mar 18, 2024

@grgia
Copy link
Contributor Author

grgia commented Apr 3, 2024

I need to review the doc for this one. Could you link here as well @BrtqKr ? I want to unblock this this week :)

@melvin-bot melvin-bot bot removed the Overdue label Apr 3, 2024
@BrtqKr
Copy link
Contributor

BrtqKr commented Apr 4, 2024

@melvin-bot melvin-bot bot added the Overdue label Apr 12, 2024
@grgia
Copy link
Contributor Author

grgia commented Apr 19, 2024

Took a look at this today @BrtqKr. I left a comment in the doc, but I think we can use a lot of the HL from the previous doc. Do you feel comfortable running with that and moving over the information that applies to your design?

If necessary, we can also get new mock ups specific to hybrid app, we just need to center on what we haven't covered if that's the case

@melvin-bot melvin-bot bot removed the Overdue label Apr 19, 2024
@melvin-bot melvin-bot bot added the Overdue label Apr 29, 2024
@grgia
Copy link
Contributor Author

grgia commented Apr 30, 2024

Was deprioritized, but we should get the HL updated and get this wrapped up in the next release cycle

@melvin-bot melvin-bot bot removed the Overdue label Apr 30, 2024
@grgia grgia added the DesignDocReview Autoassigner for design doc reviews label May 7, 2024
@BrtqKr
Copy link
Contributor

BrtqKr commented Aug 28, 2024

Sorry for the delay, I got sick on Monday.

@grgia @AndrewGable
Partially related to #47811, but more about the group setup in general

I've merged main and it seems like the provided group ID is either incorrect (I've tried a couple of variants besides the one from the branch) or requires further changes or an access, possibly provisioning profile. A couple of things to point out here:

  1. I do not see any app group containers in the settings and the naming pattern from the slack thread would also suggest that there might not be any configured ones available, since according to the docs

A container ID must begin with group.

  1. I'm getting errors when attempting to access a group

Also, it turns out that without a provisioning profile, I won't be able to select a target for the share extension as well as assign it to the provided group. So I would ask you to configure those things in the first place.

I've moved some parts of the changes to this branch - it already contains a share extension template with some parts of the code for processing everything, so please just set up a group if it doesn't exist and include it inside of the share extension.

@AndrewGable
Copy link
Contributor

Sorry @BrtqKr - Can you list out the changes you need exactly made in the Apple Developer console? I am not familiar with everything required to set up. Thanks!

@BrtqKr
Copy link
Contributor

BrtqKr commented Aug 30, 2024

@AndrewGable, going step-by-step:

Firstly start from my branch, otherwise you won't be able to access the extension I've prepared

Configuring app group:

  1. Go to NewExpensify => Signing & Capabilities

Verify if the App Groups section is visible above the Associated domains
image

if it is and it contains any entries, then it means that the group exists and I need a provisioning profile to be able to access it and I won't even be able to list it otherwise.

If it isn't...
2. + Capability => App group
3. The App groups section should appear above associated domains and the entitlements should be modified
4. Afterwards, add a group group.com.expensify.chat in this section

Apply App group to the share extension

  1. Select a target ShareViewController
image
  1. Repeat the whole process from the previous point to include it in the same group - make sure you use the same name pattern.

After that push the changes to my branch. I'm not sure if this would be enough for me to access it after the configuration, but I know that in my case the operation of adding the group won't even be finished without the profile.

@trjExpensify trjExpensify added the Planning Changes still in the thought process label Sep 4, 2024
@trjExpensify trjExpensify moved this from Polish to Tracking issues in [#whatsnext] #wave-collect Sep 4, 2024
@johnmlee101
Copy link
Contributor

I have read and reviewed this Design Doc!

1 similar comment
@nkuoch
Copy link
Contributor

nkuoch commented Sep 6, 2024

I have read and reviewed this Design Doc!

@grgia
Copy link
Contributor Author

grgia commented Sep 9, 2024

Progress Update

@melvin-bot melvin-bot bot removed the Overdue label Sep 9, 2024
@AndrewGable
Copy link
Contributor

@grgia - You are an app deployer now, so feel free to make any changes you need for this project. Please ping me if you have questions.

I believe we added App groups here: #47738

@melvin-bot melvin-bot bot added the Overdue label Sep 17, 2024
@trjExpensify trjExpensify moved this from Polish to Tracking issues in [#whatsnext] #wave-collect Sep 23, 2024
@grgia
Copy link
Contributor Author

grgia commented Sep 25, 2024

Working with @BrtqKr to get the app permissions. I was able to update them locally but couldn't push to your branch

@melvin-bot melvin-bot bot removed the Overdue label Sep 25, 2024
@BrtqKr
Copy link
Contributor

BrtqKr commented Sep 28, 2024

Verified the permissions from the diff, seemed to be working as expected, but I'll continue working on that in the next week. We've decided to split the work with @filip-solecki - he'll be working on the the android in parallel.

@melvin-bot melvin-bot bot added the Overdue label Oct 7, 2024
@grgia
Copy link
Contributor Author

grgia commented Oct 7, 2024

Both Android and IOS issues are in progress.

@melvin-bot melvin-bot bot removed the Overdue label Oct 7, 2024
@melvin-bot melvin-bot bot added the Overdue label Oct 15, 2024
@grgia
Copy link
Contributor Author

grgia commented Oct 21, 2024

Still making steady progress

@melvin-bot melvin-bot bot removed the Overdue label Oct 21, 2024
@melvin-bot melvin-bot bot added the Overdue label Oct 29, 2024
@grgia
Copy link
Contributor Author

grgia commented Nov 1, 2024

IOS and Android are both in progress

@melvin-bot melvin-bot bot removed the Overdue label Nov 1, 2024
@melvin-bot melvin-bot bot added the Overdue label Nov 11, 2024
@grgia
Copy link
Contributor Author

grgia commented Nov 11, 2024

Same as above, draft PRs expected for this week

@melvin-bot melvin-bot bot removed the Overdue label Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Planning Changes still in the thought process Weekly KSv2
Projects
No open projects
Status: Tracking issues
Status: Release 3: Deprecate New Expensify App
Development

No branches or pull requests

9 participants