qBittorrent Library card is stuck tall with a big empty gap
You open your dashboard and the qBittorrent Library card is a tall box — roughly 532 pixels — but the actual content (an empty or collapsed list) only reaches about 175 pixels. The rest is dead white space. Nothing is broken in qBittorrent; the card's height was pinned by the dashboard's grid layout and never shrank back to fit its shorter content.
Rather not touch layout code? SparkBox ships the corrected card and auto-resizes it to content, so the empty gap never appears. See the walkthrough →
The 10-second version: The Library card's height was locked to a fixed 532px and its auto-shrink logic was dead code, so it couldn't collapse to the ~175px its content actually needs. Update to a build with the fix, then reset your saved dashboard layout so the old pinned height clears and the card recalculates.
What you're actually seeing
The Library card is one tile on a grid-based dashboard. The grid is powered by gridstack — a JavaScript library that arranges draggable, resizable tiles and remembers where you put them. Each tile has a stored height value (called h in the layout).
When the Library has little or no content — an empty list, or a section collapsed shut — the visible content ends at about 175px. But the tile itself stayed locked at about 532px. That mismatch is the empty gap. This isn't a crash, a torrent error, or a corrupted file: it's purely a sizing problem in how the card reports its own height back to the grid.
Good to know: Your torrents, categories, and download paths live in qBittorrent, not in the dashboard card. Everything below is about presentation only. You cannot lose downloads by fixing this.
Cause 1 — gridstack pinned the card at a fixed height
The original design pinned the classic Library card to a fixed 532px. That height was fine when the card was full, but it left the card unable to follow its content downward when the content shrank. A collapsed-empty Library that ends near 175px still occupied the full 532px slot.
How to fix it
- Update the dashboard to a build that includes the Library card rework. The corrected card measures its real content height and lets the tile shrink to match, instead of holding a hard 532px floor.
- Reset your saved layout after updating. This is the step most people miss. The old 532px height is written into your saved grid layout, so even a fixed build reads the stale value on load. Clearing the saved layout lets the card recompute from scratch.
- Reload the dashboard. On the fresh layout, the card should size itself to the content that's actually there — short when empty, taller when full.
Gotcha: If you update but skip the layout reset, you'll swear the fix didn't work. It did — the grid is just replaying the old pinned number. Reset, then reload.
Cause 2 — the "did the user pin this?" check was dead code
A first attempt at the fix tried to be polite: only auto-shrink the card if the user hasn't deliberately set a height themselves. Reasonable idea. The problem was how it checked.
The gate asked, "does this widget have a saved height entry?" But the layout-saving routine (saveLayout()) persists a height value for every widget, every time — whether you resized it or not. So the "user pinned it?" answer was always yes. The auto-shrink branch behind that gate could never run. It was dead code: written, shipped, and never executed.
What this means for you
- You cannot fix this one from settings. There's no toggle for it — it was a logic flaw in an intermediate build. The real remedy was reworking the gate so it distinguishes an intentional user resize from the routine "save everything" write.
- Make sure you're on the reworked build, not the intermediate one where the shrink logic existed but never fired. If your card still refuses to shrink even after a layout reset, you're likely on the version with the dead gate.
- Check the release notes for the Library card rework. The corrected behavior lets the card auto-fit while still respecting a height you drag deliberately.
Cause 3 — the shrink comparison measured the wrong thing
The same intermediate attempt had a second flaw. To decide whether to shrink, it compared the tile height against content.scrollHeight — the total scrollable height of the content element.
Here's the trap: scrollHeight reports the full height of everything inside, including content that's hidden or overflowing. Reusing it for a "should I shrink?" decision gives you a stale or inflated number, so the card thinks it still needs all 532px even when the visible content collapsed to 175px. The comparison had to be reworked to measure the height the card genuinely needs, not the scroll extent of everything it could hold.
How to confirm you're clear of it
- Collapse the Library content (empty the list or shut the expandable section).
- Watch the card. On a corrected build it should tighten down to roughly the height of the remaining content — no large trailing blank.
- Expand it again. The card should grow back to fit. If it grows but never shrinks, you're still on a build using the old
scrollHeightcomparison.
Why "update then reset" is the whole fix: Cause 1 lives in your saved layout, so it needs a reset. Causes 2 and 3 live in the code, so they need an updated build. Do both and the card follows its content in both directions.
If you can't update right now
There's no clean settings-only workaround, because the shrink logic was broken in the shipped code path. The least-bad stopgap is to manually drag the card's resize handle down until its height matches the content you actually have. That deliberate resize sticks, so the visible gap disappears — but it's a manual patch, not a fix, and you'll redo it whenever the content changes. Updating to the reworked card is the durable answer.
Frequently asked
Why does my qBittorrent Library card have a big empty gap below its content?
The card's height was pinned to a fixed ~532px by the dashboard's grid layout, while an empty or collapsed Library only fills about 175px. The card never shrank back down to match the shorter content, so you see roughly 350px of blank space.
Is this a qBittorrent bug or a dashboard bug?
It's a layout bug in the dashboard card that displays qBittorrent, not in qBittorrent's download engine. Your torrents and settings are unaffected. The fix is in the card's auto-resize logic and your saved grid layout.
Will resetting my saved layout delete my qBittorrent data?
No. Resetting the saved layout only clears remembered card positions and heights. Your qBittorrent configuration, torrents, and downloads are stored separately and aren't touched.
I updated and it still won't shrink. What now?
The old pinned height is stored in your saved layout, so an update alone won't undo it. Reset the saved layout so the card can recalculate its height from the current content, then reload the dashboard.
Skip the layout tuning
SparkBox ships the reworked Library card and auto-fits it to content, so the tall empty qBittorrent card never shows up in the first place.