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

Share to Zulip from other apps #52

Open
2 tasks
gnprice opened this issue Apr 5, 2023 · 4 comments
Open
2 tasks

Share to Zulip from other apps #52

gnprice opened this issue Apr 5, 2023 · 4 comments

Comments

@gnprice
Copy link
Member

gnprice commented Apr 5, 2023

This is the feature where from some other app on the device, when you say to "share" something, you get a system-provided bit of UI that lets you choose from various apps you can share the thing to. We should make Zulip one of the options there. (In the RN app, we've done this for Android but not iOS: zulip/zulip-mobile#3277)

From some surveying of the options (below), it looks like the way to do this will be to use Flutter's generic infrastructure for talking to platform APIs, rather than try to use an existing plugin for it.

In doing so, we might find there’s a reason this can’t be done real cleanly as a plugin. Or maybe we’ll make a better plugin.

Starting points for taking this on:

Subtasks:

Survey of existing packages for sharing to a Flutter app

(These are from notes I took 2023-02-01.)

There don't appear to be any existing packages for this problem that are real popular or well maintained.

  • The most popular is [receive_sharing_intent](https://pub.dev/packages/receive_sharing_intent). From the issue tracker, it seems not actively maintained.
  • There’s [receive_multi_sharing_intent](https://pub.dev/packages/receive_multi_sharing_intent) which is a fork of that one, unmaintained.
  • There’s [share_handler](https://pub.dev/packages/share_handler) which is maintained.
  • Another observation on all of the above: they call for quite a bit of changes to the project’s own files to fully wire them in.
  • Newer and Android-only: [receive_intent](https://pub.dev/packages/receive_intent).
@Detective-Khalifah
Copy link

Detective-Khalifah commented Mar 16, 2024

Hi,
I would like to work on the Android version of this.
I am still looking into the packages aforementioned, and a few others. The Flutter way seems straightforward, but relies most on Native Android.

@Detective-Khalifah
Copy link

https://github.com/fluttercommunity/plus_plugins/tree/main/packages/android_intent_plus
https://pub.dev/packages/android_intent_plus
Android-only; repo actively maintained; for sending intents (not receiving)

https://github.com/aboutshout/share_handler/tree/main/share_handler
https://pub.dev/packages/share_handler
Android, iOS; relatively new; based on https://github.com/KasemJaffer/receive_sharing_intent

https://github.com/fluttercommunity/plus_plugins/tree/main/packages/share_plus/share_plus
https://pub.dev/packages/share_plus
Android, iOS, Linux, MacOS, Web, Windows; for sending intents (not receiving)

https://github.com/bhagat-techind/flutter_sharing_intent
https://pub.dev/packages/flutter_sharing_intent
Android, iOS; seems to be based on receive_sharing_intent; looks new, and doesn't support Sharing Text Files (.txt)

https://github.com/daadu/receive_intent
https://pub.dev/packages/receive_intent
Android; barebones -- developer implementing the package has to specify and handle data being received; does not seem to work with images (daadu/receive_intent#18); not production ready?

https://fluttergems.dev/packages/receive_multi_sharing_intent/
https://pub.dev/packages/receive_multi_sharing_intent
Android-only, listed as supporting iOS; can't find actual repo, only forked repo linked

@Detective-Khalifah
Copy link

share_handler seems to be the only good package.
We might have to work on the issue through native code.

@gnprice
Copy link
Member Author

gnprice commented Mar 20, 2024

Thanks for the updated survey. I added more detail in a chat thread.

Let's try using package:receive_intent — I think that's the one option out of these that looks promising.

In particular:

  • I'm not concerned about that issue about images. The report is quite vague about what the person actually tried, what they expected to happen, and what happened instead. It reads to me as much more likely to be some confusion by the issue author than any actual issue in the library.
  • After looking around in the code and tracker of share_handler, I don't think it's a library I'd want to rely on.

@gnprice gnprice modified the milestones: Launch, Post-launch Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants