Skip to content
This repository was archived by the owner on Feb 18, 2026. It is now read-only.

feat: multi-account support and OAuth tokens management#17

Open
benzntech wants to merge 2 commits into9j:mainfrom
benzntech:main
Open

feat: multi-account support and OAuth tokens management#17
benzntech wants to merge 2 commits into9j:mainfrom
benzntech:main

Conversation

@benzntech
Copy link

Summary

This PR adds multi-account load balancing support and dedicated OAuth token management to the admin UI.

Changes

Commit 1: Multi-account load balancing with UI management

  • Add multi-account support to provider configuration with round-robin balancing
  • Implement account management UI in admin panel (add/edit/remove accounts)
  • Add UUID and atomic write dependencies for account ID generation and persistence
  • Pre-fill auth_type when editing providers to fix OAuth display bug
  • Show account count on provider cards in admin panel
  • Update README with multi-account features documentation

Commit 2: Dedicated OAuth Tokens management tab

  • Create new 'OAuth Tokens' tab in admin UI navigation
  • Move OAuth token management to dedicated page for better organization
  • Keep OAuth tokens section in Settings tab as well (available in both places)
  • Update loadOAuthTokens() to populate both Settings and OAuth Tokens tabs
  • Add null check in handleRoute() to prevent errors when tab content doesn't exist
  • Both tabs show same token list with refresh and delete buttons

Files Modified

  • Cargo.toml - Added UUID and atomic_write dependencies
  • README.md - Updated documentation with multi-account features
  • src/cli/mod.rs - CLI support for multi-account management
  • src/providers/mod.rs - Provider management with multi-account logic
  • src/providers/registry.rs - Registry updates for account handling
  • src/server/admin.html - UI enhancements for accounts and OAuth tokens

Architecture

All changes follow the existing localStorage-based state management pattern:

  • Page load: Fetch from server → save to localStorage
  • All operations: Update localStorage only
  • Save buttons: Sync localStorage → server

- Add multi-account support to provider configuration with round-robin balancing
- Implement account management UI in admin panel (add/edit/remove accounts)
- Add UUID and atomic write dependencies for account ID generation and persistence
- Pre-fill auth_type when editing providers to fix OAuth display bug
- Show account count on provider cards in admin panel
- Update README with multi-account features documentation
- All changes follow existing localStorage-based state management pattern
- Create new 'OAuth Tokens' tab in admin UI navigation
- Move OAuth token management to dedicated page for better organization
- Keep OAuth tokens section in Settings tab as well (available in both places)
- Update loadOAuthTokens() to populate both Settings and OAuth Tokens tabs
- Add null check in handleRoute() to prevent errors when tab content doesn't exist
- Both tabs show same token list with refresh and delete buttons
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant