Support note placeholders
What feature would you like implemented?
Implement support for empty "placeholder" notes that indicate a deleted, missing, or unavailable part of a thread. Placeholders have no content or author associated, but can be used as a FOREIGN KEY reference to support partial threads.
This is extremely non-trivial, but is essential to fix one of Misskey's most long-standing federation issues.
Why should we add this feature?
Misskey has long stood out as the only mainstream fedi backend to require a full thread before loading a post. This limitation appears in many ways:
- Replies cannot be loaded if the parent instance blocks the local instance
- Replies cannot be loaded if the parent post is inaccessible (#728)
- Misskey users cannot be added to an existing DM chain (extension of the above issue)
- Threads are erased if a parent post is deleted
Challenges:
- Misskey / Sharkey encodes a timestamp into note private keys, but we don't know the timestamp of a placeholder.
- Foreign-key constraints are in effect.
- This intersects with ActivityPub's
Tombstone
specification, so we will need to support that as well. - Inaccessible notes may become accessible later, and we will need to "upgrade" the placeholder.
- To maintain soft-fork status, we need a working "down" migration to remove this support.
Version
2024.9.1-rc
Instance
enby.life
Contribution Guidelines By submitting this issue, you agree to follow our Contribution Guidelines
- I agree to follow this project's Contribution Guidelines
- I have searched the issue tracker for similar requests, and this is not a duplicate.