* fix(backend): skip inbox activities without an actor instead of throwing TypeError
- guard getApId() against null/undefined (and fix the 'detemine' typo)
- skip actor-less inbox activities early with Bull.UnrecoverableError
Fixes#17557
* fix(backend): reject actor-less inbox activities at enqueue time
Per review feedback (#17558), move the actor presence check to the inbox
HTTP handler and drop the processor-side guard.
- ActivityPubServerService.inbox(): validate the request body from the
loose (unknown) type and return 400 for structurally invalid activities
(non-object / missing actor) instead of enqueueing a job that can never
be authenticated. Avoids useless retries and TypeError noise.
- InboxProcessorService.process(): remove the actor null guard; IActivity.actor
is non-null, so the check is unnecessary once enqueue is validated.
- getApId(): widen the parameter to include undefined so the existing null
guard is type-honest (getOneApId can pass value[0] of an empty array).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>