Many deployed implementations treat visibility as immutable and ignore addressing changes in `Update`, which breaks replies sent against a stale root and makes tightening unenforceable on such servers.
- **Address Filtering**: instead of rejecting over-broad addressing, the Context Authority strips unauthorized entries and forwards; rejects only if nothing remains.
- **Deletion Fallback** (optional): on tightening, the Context Authority MAY send `Delete` for the root to servers left with no authorized recipients.
- Informative note on visibility-pinning by legacy servers; recommend offering delete-and-repost for privacy-motivated changes.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/892
This FEP introduces Emoji Catalog, which provide a way for both clients and servers to publish and discover custom emoji.
ActivityPub implementations, including Mastodon, commonly support custom emoji. FEP-9098 defines how an Emoji is embedded in an Activity Streams object, but it does not define how a client discovers the emoji available for use when composing new content.
This leads to ActivityPub clients relying on implementation-specific APIs such as the Mastodon custom emoji endpoint.
A standardized emoji catalog allows a C2S client to:
- Populate an emoji picker.
- Determine which emoji the authenticated actor may use.
- Retrieve emoji categories and static previews.
- Update its local cache when the catalog changes.
Additionally, a standardized emoji catalog allows servers to publish custom emoji that other ActivityPub implementations can discover reliably.
SocialHub thread: https://socialhub.activitypub.rocks/t/fep-de8d-emoji-catalogs/8825
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/888
Route replies, reactions, edits, and backfill on the thread's activity
collection, referenced by `contextHistory`, and reserve the ordinary
`context` property for the FEP-f228 collection of posts. Aligns FEP-8c13
with FEP-f228.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/884
- Added "Key management" section.
- Clarified text in "Authentication and authorization" section.
- Moved did:key requirements to "did:key" section.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/883
- New "Summary".
- Require poll option text to be escaped before inclusion in HTML.
- Fixed validation rules in "Receiving a vote" section.
- Allowed debouncing when publishing poll results.
- Clarified what poll reset means.
- Added `voters` collection to "Future work" section.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/879
- Specified how actors with same privileges must be ordered.
- Added "Compatibility" section.
- FEP-1b12 moderators and FEP-5219 administrators are equivalent.
- Added "Delete group" to "Privileges" table.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/880
- Changed terminlogy: persona -> subject
- Added `id` to the list of required properties.
- Specified activity audience for push and pull modes.
- Added "Future work" section.
- Improved grammar.
- Removed old .jsonld file
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/875
- Recommend other authentication methods if proof has expired.
- Added Mastodon to the implementation list.
- Added "Quantum-resistant cryptosuites" section.
- Added FEP-1580 to use cases.
- Updated ActivityPub authors.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/874
- Allowed `ap+ef61` URI scheme.
- Clarified the relationship between `verificationMethod` and object's identifier.
- Added FEP-9f9f to references.
- Added a warning about HTTP origins.
- Removed "Compatibility" sub-section from "Discussion".
- Fixed typos.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/872
The site page for [FEP-61cf](https://fediverse.codeberg.page/fep/fep/61cf/) is currently bugged because of unescaped double quotes.
The YAML issue could be solved with something like `yaml.safe_dump`, but there's also an HTML issue (mkdocs doesn't escape quotes).
`clean_markdown` now uses the built-in `html.escape()` (`nh3.escape()` escapes too much)
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/868
This was removed from the description and context in an earlier draft, but left in the examples by mistake. Sorry for that.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/867
Fixes a copy-paste error where `interactionPolicy.canQuote.automaticApproval` was written instead of `interactionPolicy.canFeature.automaticApproval`.
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/865