Skip to content

feat: use custom queue for each bot to scale infinitely#1

Open
vchiranjeeviakt wants to merge 650 commits intomainfrom
custom_queue
Open

feat: use custom queue for each bot to scale infinitely#1
vchiranjeeviakt wants to merge 650 commits intomainfrom
custom_queue

Conversation

@vchiranjeeviakt
Copy link

No description provided.

@noah-duncan
Copy link

Hi @vchiranjeeviakt, it looks like you're trying to add some code to increase Attendee's scalability. In Attendee's self-hosted plan we will provide you with detailed directions for creating a scalable kubernetes-based Attendee deployment and give support for maintaining your deployment. Let me know if you're interested in learning more. This can save you alot of time vs doing it yourself.

noah-duncan and others added 29 commits December 19, 2025 00:51
…ase-about-being-stuck-in-connecting-state

Remove any existing timeout for the being stuck in connecting timeout
…oom-oauth-docs

Add managed zoom oauth docs
…id-generation-method

generate object ids via secret.choice instead of random.choices
…ng-reduce-ram

reduce debug recording resource usage + add envvar
Add new automatic leave condition that triggers when only bot participants
(identified by regex patterns) remain in the meeting.

New configuration parameters:
- only_bots_in_meeting_timeout_seconds: timeout duration (default: 300s)
- only_bots_in_meeting_name_patterns: list of regex patterns to identify bots

Changes:
- Add new BotEventSubType: LEAVE_REQUESTED_AUTO_LEAVE_ONLY_BOTS_IN_MEETING
- Implement detection logic in both web_bot_adapter and zoom_bot_adapter
- Add validation for regex patterns in serializers
- Update BotController event handling
- Update OpenAPI documentation
…tion

🐛 Fixes
- Add migration 0070 to include event_sub_type 28 in DB constraint
- Fix AttributeError: use participants_info instead of participants
- Filter only active participants and use fullName field

This resolves IntegrityError and AttributeError for Teams/GoogleMeet bots
when the only-bots auto-leave feature is triggered.
fix doc: is_onbehalf_token mode also requires 'user:read:user'
Following Noah's suggestion, this refactors the auto-leave logic to be simpler:
- Remove separate 'only_bots_in_meeting' condition and event subtype
- Add single 'bot_name_patterns' parameter to filter bots from participant count
- Bot names matching patterns (case-insensitive regex) are excluded from 'only participant' check
- If only bots remain, existing 'only_participant_in_meeting' timeout triggers leave

Changes:
- AutomaticLeaveConfiguration: Replace only_bots_in_meeting_* with bot_name_patterns
- BotEventSubTypes: Remove LEAVE_REQUESTED_AUTO_LEAVE_ONLY_BOTS_IN_MEETING (28)
- WebBotAdapter/ZoomBotAdapter: Filter bots in participant counting logic
- Serializers: Update validation for bot_name_patterns
- OpenAPI: Update documentation
- Remove migration 0070 (no longer needed)
- Added DATA_DELETED state (10) to bot states list
- Added comprehensive Data Deletion section explaining:
  - What data gets deleted (recordings, transcripts, participants)
  - API endpoint usage (POST /api/v1/bots/{bot_id}/delete_data)
  - State requirements (ended or fatal_error)
  - Metadata retention for audit compliance
  - Irreversible nature of the operation

This addresses the missing documentation gap identified in the docs review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
- Use keyword matching instead of regex patterns for simplicity
- Split participant names on spaces, hyphens, and underscores
- Case-insensitive matching
- Fixes issue where 'Carole Bothin' would match 'Bot' pattern
noah-duncan and others added 30 commits February 1, 2026 23:23
…ory-upon-leave-for-web-bots

log browser history upon cleanup
…figurable-for-staging-gke

Make csrf origin configurable
…e-in-scheduler

Add logging statement for celery queue size
…-request-loop-migration-add-db-default

Add bot media request loop migration db default
…o-many-teams-websockets

Eliminate CPU surge when MS teams bot starts
…-video-click-in-teams-more-robust

Make video click in teams bot more robust
…try-that-has-possibility-of-causing-flood

Remove log entry can potentially cause log flooding
…r-locking-down-which-domains-can-be-loaded-in-chrome

Add option for locking down which domains can be loaded in chrome
Update to latest changes as of 09-02-26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants