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

[APP-870] Compose intent URL #1540

Closed
pfrazee opened this issue Sep 26, 2023 · 2 comments · Fixed by #2587
Closed

[APP-870] Compose intent URL #1540

pfrazee opened this issue Sep 26, 2023 · 2 comments · Fixed by #2587
Labels
feature-request A request for a new feature x:on-the-roadmap We're planning to do this but it may be a bit

Comments

@pfrazee
Copy link
Collaborator

pfrazee commented Sep 26, 2023

Add a URL for triggering the composer with some pre-filled fields. This is useful for websites that want to do share links/buttons.

See bluesky-social/atproto#1671

APP-870

@pfrazee pfrazee added the feature-request A request for a new feature label Sep 26, 2023
@pfrazee pfrazee changed the title Compose intent URL [APP-870] Compose intent URL Sep 26, 2023
@pfrazee pfrazee added the x:on-the-roadmap We're planning to do this but it may be a bit label Sep 26, 2023
@ShreyanJain9
Copy link

When you do this, I would suggest figuring out some way to make it client-agnostic, if possible. Might not be easy, but I think you can do it!

@pfrazee
Copy link
Collaborator Author

pfrazee commented Jan 2, 2024

Copying from dup:

Is your feature request related to a problem? Please describe.

Currently users wanting to share off-site links directly from the page need to do a variety of URL copy/paste actions to get a link into the Bluesky editing interface. Further, offsite content creators who want to "pre-fill" the sharing post's text are unable to do so. This makes it impossible to create off-site sharing buttons, such as you'd have for every other social media.

Describe the solution you'd like

Two APIs:

  • /share?url=<url>&prefill=<prefill text>&origin=<handle of account linked to shared content>
    • User journey: When a user clicks a share button outside of Bluesky, she is taken to a new post dialog. If the optional prefill query parameter has a value, that text precedes the string given via the required url query parameter. If the optional origin query parameter has a value, a translated version of a string in the format ", via @{handle}." is appended to the text.
  • /repost?did=<did>&prefill=<prefill text>[&allow_quote]
    • User journey: A user clicks a link in this format on an off-site page, which opens the related DID in the Bluesky interface, possibly without any attached replies. If the originating website included the optional allow_quote query parameter, the "Repost"/"Quote post" menu is already unfurled, allowing the user to select either option. If "Quote post" is selected by the user, the quote post editor is opened; if the prefill query parameter is included, the editor is already populated with the text from that. If the "enable_quote" query parameter is omitted, the user is given the option to repost the linked DID without a quote. Of course if the user really wants to quote post a link, she's still able to copy/paste the URL into a new post.

Describe alternatives you've considered

Prior art:

  • X: /intent/tweet?url=<url>&text=<prefill>&via=<handle>
  • Facebook: /sharer.php?u=<url>&t=<prefill>
  • LinkedIn: /sharing/share-offsite/?url=<url>

Of these, X's implementation fulfils the needs of media orgs the best by allowing both prefill text as well as the ability for a shared post be linked to the org's canonical user.

Additional context

I'm a senior developer with Financial Times and need at least the first API I suggested to be able to add "Share on Bluesky" buttons, which I highly suspect we'll want to do this year.

Might be in some ways related to #66.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A request for a new feature x:on-the-roadmap We're planning to do this but it may be a bit
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants