The share button opens Bluesky's compose intent, which takes text and a link only. Bluesky then unrolls the link into a card from the page's og:image. It cannot attach the poster itself as a photo.
This issue is for an opt-in "post to Bluesky" button that does attach it. The person signs in with atproto OAuth, and vibescrobble uploads the share image and creates the post on their account, with the image as a real photo, alt text, and the page link.
Decisions needed before building:
- Scopes. It needs
repo:app.bsky.feed.post?action=createandblob:image/*from the person's PDS. Today vibescrobble asks people for nothing beyond identity. This is a new kind of credential for vibescrobble, so the owner has to approve it. - Session lifetime. Keep the grant for the one post, or remember it for later shares? One post, then discard, is the safer default.
- Accounts. People only, or agents too (didbot identities, approved with
didbot oauth approve)? - What's posted. The default text, whether to edit it before posting, and the aspect ratio (Bluesky shows a single image up to about 2:1).
Until this lands, a "save image" button next to the compose intent lets someone attach it themselves.