Opening Settings → Local Inference corrupts shared UI state; all data pages go empty
- Ngôn ngữ chính
- Rust
- Star
- 54.2k
- Fork
- 6.2k
- Merge trung bình
- 3 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 240
Mô tả
**Describe the bug**
💡 Before filing, please check common issues:
https://goose-docs.ai/docs/troubleshooting
📦 To help us debug faster, attach your **diagnostics zip** if possible.
👉 How to capture it: https://goose-docs.ai/docs/troubleshooting/diagnostics-and-reporting/
A clear and concise description of what the bug is.
---
**To Reproduce**
Steps to reproduce the behavior:
1. Go to Settings - Local inference
2. Click on NOTHING
3. Than go to any other page (Scheduler, History, Skills, Receipts and so on)
4. See frozen UI without any data.
---
**Expected behavior**
All should work after I visit Local inference settings page.
---
**Screenshots**
My Histore page didn't load anything but there are a lot of dialogs in the left bar.
---
**Please provide the following information**
- MacOS (Intel) 14.7.4 (23H420)
- UI (Goose Desktop)
- 1.50.0 (latest)
- I disabled all plugins and extensions during debug this issue
- My own Llama.cpp server (on another computer with ubuntu) with moziAI-35B-A3B
---
**Additional context**
I discussed this problem a lot with `goose doctor` and tried all suggestions from it. It's final response:
```
# Bug: Opening Settings → Local Inference corrupts shared UI state; all data pages go empty
## Summary
Opening **Settings → Local Inference** in Goose Desktop leaves the entire app UI broken.
After opening that page and navigating away and back, every backend-backed page
(Receipts, Skills, Scheduler, History) renders empty. The backend (`goose serve`) stays
healthy and the on-disk session store is intact — this is a **frontend shared-state
corruption**, not a network, model-load, or data-loss issue.
## Environment
- App: Goose Desktop 1.49.0 (also reproduced on 1.50.0)
- OS: macOS 23.6.0 (x86_64)
- Active provider: `custom_llama` / model `moziai-35b-v3.7` (unchanged by the bug)
- Local models installed: **none** (see step 3 — reproducible with zero downloaded models)
## Reproduction steps
1. Start Goose (v1.49.0 or v1.50.0).
2. Confirm Receipts / Skills / Scheduler / History all load normally.
3. Open **Settings → Local Inference**. (Reproduces even with **zero** downloaded models —
no GGUF/llama-server is spawned.)
4. Switch to another settings page, then return.
## Observed behavior
- On the Local Inference page: after returning it shows "No available models" (even though
nothing was changed or deleted).
- Receipts, Skills, Scheduler, and History all become empty / fail to render.
- App appears "broken" — no further UI responses until restart.
## Verified NOT the cause (investigated)
- ❌ Not a network issue — HuggingFace endpoints reachable; no dependency on model download.
- ❌ Not a model-load issue — reproduces with **zero** downloaded models.
- ❌ Not a provider switch — `active_provider` stays `custom_llama`.
- ❌ Not backend/data loss — `goose serve` (PID alive, TLS ports up) and the on-disk
`Session Storage` leveldb remain intact; no model/corruption errors in logs.
## Root cause (provisional)
Opening Local Inference mutates a **shared frontend store** that every data page reads from.
The corruption persists across navigation, so all dependent pages render empty until the app
is restarted.
## Impact
High — the bug breaks core functionality (all data views) with a single page open and is
reproducible on both 1.49.0 and 1.50.0.
## Workaround
Restart Goose after opening Local Inference; avoid that page until fixed.
## Expected behavior
Opening Local Inference should not affect any other page's data rendering.
```
Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).
Hướng dẫn đóng góp
Hướng nghiên cứu
Bug nằm trong phần quản lý trạng thái dùng chung của frontend, nhiều khả năng là trong một store bị hỏng khi mở trang cài đặt Local Inference. Hãy bắt đầu bằng cách kiểm tra mã frontend dùng để quản lý trạng thái (ví dụ: Zustand, Redux hoặc một store tùy chỉnh) xung quanh logic cài đặt và lấy dữ liệu. Xem component hiển thị trang Local Inference và kiểm tra các mutation mà nó thực hiện. Tái hiện bug trên máy cục bộ bằng cách chạy ứng dụng desktop, sau đó kiểm tra các network request và log console khi điều hướng. Bản sửa lỗi cần cô lập mutation trạng thái để ngăn dữ liệu của các trang khác bị hỏng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, typescript
- Lĩnh vực
- desktop, frontend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 65/100