Skip to content

fix(pprof): bind to configurable loopback address instead of :6060 - #2044

Merged
s0up4200 merged 1 commit into
developfrom
fix/pprof-configurable-addr
Jun 20, 2026
Merged

fix(pprof): bind to configurable loopback address instead of :6060#2044
s0up4200 merged 1 commit into
developfrom
fix/pprof-configurable-addr

Conversation

@s0up4200

@s0up4200 s0up4200 commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

pprof hardcoded :6060 (i.e. 0.0.0.0:6060), which fails to bind when another listener in the same network namespace already owns the port — e.g. running qui behind a Tailscale sidecar that serves :6060. The profiler then silently never starts (listen tcp :6060: bind: address already in use), so QUI__PPROF_ENABLED=true looks enabled but yields nothing to profile.

This defaults the pprof bind address to 127.0.0.1:6060 (also safer than a wildcard) and adds QUI__PPROF_ADDR / pprofAddr to override it. With loopback binding, an existing tailscale serve :6060 -> http://127.0.0.1:6060 mapping works as intended.

Summary by CodeRabbit

  • New Features

    • The pprof profiling listener address is now configurable via the QUI__PPROF_ADDR environment variable or configuration file, with a default of 127.0.0.1:6060.
  • Documentation

    • Updated configuration documentation to reflect the new pprof address configuration option.

pprof hardcoded ":6060" (0.0.0.0), so it fails to bind when another
listener in a shared network namespace already owns the port — e.g. a
Tailscale sidecar serving :6060 — and the profiler silently never starts
(logged as "address already in use").

Default the bind address to 127.0.0.1:6060 (also safer than a wildcard)
and add QUI__PPROF_ADDR / pprofAddr to override it.
@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: e300033f-2df8-4b83-ace0-58e7380e4ea7

📥 Commits

Reviewing files that changed from the base of the PR and between a69ae69 and 7df97f2.

📒 Files selected for processing (5)
  • cmd/qui/main.go
  • documentation/docs/configuration/environment.md
  • documentation/docs/configuration/reference.md
  • internal/config/config.go
  • internal/domain/config.go

Walkthrough

A new PprofAddr configuration field is added to the Config struct and wired through Viper with a default of 127.0.0.1:6060, an env binding to QUI__PPROF_ADDR, and hydration into the loaded config. The pprof HTTP server startup now uses this configurable address instead of the hardcoded :6060. CLI flag help text and configuration docs are updated accordingly.

Changes

Configurable pprof bind address

Layer / File(s) Summary
Config struct and Viper wiring
internal/domain/config.go, internal/config/config.go
PprofAddr string field added to Config with toml/mapstructure tags; Viper default (127.0.0.1:6060), env binding (QUI__PPROF_ADDR), and hydration into c.Config.PprofAddr are registered.
Server startup, flag text, and docs
cmd/qui/main.go, documentation/docs/configuration/environment.md, documentation/docs/configuration/reference.md
Server startup resolves pprofAddr from cfg.Config.PprofAddr (falls back to 127.0.0.1:6060) and passes it to http.ListenAndServe; --pprof flag help text updated; QUI__PPROF_ADDR and pprofAddr entries added to environment and reference docs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇 A bunny once tripped on a fixed :6060,
Now addresses flex, no more rigid voodoo.
QUI__PPROF_ADDR sets the stage,
127.0.0.1 rules the page.
Hop, hop—configure as you wish!
Profiling served on a custom dish. 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately reflects the main change: making pprof bind to a configurable loopback address (127.0.0.1:6060) instead of the hardcoded :6060.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pprof-configurable-addr

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@s0up4200
s0up4200 merged commit 91ad7e4 into develop Jun 20, 2026
12 of 13 checks passed
@s0up4200
s0up4200 deleted the fix/pprof-configurable-addr branch June 20, 2026 06:10
ajgon pushed a commit to deedee-ops/home-ops that referenced this pull request Jun 26, 2026
…#160)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui) | minor | `v1.20.0` → `v1.21.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/7) for more information.

---

### Release Notes

<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>

### [`v1.21.0`](https://github.com/autobrr/qui/releases/tag/v1.21.0)

[Compare Source](autobrr/qui@v1.20.0...v1.21.0)

##### Changelog

##### New Features

