Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[BUG] Fluid Intelligence model download fails on a 1–2 s network drop and restarts from 0

Closed
#1,105 2 comments 0 reactions 0 assignees View on GitHub

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

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
  1. Open Settings → AI Providers → Fluid Intelligence and press Download on any model (Fluid 1 or Fluid 1 Pico).
  2. 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.
  3. The download fails immediately with "The network connection was lost."
  4. 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 Range request (or URLSession resume 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 URLSession tasks over HTTP/3 (QUIC). At 16:27:01.8 the connections reported unsatisfied (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.safetensors from altic-dev/FluidIntelligence on Hugging Face) with curl from the same Mac worked fine, at about 6 MB/s.
  • Unlike the Fluid 1 download, the Pico attempts log no download progress lines, 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from altic-dev/FluidVoice

All issues in altic-dev/FluidVoice

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.