[BUG] Fluid Intelligence model download fails on a 1–2 s network drop and restarts from 0
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 58/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- swift
- Domain
- backend, networking
Research direction
Start by reading the Fluid Intelligence model download path and compare it with CompactSpeechModelArchiveTransport, which the issue says already uses ranged downloads and keeps a partial file. Reproduce a brief network drop while downloading a model, then check whether downloaded bytes are retained and the transfer resumes. Done means a short outage can recover or a later retry continues from the partial download.
Written by the indexing model from the issue text.
Description
Describe the bug
A Fluid Intelligence model download fails as soon as the network drops for a second or two, and every retry starts again from 0. On a Wi-Fi connection with short, periodic dropouts, I can't get any model to download, not even Fluid 1 Pico (629 MB).
The error shown on the model card is:
Model download failed: The network connection was lost.
Other downloads on the same Mac survive these dropouts: browsers and curl with retries carry on once the network is back. The app's own speech-model downloader (CompactSpeechModelArchiveTransport) already downloads in ranges and keeps an archive.partial file. The Fluid Intelligence downloader doesn't seem to do either.
Reproduction steps
- Open Settings → AI Providers → Fluid Intelligence and press Download on any model (Fluid 1 or Fluid 1 Pico).
- While it downloads, cut the network for about 2 seconds. Turning Wi-Fi off and on again should reproduce it. In my case the router's band steering caused the drops, see below.
- The download fails immediately with "The network connection was lost."
- Press Download again. It starts from 0, and the model folder (
~/Library/Application Support/FluidIntelligence/Models/<model>/) is empty.
Expected behavior
- A short network loss shouldn't fail the download. Wait for the connection to come back (
waitsForConnectivity, or retry with backoff for a reasonable time) and continue. - If it does have to stop, keep the bytes already downloaded and resume with an HTTP
Rangerequest (orURLSessionresume data) instead of starting over. Hugging Face and its CDN support range requests. - Only fail after the network has been gone for a while, and keep the partial file so a later retry resumes.
Actual behavior
From ~/Library/Logs/Fluid/Fluid.log (progress lines trimmed):
[16:11:14.355] Private provider model download requested model=fluid-1 target=~/Library/Application Support/FluidIntelligence/Models/fluid-1-nvfp4-mlx/model.safetensors
[16:13:08.487] Private provider download progress model=fluid-1 progress=31% bytes=1.2 GB/3.77 GB
[16:13:09.437] Private provider model download failed model=fluid-1 error=Model download failed: The network connection was lost.
[16:13:50.786] Private provider download button pressed model=fluid-1-pico-96k-dflash
[16:13:59.187] Model operation failed model=fluid-1-pico-96k-dflash: Model download failed: The network connection was lost.
[16:19:30.471] Private provider download button pressed model=fluid-1-pico-96k-dflash
[16:20:19.957] Model operation failed model=fluid-1-pico-96k-dflash: Model download failed: The network connection was lost.
[16:20:27.444] Private provider download button pressed model=fluid-1-pico-96k-dflash
[16:20:37.218] Model operation failed model=fluid-1-pico-96k-dflash: Model download failed: The network connection was lost.
[16:26:10.425] Private provider download button pressed model=fluid-1-pico-96k-dflash
[16:27:01.867] Model operation failed model=fluid-1-pico-96k-dflash: Model download failed: The network connection was lost.
Every failure lines up with a Wi-Fi dropout in the macOS system log. Each time the Mac was off the network for about 2 seconds:
| Download failed | Wi-Fi link down | Wi-Fi back (IP) |
|---|---|---|
| 16:13:09 | 16:13:08 | 16:13:10 |
| 16:13:59 | 16:13:58 | 16:14:00 |
| 16:20:19 | 16:20:19 | 16:20:21 |
| 16:20:37 | 16:20:36 | 16:20:38 |
| 16:27:01 | 16:27:01 | 16:27:03 |
(The dropouts come from my router's band steering, which keeps pushing the Mac from 2.4 GHz to 5 GHz, so the cause is on my side. But the app could easily ride out a 2-second gap.)
Other details:
- The system log shows the download running as 4 parallel
URLSessiontasks over HTTP/3 (QUIC). At 16:27:01.8 the connections reportedunsatisfied (No network route), and the whole download failed right away instead of waiting for the route to return. - Downloading the same file (
models/fluid-1-pico/model.safetensorsfromaltic-dev/FluidIntelligenceon Hugging Face) withcurlfrom the same Mac worked fine, at about 6 MB/s. - Unlike the Fluid 1 download, the Pico attempts log no
download progresslines, so the log doesn't show how far they got.
Related: #1035 (a quit throws the partial download away and the next attempt restarts from zero). That issue was closed for lack of a reply. This one is the same lack of resume, but triggered by a brief network loss instead of a quit.
App Version
1.6.11 (build 28)
macOS Version
macOS 27.0.1 (26A434)
Architecture
Apple Silicon
- Dominant language
- Swift
- Stars
- 11.9k
- Forks
- 863
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 28
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from altic-dev/FluidVoice
-
bug
Difficulty 4/5 1-2 days Newbie friendliness 35/100
altic-dev/FluidVoice#1138 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 10/100
altic-dev/FluidVoice#1137 ·
Maintainers usually reply within 1 day
-
[FEATURE] FluidMeet: recover excluded microphone audio after the call with offline echo cancellationOpen
Difficulty 5/5 Over a week Newbie friendliness 15/100
altic-dev/FluidVoice#1136 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
altic-dev/FluidVoice#1135 · 1 comment ·
Maintainers usually reply within 1 day
-
[BUG]Openbug
Difficulty 4/5 3-5 days Newbie friendliness 15/100
altic-dev/FluidVoice#1133 ·
Maintainers usually reply within 1 day
All issues in altic-dev/FluidVoice
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
freestylefly/WeChatBridge#44 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 Half a day Newbie friendliness 62/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
capawesome-team/capacitor-plugins#1134 ·
Maintainers usually reply within 1 day
-
OpenAILanguageModel replays tool-call arguments as GeneratedContent's Codable form, not JSONPossibly taken @gtokman claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
huggingface/AnyLanguageModel#324 ·
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
kabirvashisht4-glitch/Vet#22 ·