Skip to content

#227 follow-up: await in-flight typed_by_owner feature probe under concurrent face polls #234

Closed

Description

@hsliuustc0106

Follow-up from #233 (merged) before Bot Social ships typed_by_owner.

Problem

In plugins/social/src/social.js (serverAttests), probedAt is set before await faceApi.features(). Concurrent applyFaceSnapshot calls (via mapPool / GRANT_CONCURRENCY) see a fresh probedAt and return false immediately, so they render with attested: false, accept unstamped FLYBOT-FACE-HUMAN envelopes as person lines, then mark events seen — no self-heal after the probe succeeds.

Related: Codex discussion on #233 — #233 (comment)

Fix

Share/await one in-flight probe promise; only treat the server as non-attesting after a completed probe (success or definitive failure). Add a regression test for concurrent face polls during the first probe.

Also (nits from review)

  • Align DM sendTypedAsMember (always tries typed_by_owner: true first) with face canAttest(), or document that old servers must ignore unknown fields.
  • Probe HTTP failure currently sticky fail-open for ~10 minutes via probedAt.

Refs #227.

Activity

  1. added 2 commits that reference this issue on Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions