fix: AP protocol correctness gaps
Undo(Announce): now removes announce record from ActorRepository and
calls ApObjectHandler::on_announce_removed (default no-op, override
to decrement boost counts). Announce counts no longer drift.
Undo(Block): now logged at info level instead of silently ignored.
No automatic relationship restoration (spec doesn't require it).
AddActivity: now uses object["id"] as the stable ap_id (same as
CreateActivity), falling back to activity id only if object has no
id field. Fixes keying watchlist/collection items by the wrong id.
Featured collection: GET /users/{id}/featured now served by the router.
ApContentReader::get_featured_objects() has a default empty-list impl
— override to expose pinned posts without any breaking changes.
This commit is contained in:
@@ -9,6 +9,7 @@ use crate::{
|
||||
actors::{DbActor, get_local_actor},
|
||||
content::{ApContentReader, ApObjectHandler},
|
||||
data::FederationData,
|
||||
featured_handler::featured_handler,
|
||||
federation::ApFederationConfig,
|
||||
followers_handler::{followers_handler, following_handler},
|
||||
inbox::inbox_handler,
|
||||
@@ -210,6 +211,7 @@ impl ActivityPubService {
|
||||
.route("/users/{id}/outbox", get(outbox_handler))
|
||||
.route("/users/{id}/followers", get(followers_handler))
|
||||
.route("/users/{id}/following", get(following_handler))
|
||||
.route("/users/{id}/featured", get(featured_handler))
|
||||
.layer(self.federation_config.middleware())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user