App icon indicating copy to clipboard operation
App copied to clipboard

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

Open grgia opened this issue 2 years ago • 24 comments

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

grgia avatar Feb 15 '24 17:02 grgia

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

BrtqKr avatar Feb 15 '24 20:02 BrtqKr

📣 @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>

melvin-bot[bot] avatar Feb 15 '24 20:02 melvin-bot[bot]

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

grgia avatar Feb 28 '24 13:02 grgia

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.

BrtqKr avatar Feb 28 '24 14:02 BrtqKr

See https://expensify.slack.com/archives/C04878MDF34/p1710412834178559 Working on moving latest design to https://docs.google.com/document/d/14C1VifxvIXeyLAf0XstbC-wvyAb5SQZ0AOw0-jLRyZs/edit

grgia avatar Mar 18 '24 12:03 grgia

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

grgia avatar Apr 03 '24 12:04 grgia

Here you go https://docs.google.com/document/d/14C1VifxvIXeyLAf0XstbC-wvyAb5SQZ0AOw0-jLRyZs/edit?usp=sharing

BrtqKr avatar Apr 04 '24 14:04 BrtqKr

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

grgia avatar Apr 19 '24 13:04 grgia

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

grgia avatar Apr 30 '24 11:04 grgia

:wave: Hello Generalist Track Team - you have been assigned to review this High Level Design Doc. Check out this Stack Overflow for some tips on reviewing a design doc. Once you are done, simply press the Add "Reviewed Doc" comment button in the right hand side K2 panel or follow these instructions.


  • @dangrous (Expensifier / Graduate) - https://github.com/Expensify/App/issues/41732
  • @ryanldonato (Expensifier / Graduate) - https://github.com/Expensify/App/issues/41733
  • @zsgreenwald (Project Manager) - https://github.com/Expensify/App/issues/41734
  • @NickTooker (Project Manager) - https://github.com/Expensify/App/issues/41735
  • @johnmlee101 (Product Manager) - https://github.com/Expensify/App/issues/41736
  • @nkuoch (Product Manager) - https://github.com/Expensify/App/issues/41737
  • @JmillsExpensify (Generalist) - https://github.com/Expensify/App/issues/41738
  • @AndrewGable (Generalist) - https://github.com/Expensify/App/issues/41739
  • @heyjennahay (Accounting Technical Team) - https://github.com/Expensify/App/issues/41740
  • @LLPeckham (Marketing Team) - https://github.com/Expensify/App/issues/41741

melvin-bot[bot] avatar May 07 '24 12:05 melvin-bot[bot]

:wave: Hello Generalist Track Team - you have been assigned to review this Detailed Design Doc. Check out this Stack Overflow for some tips on reviewing a design doc. Once you are done, simply press the Add "Reviewed Doc" comment button in the right hand side K2 panel or follow these instructions.


  • @zsgreenwald (Any Expensifiers, Non-Engineering Graduates or Project Managers) - https://github.com/Expensify/App/issues/41742
  • @ryanldonato (Any Expensifiers, Non-Engineering Graduates or Project Managers) - https://github.com/Expensify/App/issues/41743
  • @JmillsExpensify (Non-engineering Product Managers or Generalists) - https://github.com/Expensify/App/issues/41744
  • @LLPeckham (Non-engineering Product Managers or Generalists) - https://github.com/Expensify/App/issues/41745
  • @johnmlee101 (Engineering Graduates) - https://github.com/Expensify/App/issues/41746
  • @AndrewGable (Engineering Graduates) - https://github.com/Expensify/App/issues/41747
  • @nkuoch (Engineering Graduates) - https://github.com/Expensify/App/issues/41748
  • @iwiznia (Engineering Product Managers or Generalists) - https://github.com/Expensify/App/issues/41749

melvin-bot[bot] avatar May 07 '24 12:05 melvin-bot[bot]

Just a note - there are some blank sections in the detailed portion, so I wasn't sure if I should proceed with a detailed review.

LLPeckham avatar May 08 '24 14:05 LLPeckham

Just a note - there are some blank sections in the detailed portion, so I wasn't sure if I should proceed with a detailed review.

@LLPeckham great shout, I'll take a look at those sections tomorrow (Thurs)

grgia avatar May 08 '24 15:05 grgia

I have read and reviewed this Design Doc!

AndrewGable avatar May 16 '24 20:05 AndrewGable

I have read and reviewed this Design Doc!

nkuoch avatar May 17 '24 11:05 nkuoch

I have read and reviewed this Design Doc!

JmillsExpensify avatar May 19 '24 18:05 JmillsExpensify

@grgia it looks like this project was placed on HOLD in our internal tracking sheets based on this comment back in Feb https://github.com/Expensify/App/issues/15603#issuecomment-1934811394

Could you please follow this SO to have our CapSW tracker updated to reflect this project as ACTIVE if it is no longer on hold? Thanks! https://stackoverflowteams.com/c/expensify/questions/12234

MarcFillari avatar May 20 '24 16:05 MarcFillari

I have read and reviewed this Design Doc!

johnmlee101 avatar May 22 '24 18:05 johnmlee101

working on manual tests and slightly updating the mocks to match our current components (no real updates to major flows, besides split)

grgia avatar May 23 '24 10:05 grgia

I have read and reviewed this Design Doc!

LLPeckham avatar May 23 '24 13:05 LLPeckham

Discussion about including split started here - https://expensify.slack.com/archives/C036QM0SLJK/p1717492905833899

grgia avatar Jun 04 '24 09:06 grgia

Catching up from having the flu, we should be able to move this forward next week

grgia avatar Jun 14 '24 13:06 grgia

@grgia are there any things that need to be resolved, or can we pass it for the review? I think I've addressed all comments in the doc

BrtqKr avatar Jun 24 '24 13:06 BrtqKr

@BrtqKr I just need to update the manual tests section, I can get that done before EOW.

grgia avatar Jul 03 '24 10:07 grgia

OOO with flu this week

grgia avatar Jul 12 '24 16:07 grgia

Working on a summer release project right now, aiming to update the final doc ASAP

grgia avatar Jul 23 '24 14:07 grgia

I'm wrapping up Pending/Scanning then will focus on wrapping this up.

grgia avatar Aug 02 '24 11:08 grgia

Almost wrapped on the above

grgia avatar Aug 13 '24 18:08 grgia

Went through doc, ensured it was filled out- https://docs.google.com/document/d/14C1VifxvIXeyLAf0XstbC-wvyAb5SQZ0AOw0-jLRyZs/edit

Posted translations in slack - https://expensify.slack.com/archives/C21FRDWCV/p1724163075264519

Reopened detailed review issues to send out for final rereview

cc @BrtqKr

grgia avatar Aug 20 '24 14:08 grgia

Sorry for the delay, I got sick on Monday.

@grgia @AndrewGable Partially related to https://github.com/Expensify/App/issues/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.

BrtqKr avatar Aug 28 '24 17:08 BrtqKr