- [`51b29a1`](autobrr/qui@51b29a1): feat(api): add GET /api/version reporting the running version ([#&#8203;2060](autobrr/qui#2060)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`98348f1`](autobrr/qui@98348f1): feat(automations): add RLS\_YEAR release-year condition ([#&#8203;2003](autobrr/qui#2003)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`58cc7cb`](autobrr/qui@58cc7cb): feat(automations): add tracker status and message conditions ([#&#8203;2006](autobrr/qui#2006)) ([@&#8203;luckylittle](https://github.com/luckylittle))
- [`2176a92`](autobrr/qui@2176a92): feat(automations): list configured indexer trackers in workflow selector ([#&#8203;2005](autobrr/qui#2005)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`2de926e`](autobrr/qui@2de926e): feat(i18n): add Italian (it) translation ([#&#8203;2011](autobrr/qui#2011)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7b66655`](autobrr/qui@7b66655): feat(i18n): add Korean (ko) translation ([#&#8203;2042](autobrr/qui#2042)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`2c06a3d`](autobrr/qui@2c06a3d): feat(i18n): add Ukrainian (uk) translation ([#&#8203;2032](autobrr/qui#2032)) ([@&#8203;rodion981](https://github.com/rodion981))
- [`ef8da0b`](autobrr/qui@ef8da0b): feat(sse): keep cached torrents with a staleness badge when qBittorrent is slow ([#&#8203;2057](autobrr/qui#2057)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`38ebb6e`](autobrr/qui@38ebb6e): feat(web): add file priority controls to torrent file views ([#&#8203;2062](autobrr/qui#2062)) ([@&#8203;jussaw](https://github.com/jussaw))

##### Bug Fixes

- [`12ac536`](autobrr/qui@12ac536): fix(ci): skip release binary build on main pushes ([#&#8203;2008](autobrr/qui#2008)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`57210a3`](autobrr/qui@57210a3): fix(crossseed): drop resolution token from TV search queries ([#&#8203;2017](autobrr/qui#2017)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`791bc7d`](autobrr/qui@791bc7d): fix(crossseed): inject rootless single-file adds into matched folder ([#&#8203;2029](autobrr/qui#2029)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`3da437f`](autobrr/qui@3da437f): fix(crossseed): re-query indexers with no usable hit in the alternate connector pass ([#&#8203;2002](autobrr/qui#2002)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`8e8b6d9`](autobrr/qui@8e8b6d9): fix(database): prevent int4 sequence exhaustion in Postgres string interning ([#&#8203;2015](autobrr/qui#2015)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`c7e08b9`](autobrr/qui@c7e08b9): fix(db): index string\_pool FK columns so GC stops timing out ([#&#8203;2051](autobrr/qui#2051)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2553f75`](autobrr/qui@2553f75): fix(docs): use relative file paths for markdown links ([#&#8203;2013](autobrr/qui#2013)) ([@&#8203;nasenov](https://github.com/nasenov))
- [`8a9c2fc`](autobrr/qui@8a9c2fc): fix(i18n): improve French translation, fix hardcoded UI statuses, and update agent rules ([#&#8203;2014](autobrr/qui#2014)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`190d936`](autobrr/qui@190d936): fix(jackett): decouple cache persistence from SkipHistory ([#&#8203;2056](autobrr/qui#2056)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`91ad7e4`](autobrr/qui@91ad7e4): fix(pprof): bind to configurable loopback address instead of :6060 ([#&#8203;2044](autobrr/qui#2044)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`10e2d02`](autobrr/qui@10e2d02): fix(qbittorrent): serve stale app info/preferences when refresh fails ([#&#8203;2054](autobrr/qui#2054)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6d3b04c`](autobrr/qui@6d3b04c): fix(sse): resolve sync-error staleness stamp off the sync-loop callback ([#&#8203;2065](autobrr/qui#2065)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`677e8f4`](autobrr/qui@677e8f4): fix(sse): send torrent page deltas instead of full snapshots ([#&#8203;2047](autobrr/qui#2047)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`a4d252b`](autobrr/qui@a4d252b): fix(sse): size full-sync timeout to prevent permanent disconnect on large instances ([#&#8203;2037](autobrr/qui#2037)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`4f375c6`](autobrr/qui@4f375c6): fix(torrents): route unified view exports to the owning instance ([#&#8203;2018](autobrr/qui#2018)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`d49e168`](autobrr/qui@d49e168): fix(web): move instance status bar back to bottom of screen ([#&#8203;2024](autobrr/qui#2024)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`a69ae69`](autobrr/qui@a69ae69): fix(web): prevent framer-motion tab indicator from triggering layout shifts ([#&#8203;2025](autobrr/qui#2025)) ([@&#8203;OlziYT](https://github.com/OlziYT))

##### Other Changes

- [`860b5bb`](autobrr/qui@860b5bb): chore(deps): bump anthropics/claude-code-action from 1.0.140 to 1.0.148 in the github group ([#&#8203;2045](autobrr/qui#2045)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0b23a7d`](autobrr/qui@0b23a7d): chore(deps): bump the github group with 2 updates ([#&#8203;2031](autobrr/qui#2031)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`1fea36b`](autobrr/qui@1fea36b): docs: document frontend testing conventions ([#&#8203;1984](autobrr/qui#1984)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`f3443ec`](autobrr/qui@f3443ec): docs: promote multi-language support ([#&#8203;2009](autobrr/qui#2009)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`df88e63`](autobrr/qui@df88e63): test(web): add coverage for hooks and lib/api.ts contract layer ([#&#8203;1931](autobrr/qui#1931)) ([#&#8203;1998](autobrr/qui#1998)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))

**Full Changelog**: <autobrr/qui@v1.20.0...v1.21.0>

##### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.21.0`
- `docker pull ghcr.io/autobrr/qui:latest`

##### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Warsaw)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/160
hbjydev pushed a commit to hbjydev/phoebe that referenced this pull request Jul 10, 2026
… (#200)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui) | minor | `v1.20.0` → `v1.22.0` |

---

### Release Notes

<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>

### [`v1.22.0`](https://github.com/autobrr/qui/releases/tag/v1.22.0)

[Compare Source](autobrr/qui@v1.21.0...v1.22.0)

##### Changelog

##### New Features

- [`5b9326e`](autobrr/qui@5b9326e): feat(web): add copy path option to content tab context menu ([#&#8203;933](autobrr/qui#933)) ([@&#8203;lenisko](https://github.com/lenisko))
- [`3a4383d`](autobrr/qui@3a4383d): feat(web): add kanagawa themes ([#&#8203;2069](autobrr/qui#2069)) ([@&#8203;notmarek](https://github.com/notmarek))
- [`db77a17`](autobrr/qui@db77a17): feat(web): shift+click range select in torrent content tab ([#&#8203;2081](autobrr/qui#2081)) ([@&#8203;jussaw](https://github.com/jussaw))

##### Bug Fixes

- [`b563d4b`](autobrr/qui@b563d4b): fix(sync): keep SSE aggregates fresh without tracker hydration ([#&#8203;2072](autobrr/qui#2072)) ([@&#8203;Audionut](https://github.com/Audionut))

##### Other Changes

- [`d428313`](autobrr/qui@d428313): chore(deps): bump the github group with 5 updates ([#&#8203;2073](autobrr/qui#2073)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])

**Full Changelog**: <autobrr/qui@v1.21.0...v1.22.0>

##### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.22.0`
- `docker pull ghcr.io/autobrr/qui:latest`

##### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

### [`v1.21.0`](https://github.com/autobrr/qui/releases/tag/v1.21.0)

[Compare Source](autobrr/qui@v1.20.0...v1.21.0)

##### Changelog

##### New Features

- [`51b29a1`](autobrr/qui@51b29a1): feat(api): add GET /api/version reporting the running version ([#&#8203;2060](autobrr/qui#2060)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`98348f1`](autobrr/qui@98348f1): feat(automations): add RLS\_YEAR release-year condition ([#&#8203;2003](autobrr/qui#2003)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`58cc7cb`](autobrr/qui@58cc7cb): feat(automations): add tracker status and message conditions ([#&#8203;2006](autobrr/qui#2006)) ([@&#8203;luckylittle](https://github.com/luckylittle))
- [`2176a92`](autobrr/qui@2176a92): feat(automations): list configured indexer trackers in workflow selector ([#&#8203;2005](autobrr/qui#2005)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`2de926e`](autobrr/qui@2de926e): feat(i18n): add Italian (it) translation ([#&#8203;2011](autobrr/qui#2011)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7b66655`](autobrr/qui@7b66655): feat(i18n): add Korean (ko) translation ([#&#8203;2042](autobrr/qui#2042)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`2c06a3d`](autobrr/qui@2c06a3d): feat(i18n): add Ukrainian (uk) translation ([#&#8203;2032](autobrr/qui#2032)) ([@&#8203;rodion981](https://github.com/rodion981))
- [`ef8da0b`](autobrr/qui@ef8da0b): feat(sse): keep cached torrents with a staleness badge when qBittorrent is slow ([#&#8203;2057](autobrr/qui#2057)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`38ebb6e`](autobrr/qui@38ebb6e): feat(web): add file priority controls to torrent file views ([#&#8203;2062](autobrr/qui#2062)) ([@&#8203;jussaw](https://github.com/jussaw))

##### Bug Fixes

- [`12ac536`](autobrr/qui@12ac536): fix(ci): skip release binary build on main pushes ([#&#8203;2008](autobrr/qui#2008)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`57210a3`](autobrr/qui@57210a3): fix(crossseed): drop resolution token from TV search queries ([#&#8203;2017](autobrr/qui#2017)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`791bc7d`](autobrr/qui@791bc7d): fix(crossseed): inject rootless single-file adds into matched folder ([#&#8203;2029](autobrr/qui#2029)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`3da437f`](autobrr/qui@3da437f): fix(crossseed): re-query indexers with no usable hit in the alternate connector pass ([#&#8203;2002](autobrr/qui#2002)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`8e8b6d9`](autobrr/qui@8e8b6d9): fix(database): prevent int4 sequence exhaustion in Postgres string interning ([#&#8203;2015](autobrr/qui#2015)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`c7e08b9`](autobrr/qui@c7e08b9): fix(db): index string\_pool FK columns so GC stops timing out ([#&#8203;2051](autobrr/qui#2051)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2553f75`](autobrr/qui@2553f75): fix(docs): use relative file paths for markdown links ([#&#8203;2013](autobrr/qui#2013)) ([@&#8203;nasenov](https://github.com/nasenov))
- [`8a9c2fc`](autobrr/qui@8a9c2fc): fix(i18n): improve French translation, fix hardcoded UI statuses, and update agent rules ([#&#8203;2014](autobrr/qui#2014)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`190d936`](autobrr/qui@190d936): fix(jackett): decouple cache persistence from SkipHistory ([#&#8203;2056](autobrr/qui#2056)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`91ad7e4`](autobrr/qui@91ad7e4): fix(pprof): bind to configurable loopback address instead of :6060 ([#&#8203;2044](autobrr/qui#2044)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`10e2d02`](autobrr/qui@10e2d02): fix(qbittorrent): serve stale app info/preferences when refresh fails ([#&#8203;2054](autobrr/qui#2054)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6d3b04c`](autobrr/qui@6d3b04c): fix(sse): resolve sync-error staleness stamp off the sync-loop callback ([#&#8203;2065](autobrr/qui#2065)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`677e8f4`](autobrr/qui@677e8f4): fix(sse): send torrent page deltas instead of full snapshots ([#&#8203;2047](autobrr/qui#2047)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`a4d252b`](autobrr/qui@a4d252b): fix(sse): size full-sync timeout to prevent permanent disconnect on large instances ([#&#8203;2037](autobrr/qui#2037)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`4f375c6`](autobrr/qui@4f375c6): fix(torrents): route unified view exports to the owning instance ([#&#8203;2018](autobrr/qui#2018)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`d49e168`](autobrr/qui@d49e168): fix(web): move instance status bar back to bottom of screen ([#&#8203;2024](autobrr/qui#2024)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`a69ae69`](autobrr/qui@a69ae69): fix(web): prevent framer-motion tab indicator from triggering layout shifts ([#&#8203;2025](autobrr/qui#2025)) ([@&#8203;OlziYT](https://github.com/OlziYT))

##### Other Changes

- [`860b5bb`](autobrr/qui@860b5bb): chore(deps): bump anthropics/claude-code-action from 1.0.140 to 1.0.148 in the github group ([#&#8203;2045](autobrr/qui#2045)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0b23a7d`](autobrr/qui@0b23a7d): chore(deps): bump the github group with 2 updates ([#&#8203;2031](autobrr/qui#2031)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`1fea36b`](autobrr/qui@1fea36b): docs: document frontend testing conventions ([#&#8203;1984](autobrr/qui#1984)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`f3443ec`](autobrr/qui@f3443ec): docs: promote multi-language support ([#&#8203;2009](autobrr/qui#2009)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`df88e63`](autobrr/qui@df88e63): test(web): add coverage for hooks and lib/api.ts contract layer ([#&#8203;1931](autobrr/qui#1931)) ([#&#8203;1998](autobrr/qui#1998)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))

**Full Changelog**: <autobrr/qui@v1.20.0...v1.21.0>

##### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.21.0`
- `docker pull ghcr.io/autobrr/qui:latest`

##### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/London)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://forgejo.hayden.moe/hayden/phoebe/pulls/200
ajgon pushed a commit to deedee-ops/home-ops that referenced this pull request Jul 20, 2026
…#160)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui) | minor | `v1.20.0` → `v1.21.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/7) for more information.

---

### Release Notes

<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>

### [`v1.21.0`](https://github.com/autobrr/qui/releases/tag/v1.21.0)

[Compare Source](autobrr/qui@v1.20.0...v1.21.0)

##### Changelog

##### New Features

- [`51b29a1`](autobrr/qui@51b29a1): feat(api): add GET /api/version reporting the running version ([#&#8203;2060](autobrr/qui#2060)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`98348f1`](autobrr/qui@98348f1): feat(automations): add RLS\_YEAR release-year condition ([#&#8203;2003](autobrr/qui#2003)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`58cc7cb`](autobrr/qui@58cc7cb): feat(automations): add tracker status and message conditions ([#&#8203;2006](autobrr/qui#2006)) ([@&#8203;luckylittle](https://github.com/luckylittle))
- [`2176a92`](autobrr/qui@2176a92): feat(automations): list configured indexer trackers in workflow selector ([#&#8203;2005](autobrr/qui#2005)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`2de926e`](autobrr/qui@2de926e): feat(i18n): add Italian (it) translation ([#&#8203;2011](autobrr/qui#2011)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7b66655`](autobrr/qui@7b66655): feat(i18n): add Korean (ko) translation ([#&#8203;2042](autobrr/qui#2042)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`2c06a3d`](autobrr/qui@2c06a3d): feat(i18n): add Ukrainian (uk) translation ([#&#8203;2032](autobrr/qui#2032)) ([@&#8203;rodion981](https://github.com/rodion981))
- [`ef8da0b`](autobrr/qui@ef8da0b): feat(sse): keep cached torrents with a staleness badge when qBittorrent is slow ([#&#8203;2057](autobrr/qui#2057)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`38ebb6e`](autobrr/qui@38ebb6e): feat(web): add file priority controls to torrent file views ([#&#8203;2062](autobrr/qui#2062)) ([@&#8203;jussaw](https://github.com/jussaw))

##### Bug Fixes

- [`12ac536`](autobrr/qui@12ac536): fix(ci): skip release binary build on main pushes ([#&#8203;2008](autobrr/qui#2008)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`57210a3`](autobrr/qui@57210a3): fix(crossseed): drop resolution token from TV search queries ([#&#8203;2017](autobrr/qui#2017)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`791bc7d`](autobrr/qui@791bc7d): fix(crossseed): inject rootless single-file adds into matched folder ([#&#8203;2029](autobrr/qui#2029)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`3da437f`](autobrr/qui@3da437f): fix(crossseed): re-query indexers with no usable hit in the alternate connector pass ([#&#8203;2002](autobrr/qui#2002)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`8e8b6d9`](autobrr/qui@8e8b6d9): fix(database): prevent int4 sequence exhaustion in Postgres string interning ([#&#8203;2015](autobrr/qui#2015)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`c7e08b9`](autobrr/qui@c7e08b9): fix(db): index string\_pool FK columns so GC stops timing out ([#&#8203;2051](autobrr/qui#2051)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2553f75`](autobrr/qui@2553f75): fix(docs): use relative file paths for markdown links ([#&#8203;2013](autobrr/qui#2013)) ([@&#8203;nasenov](https://github.com/nasenov))
- [`8a9c2fc`](autobrr/qui@8a9c2fc): fix(i18n): improve French translation, fix hardcoded UI statuses, and update agent rules ([#&#8203;2014](autobrr/qui#2014)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`190d936`](autobrr/qui@190d936): fix(jackett): decouple cache persistence from SkipHistory ([#&#8203;2056](autobrr/qui#2056)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`91ad7e4`](autobrr/qui@91ad7e4): fix(pprof): bind to configurable loopback address instead of :6060 ([#&#8203;2044](autobrr/qui#2044)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`10e2d02`](autobrr/qui@10e2d02): fix(qbittorrent): serve stale app info/preferences when refresh fails ([#&#8203;2054](autobrr/qui#2054)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6d3b04c`](autobrr/qui@6d3b04c): fix(sse): resolve sync-error staleness stamp off the sync-loop callback ([#&#8203;2065](autobrr/qui#2065)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`677e8f4`](autobrr/qui@677e8f4): fix(sse): send torrent page deltas instead of full snapshots ([#&#8203;2047](autobrr/qui#2047)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`a4d252b`](autobrr/qui@a4d252b): fix(sse): size full-sync timeout to prevent permanent disconnect on large instances ([#&#8203;2037](autobrr/qui#2037)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`4f375c6`](autobrr/qui@4f375c6): fix(torrents): route unified view exports to the owning instance ([#&#8203;2018](autobrr/qui#2018)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`d49e168`](autobrr/qui@d49e168): fix(web): move instance status bar back to bottom of screen ([#&#8203;2024](autobrr/qui#2024)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`a69ae69`](autobrr/qui@a69ae69): fix(web): prevent framer-motion tab indicator from triggering layout shifts ([#&#8203;2025](autobrr/qui#2025)) ([@&#8203;OlziYT](https://github.com/OlziYT))

##### Other Changes

- [`860b5bb`](autobrr/qui@860b5bb): chore(deps): bump anthropics/claude-code-action from 1.0.140 to 1.0.148 in the github group ([#&#8203;2045](autobrr/qui#2045)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0b23a7d`](autobrr/qui@0b23a7d): chore(deps): bump the github group with 2 updates ([#&#8203;2031](autobrr/qui#2031)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`1fea36b`](autobrr/qui@1fea36b): docs: document frontend testing conventions ([#&#8203;1984](autobrr/qui#1984)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`f3443ec`](autobrr/qui@f3443ec): docs: promote multi-language support ([#&#8203;2009](autobrr/qui#2009)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`df88e63`](autobrr/qui@df88e63): test(web): add coverage for hooks and lib/api.ts contract layer ([#&#8203;1931](autobrr/qui#1931)) ([#&#8203;1998](autobrr/qui#1998)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))

**Full Changelog**: <autobrr/qui@v1.20.0...v1.21.0>

##### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.21.0`
- `docker pull ghcr.io/autobrr/qui:latest`

##### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Warsaw)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/160
ajgon pushed a commit to deedee-ops/home-ops that referenced this pull request Jul 28, 2026
…#160)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui) | minor | `v1.20.0` → `v1.21.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/7) for more information.

---

### Release Notes

<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>

### [`v1.21.0`](https://github.com/autobrr/qui/releases/tag/v1.21.0)

[Compare Source](autobrr/qui@v1.20.0...v1.21.0)

##### Changelog

##### New Features

- [`51b29a1`](autobrr/qui@51b29a1): feat(api): add GET /api/version reporting the running version ([#&#8203;2060](autobrr/qui#2060)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`98348f1`](autobrr/qui@98348f1): feat(automations): add RLS\_YEAR release-year condition ([#&#8203;2003](autobrr/qui#2003)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`58cc7cb`](autobrr/qui@58cc7cb): feat(automations): add tracker status and message conditions ([#&#8203;2006](autobrr/qui#2006)) ([@&#8203;luckylittle](https://github.com/luckylittle))
- [`2176a92`](autobrr/qui@2176a92): feat(automations): list configured indexer trackers in workflow selector ([#&#8203;2005](autobrr/qui#2005)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`2de926e`](autobrr/qui@2de926e): feat(i18n): add Italian (it) translation ([#&#8203;2011](autobrr/qui#2011)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7b66655`](autobrr/qui@7b66655): feat(i18n): add Korean (ko) translation ([#&#8203;2042](autobrr/qui#2042)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`2c06a3d`](autobrr/qui@2c06a3d): feat(i18n): add Ukrainian (uk) translation ([#&#8203;2032](autobrr/qui#2032)) ([@&#8203;rodion981](https://github.com/rodion981))
- [`ef8da0b`](autobrr/qui@ef8da0b): feat(sse): keep cached torrents with a staleness badge when qBittorrent is slow ([#&#8203;2057](autobrr/qui#2057)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`38ebb6e`](autobrr/qui@38ebb6e): feat(web): add file priority controls to torrent file views ([#&#8203;2062](autobrr/qui#2062)) ([@&#8203;jussaw](https://github.com/jussaw))

##### Bug Fixes

- [`12ac536`](autobrr/qui@12ac536): fix(ci): skip release binary build on main pushes ([#&#8203;2008](autobrr/qui#2008)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`57210a3`](autobrr/qui@57210a3): fix(crossseed): drop resolution token from TV search queries ([#&#8203;2017](autobrr/qui#2017)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`791bc7d`](autobrr/qui@791bc7d): fix(crossseed): inject rootless single-file adds into matched folder ([#&#8203;2029](autobrr/qui#2029)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`3da437f`](autobrr/qui@3da437f): fix(crossseed): re-query indexers with no usable hit in the alternate connector pass ([#&#8203;2002](autobrr/qui#2002)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`8e8b6d9`](autobrr/qui@8e8b6d9): fix(database): prevent int4 sequence exhaustion in Postgres string interning ([#&#8203;2015](autobrr/qui#2015)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`c7e08b9`](autobrr/qui@c7e08b9): fix(db): index string\_pool FK columns so GC stops timing out ([#&#8203;2051](autobrr/qui#2051)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2553f75`](autobrr/qui@2553f75): fix(docs): use relative file paths for markdown links ([#&#8203;2013](autobrr/qui#2013)) ([@&#8203;nasenov](https://github.com/nasenov))
- [`8a9c2fc`](autobrr/qui@8a9c2fc): fix(i18n): improve French translation, fix hardcoded UI statuses, and update agent rules ([#&#8203;2014](autobrr/qui#2014)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`190d936`](autobrr/qui@190d936): fix(jackett): decouple cache persistence from SkipHistory ([#&#8203;2056](autobrr/qui#2056)) ([@&#8203;jussaw](https://github.com/jussaw))
- [`91ad7e4`](autobrr/qui@91ad7e4): fix(pprof): bind to configurable loopback address instead of :6060 ([#&#8203;2044](autobrr/qui#2044)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`10e2d02`](autobrr/qui@10e2d02): fix(qbittorrent): serve stale app info/preferences when refresh fails ([#&#8203;2054](autobrr/qui#2054)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6d3b04c`](autobrr/qui@6d3b04c): fix(sse): resolve sync-error staleness stamp off the sync-loop callback ([#&#8203;2065](autobrr/qui#2065)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`677e8f4`](autobrr/qui@677e8f4): fix(sse): send torrent page deltas instead of full snapshots ([#&#8203;2047](autobrr/qui#2047)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`a4d252b`](autobrr/qui@a4d252b): fix(sse): size full-sync timeout to prevent permanent disconnect on large instances ([#&#8203;2037](autobrr/qui#2037)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`4f375c6`](autobrr/qui@4f375c6): fix(torrents): route unified view exports to the owning instance ([#&#8203;2018](autobrr/qui#2018)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`d49e168`](autobrr/qui@d49e168): fix(web): move instance status bar back to bottom of screen ([#&#8203;2024](autobrr/qui#2024)) ([@&#8203;OlziYT](https://github.com/OlziYT))
- [`a69ae69`](autobrr/qui@a69ae69): fix(web): prevent framer-motion tab indicator from triggering layout shifts ([#&#8203;2025](autobrr/qui#2025)) ([@&#8203;OlziYT](https://github.com/OlziYT))

##### Other Changes

- [`860b5bb`](autobrr/qui@860b5bb): chore(deps): bump anthropics/claude-code-action from 1.0.140 to 1.0.148 in the github group ([#&#8203;2045](autobrr/qui#2045)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0b23a7d`](autobrr/qui@0b23a7d): chore(deps): bump the github group with 2 updates ([#&#8203;2031](autobrr/qui#2031)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`1fea36b`](autobrr/qui@1fea36b): docs: document frontend testing conventions ([#&#8203;1984](autobrr/qui#1984)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))
- [`f3443ec`](autobrr/qui@f3443ec): docs: promote multi-language support ([#&#8203;2009](autobrr/qui#2009)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`df88e63`](autobrr/qui@df88e63): test(web): add coverage for hooks and lib/api.ts contract layer ([#&#8203;1931](autobrr/qui#1931)) ([#&#8203;1998](autobrr/qui#1998)) ([@&#8203;nitrobass24](https://github.com/nitrobass24))

**Full Changelog**: <autobrr/qui@v1.20.0...v1.21.0>

##### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.21.0`
- `docker pull ghcr.io/autobrr/qui:latest`

##### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Warsaw)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/160
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant