You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chat messages / chat line drop creator.client (and other Person fields), breaking connector project trust in Campfires #955
basecamp chat messages and basecamp chat line return the line's creator with several Person fields missing that the raw API includes, among them client, admin, owner, bio, company details and location. basecamp show still returns the full creator for comments, and basecamp api get returns it for the same chat line.
Why it matters
basecamp-local-agent-connector polls Campfires with these two commands. In --allow-project / project trust mode, a participant is admitted only when the corroborated author has client == false, failing closed when the flag is missing (Authorizer::Project#participant?). With client gone from chat line creators, every Campfire mention from a project member who isn't the operator is now dropped silently, while comments and cards still get through. Operator mentions are unaffected, as they're matched by identity.
It worked on the CLI we had before upgrading to 0.17.0 this morning (via Homebrew), so it changed in a recent release. I'm not sure which one.
Repro (v0.17.0)
# Creator keys from the CLI command: no "client"
basecamp chat line <line id> --project <project id> -j | jq '.data.creator | keys'# Same line through the raw API: "client" present
basecamp api get buckets/<project id>/chats/<chat id>/lines/<line id>.json -j | jq '.data.creator | keys'
The CLI command returns attachable_sgid, avatar_url, can_access_hill_charts, can_manage_people, can_manage_projects, company, created_at, email_address, employee, id, name, personable_type, time_zone, title, updated_at. The raw API additionally has admin, bio, can_access_timesheet, can_ping, client, location, owner, tagline.
Expected
The chat commands return the same creator fields as the API (or at least client), as show does for other recordings.
Activity