fix: register every filter value a server introduces, not just the first #148

Merged
mysticalsoap merged 1 commit from fix/pop-boxes-filter-lists into trunk 2026-08-24 14:12:55 -04:00
Owner

Problem

pop_boxes walks each server's country/provider/tunnel as an if/elif chain, so a server that introduces a new country contributes nothing else on that pass. Multi-server providers hid this; a single-server custom provider (the live case: proton-custom, one server, new country) never reaches provider_list — and with it the delete dropdown, so it cannot be removed from the GUI at all. Closes #140.

Fix

  • The three membership checks are now independent ifs.
  • Dropped the setItemText calls beside each addItem: against a freshly cleared box they target indexes that don't exist yet, making them no-ops (the off-by-one #140 noted).

Verification

  • New stub-based regression test: a one-server provider must land in provider_list, tunnel_list, and the delete dropdown. Fails on trunk, passes with the fix.
  • Full suite: 329 passed; lint gate clean.

🤖 Generated with Claude Code

## Problem `pop_boxes` walks each server's country/provider/tunnel as an if/elif chain, so a server that introduces a new country contributes nothing else on that pass. Multi-server providers hid this; a single-server custom provider (the live case: `proton-custom`, one server, new country) never reaches `provider_list` — and with it the delete dropdown, so it cannot be removed from the GUI at all. Closes #140. ## Fix - The three membership checks are now independent `if`s. - Dropped the `setItemText` calls beside each `addItem`: against a freshly cleared box they target indexes that don't exist yet, making them no-ops (the off-by-one #140 noted). ## Verification - New stub-based regression test: a one-server provider must land in `provider_list`, `tunnel_list`, and the delete dropdown. Fails on trunk, passes with the fix. - Full suite: 329 passed; lint gate clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: register every filter value a server introduces, not just the first
All checks were successful
ci / test (pull_request) Successful in 26s
ci / test (push) Successful in 28s
39576241bd
pop_boxes walked country/provider/tunnel as an if/elif chain, so a
server introducing a new country contributed nothing else on that pass.
Many-server providers hid this; a single-server custom provider never
reached provider_list, and with it the delete dropdown - such a
provider could not be removed from the gui at all (#140).

The setItemText calls next to each addItem targeted indexes that do not
exist yet in a freshly cleared box, making them no-ops; dropped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mysticalsoap deleted branch fix/pop-boxes-filter-lists 2026-08-24 14:12:55 -04:00
Sign in to join this conversation.
No description provided.