Skip to content

Expose quote post content in Fediverse events - #11

Merged
gabek merged 1 commit into
mainfrom
gek/quote-plugin-content
Aug 3, 2026
Merged

Expose quote post content in Fediverse events#11
gabek merged 1 commit into
mainfrom
gek/quote-plugin-content

Conversation

@gabek

@gabek gabek commented Aug 2, 2026

Copy link
Copy Markdown
Member

This updates the SDK for the richer fediverse.quote payload from owncast/owncast#5104, so plugins can use the remote quote caption and permalink.

  • Add the FediverseQuote JavaScript type with the remote post URL and optional content metadata
  • Document the difference between the local target.url and remote quote post url
  • Update the JavaScript and Python engagement examples to forward the caption and remote permalink
  • Extend both scenario fixtures with the new fields
JavaScript and Python example scenarios: 68 passed, 0 failed
Host runtime tests and build: passed

The content fields remain optional because some Fediverse servers send the QuoteRequest instrument as an IRI instead of an embedded Note.

Fixes owncast/owncast#5103

Copilot AI review requested due to automatic review settings August 2, 2026 15:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Owncast plugin SDK to support a richer fediverse.quote event payload so plugins can access both the remote quote post permalink (url) and optional quote content metadata (content / contentText) when provided by the originating Fediverse server.

Changes:

  • Added a new FediverseQuote JavaScript type and updated the JS SDK handler signature for onFediverseQuote to use it.
  • Updated wire protocol and author documentation to clarify the difference between the local quoted post (target.url) and the remote quote post (url).
  • Updated the JS and Python engagement-bot examples and scenario fixtures to forward the quote caption and remote permalink.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
sdks/js/index.d.ts Introduces FediverseQuote and updates onFediverseQuote typing/documentation to expose remote quote URL + optional content metadata.
examples/python/engagement-bot/src/plugin.py Uses event.content_text (caption) and event.url (remote permalink) when posting Discord notifications for quotes.
examples/python/engagement-bot/tests/mod.test.json Extends the quote fixture with contentText and url and updates expected Discord output accordingly.
examples/js/engagement-bot/src/plugin.js Uses event.contentText (caption) and event.url (remote permalink) when posting Discord notifications for quotes.
examples/js/engagement-bot/tests/mod.test.json Extends the quote fixture with contentText and url and updates expected Discord output accordingly.
docs/WIRE_PROTOCOL.md Documents fediverse.quote as FediverseQuote and adds the FediverseQuote type definition to the wire contract.
docs/PLUGIN_AUTHOR_GUIDE.md Updates author guidance to describe FediverseQuote and the semantics of target.url vs url, including optional content fields.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gabek
gabek merged commit 9c9d2ff into main Aug 3, 2026
74 checks passed
@gabek
gabek deleted the gek/quote-plugin-content branch August 3, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand the fediverse.quote plugin event for QuoteRequest content

2 participants