feat: conference call support + alternate login fallback (v2.2.0) - #103
Merged
Conversation
Add ConferenceCall and RealmConferenceCall models plus call_type and joinable_by enums, and wire them into the calls, chat_rooms and posts services across Go, TypeScript, Python and Rust.
When an email login is rejected with a plain unauthorized (error code 401), retry once against the alternate login endpoint (POST /v2/users/login_with_email) using a separate web API key. Some accounts are only accepted there. The fallback fires only on Unauthorized (never on Required2FA or other 401s), is skipped when the caller pinned a specific api_key or set the web key to empty, and is issued through the unwrapped HTTP client (no Bearer, no auto-refresh). A 2xx response that fails to decode is surfaced with its raw body rather than the primary 401. Implemented and tested across Go, TypeScript, Python and Rust; contract in PORTING.md section 6.2.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two additive, non-breaking features across all four languages (Go / TypeScript / Python / Rust), released as v2.2.0.
1. Conference call support
ConferenceCall/RealmConferenceCallmodels.call_type(vdo/voice) andjoinable_byenums.2. Alternate login fallback (PORTING.md §6.2)
When an email login is rejected with a plain unauthorized (error code 401), the client retries once against the alternate login endpoint (
POST /v2/users/login_with_email) using a separate web API key. Some accounts are only accepted there.Contract (identical across languages):
Unauthorized— never onRequired2FAor other 401s.apiKey, or set the web key to""(off switch).Tests
Version
2.2.0; CHANGELOG updated.