[Bug]: Prebuilt binary download 404s and falls back to a slow cargo build

Closed
#892 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
lua, neovim, rust

Research direction

Start in lua/fff/download.lua and trace how the local git checkout produces the release tag and download URL. Compare the failing 0.10.7-nightly.48c77f5 and -dev. versions with the working 0.10.7-nightly.c1ec5f3, then verify downloads across the affected version formats. Done means valid prebuilt binaries download without falling back to cargo build.

Written by the indexing model from the issue text.

Description

triaged
Which fff frontend?

Neovim plugin (fff.nvim)

has logs
INFO Downloading fff.nvim binary for 0.11.1-dev.62740ec
WARN Do not open fff until you see a success notification.
WARN Error downloading binary: Failed to download: curl: (56) The requested URL returned error: 404

Trying cargo build --release
INFO fff.nvim binary built successfully!
Description

Every time I update the plugin, the prebuilt binary download 404s and it falls back to cargo build --release, which takes forever. This has been happening for a few months now. I'm on macOS (Apple Silicon) using lazy.nvim.

Looking at lua/fff/download.lua, the download URL is built from a release tag that comes from my local git checkout, and it seems like that tag doesn't always exist as a release:

  • 0.10.7-nightly.48c77f5 gives a 404, while the commit right before it, 0.10.7-nightly.c1ec5f3, downloads fine.
  • I can't find any -dev. releases newer than 0.8.4-dev.180783f from May, even though the log shows a -dev. version.

The current main HEAD downloads fine for me, so it looks like only some commits or branches are affected.

Related: #623, #702

Dominant language
Rust
Stars
11.2k
Forks
473
Avg merge
2d 7h
Merged PRs (30d)
32

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 dmtrKovalenko/fff

All issues in dmtrKovalenko/fff

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.