[Bug] chat.z.ai model fallback offers MORE overloaded model when busy
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Bug Description
When using GLM-5 or GLM-Turbo on chat.z.ai and the model is at capacity, the system offers to switch to an alternative model that is also (or even more) overloaded.
Problem Behavior
Current (Broken) Flow:
User selects GLM-5 or Turbo
↓
Model gets busy / at capacity
↓
System shows: "Switch to GLM-5.1?" (or 5.2)
↓
User switches → NEW model is ALSO overloaded!
↓
Frustration loop continues...
Specific Scenarios Reported:
| Using Model | Offered Fallback | Problem |
|---|---|---|
| GLM-5 | Switch to 5.1 | 5.1 also overloaded |
| GLM-Turbo | Switch to 5.1/5.2 | Fallback also busy |
| GLM-5.1 | Switch to 5.2 | 5.2 even MORE overloaded |
User Quote:
"When using glm5 or turbo version and it got busy I am offered to switch to 5.1 and if using 5.1 then to 5.2. It is insane to offer model that is even more overloaded."
— Franta Vědomý svobody/Štěstíčko, 1:25 AM
Why This Is Problematic
User Experience Issues:
-
False Hope 🚫
- Suggesting a switch implies the alternative will work
- When it doesn't, user feels tricked/frustrated
-
Wasted Time ⏱️
- User switches, waits for new model to load
- Gets same error → has to switch again or give up
-
Confusion Loop 🔄
- 5 → 5.1 (busy) → 5.2 (busier) → ???
- No escape from the overload situation
-
Erodes Trust 💔
- Users stop believing system suggestions
- May abandon platform entirely during peak times
Root Cause Analysis
Likely Technical Issue:
// Current logic (probably):
if (currentModel.isBusy()) {
suggestFallback(getAlternativeModel()); // Doesn't check if fallback is ALSO busy!
}
// Should be:
if (currentModel.isBusy()) {
const fallback = findAvailableModel();
if (fallback && !fallback.isBusy()) {
suggestFallback(fallback);
} else {
showQueueOption(); // or show wait message
}
}
Possible Causes:
| Cause | Likelihood |
|---|---|
| Fallback doesn't check load status | 🔴 Very High |
| Load balancing not real-time | 🔴 High |
| Static fallback list (not dynamic) | 🟠 Medium |
| No capacity check before suggestion | 🔴 Very High |
| All models share same backend pool | 🟠 Medium |
Suggested Solutions
Solution A: Smart Fallback (Recommended)
Only offer fallback if it has actual available capacity:
1. Check current model load → Busy?
2. Query other models' load status
3. Only suggest models with < 80% capacity
4. If NO models available → Show queue/wait option instead
Solution B: Honest Status Display
Show actual load before switch:
┌─────────────────────────────────────┐
│ GLM-5 is currently at full capacity │
│ │
│ Available alternatives: │
│ • GLM-5.1 — 🟡 High Load (87%) │
│ • GLM-5.2 — 🔴 Full Capacity │
│ • Turbo — 🟢 Available │
│ │
│ [Wait in Queue] [Try Anyway] │
└─────────────────────────────────────┘
Solution C: Queue Instead of Switch
When ALL models busy:
- Don't offer misleading switches
- Show: "All models currently busy. Position in queue: #3"
- Auto-submit when capacity opens
- Related to Feature Request #191
Solution D: Priority-Based Routing
- Free/Paid users get different priority
- Show expected wait time per model
- Let user make informed choice
Expected vs Actual
| Aspect | Expected | Actual |
|---|---|---|
| Fallback suggestion | Working alternative | Also-overloaded model |
| Information given | Honest availability | Misleading suggestion |
| User action result | Can continue chatting | Same error again |
| Peak-time experience | Managed expectations | Frustration loop |
Reporter Information
- Platform: chat.z.ai web application
- Reporter: Franta Vědomý svobody/Štěstíčko
- Timestamp: 1:25 AM
- Models Affected: GLM-5, GLM-Turbo, GLM-5.1, GLM-5.2
Severity: P1 High
- Affects users during peak times (when they need it most)
- Creates frustrating loop with no escape
- Simple fix: check fallback availability before suggesting
- Relates to/could use same fix as Feature Request #191
Labels Suggested:
bug, model-switching, load-balancing, ux, peak-times, fallback
This bug creates a particularly bad UX during high-traffic periods when users need the platform most.
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 source files or tests are named. Start by reviewing related Feature Request #191, then locate the chat.z.ai model-switching and capacity-check entry points. Done means fallback suggestions reflect availability and provide a wait or queue path when alternatives are overloaded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- ai, backend-api-design, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100