[Feature Request] Model capacity indicator & queue system for chat.z.ai
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Feature Description
Add a real-time capacity indicator to the chat.z.ai web application that shows users whether the AI model is currently at full capacity, and optionally implement an automatic queue system for messages.
Problem Statement
Currently, users have no way of knowing if the model is at maximum capacity before sending a message. The workflow is:
- User types a message
- User presses Send
- User waits (hoping the model isn't overloaded)
- Either: Message processes successfully OR user gets an error/timeout
This creates:
- β±οΈ Wasted time waiting for responses that may never come
- π€ Poor UX β users feel like they're "gambling" on each message
- π Frustration β especially for longer prompts where the wait time is significant
Proposed Solution
Part A: Capacity Status Indicator
A visual UI element in the chat interface that shows real-time model capacity status:
Visual Design Options:
βββββββββββββββββββββββββββββββββββββββ
β π’ Model Available [Send Enabled] β β Normal operation
β π‘ High Load [Send Enabled] β β Warning: may be slower
β π΄ At Capacity [Send Disabled]β β Cannot process now
β β‘ Queue: 3 ahead [Queued] β β In queue (Part B)
βββββββββββββββββββββββββββββββββββββββ
Placement Suggestions:
- Near the input box β Bottom of chat window, adjacent to Send button
- Header area β Top of chat interface, always visible
- Status bar β Thin bar above or below input area
Behavior:
- Green (Available): Model has capacity, normal operation
- Yellow (High Load): Model busy but accepting requests, expect delays
- Red (At Capacity):
- Show warning message
- Disable Send button (prevent failed submissions)
- Display estimated wait time if available
- Polling: Update status every 5-10 seconds via WebSocket or REST ping
Part B: Automatic Queue System (Enhanced)
When the model is at capacity, instead of blocking the user entirely:
How It Works:
- User types message and presses Send (or presses "Queue")
- If model is at capacity, message enters queue position
- UI shows: "You're #3 in queue. Estimated wait: ~2 minutes"
- When capacity opens, message automatically submits
- User receives notification/response normally
Queue Features:
- β Position indicator: Shows current queue position
- β±οΈ ETA display: Estimated time based on average processing
- β Cancel option: User can remove themselves from queue
- π Notification: Alert when message is being processed
- πΎ Persistence: Queue survives page refreshes (session-based)
Edge Cases:
- Queue limit: Max 10-20 messages per user/session to prevent abuse
- Timeout: Auto-remove from queue after 10 minutes if not processed
- Session expiry: Clear queue when session ends
Technical Implementation Suggestions
Backend Changes:
1. New Endpoint: GET /api/v1/model/status
Response: {
"status": "available" | "high_load" | "at_capacity",
"current_load": 85,
"max_capacity": 100,
"queue_position": null | number,
"estimated_wait_seconds": null | number
}
2. New Endpoint: POST /api/v1/messages/queue
Response: {
"queued": true,
"position": 3,
"estimated_wait_seconds": 120,
"queue_id": "uuid-here"
}
3. WebSocket Event: model:status:update
Push real-time capacity changes to connected clients
Frontend Changes:
// Pseudocode for capacity check
const checkCapacity = async () => {
const status = await fetch(/api/v1/model/status);
updateUI(status);
if (status.status === at_capacity) {
disableSendButton();
showQueueOption();
}
};
// Poll every 8 seconds
setInterval(checkCapacity, 8000);
User Experience Flow
Before (Current):
User types β Sends β Waits blindly β Error? β Retry? β Frustrated π©
After (Proposed):
User sees π’ β Types β Sends β Works! β
β
User sees π΄ β Sees warning β Queues or waits β Auto-sends β Happy π
Benefits
| Benefit | Impact |
|---|---|
| Reduced frustration | Users know what to expect before waiting |
| Better resource management | Server doesn't process doomed requests |
| Professional feel | Competitors like ChatGPT/Claude show status indicators |
| Trust building | Transparency about system status |
| Lower support load | Fewer "is it broken?" complaints |
Priority Assessment
- Effort: Medium (backend endpoint + frontend component)
- Value: High (affects every user during peak times)
- Urgency: High (peak-time UX is currently poor)
Reporter Information
- Source: Discord (#feedback channel)
- Reporter: Rousev [PEAK]
- Timestamp: 2026-07-27 ~6:31 PM - 6:34 PM
- Original Context: https://discordapp.com/channels/1346756824233148527/1531306147104161802
This feature request was submitted on behalf of user feedback from Discord.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up β it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files, tests, or existing entry points are named. Start by reviewing the proposed model-status and message-queue API contracts and the chat input/send UI scope, then clarify whether both parts are required; done should include an agreed design, implementation scope, and validation for status updates, queue behavior, cancellation, persistence, and failure cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend-api-design, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100