Files
magpie/docs
yetone e4a90aa62f groups, routing: a found group the user changed drops a removed provider's members, and a switched-off provider's members are said as switched off (Discord)
A user on Discord: in magpie's found (auto-…) routing groups, a provider
removed or switched off stayed in the group and had to be taken out by
hand; one switched on again should be back by itself.

A found group magpie derives already followed its providers (built from
the providers that are on). The gap was a found group the user had changed
(any edit on its card stores it under its auto-… id with its members):
its members stayed as they were.

Now:
- provider: groupsIn reads a stored auto-… group without the members of
  providers magpie no longer has (withoutRemoved). This is read-time only,
  never written back, so a provider back under its id (an account shown
  again) is back in the group. A manual group's pick and a model a rule
  sends to are kept, since taking them out would change where requests go
  without asking, or stop the group from saving. If no member would be
  left, all of them stay. The user's own groups (other ids) keep their
  members as they were.
- A switched-off provider's members stay in any group. The gateway
  already skips them (membersIn), and they are routed to again once the
  provider is on.
- gui: groupsState marks such a member providerOff, with its provider's
  name, icon and model. The Routing page says it as "<provider> · <model>
  (switched off)" on the card. A manual group's pick and the editor's row
  say why: "{name} is switched off: the group skips it until it is on
  again" (new string in zh, zh-TW, ja, de). Before, it was a bare id.

Run:
- go test ./internal/provider TestFoundGroupFollowsItsProviders. It fails
  on the old group.go: "c removed, auto-x's members: [a/x b/x c/x]".
- go test ./internal/gui TestGroupMemberOfASwitchedOffProvider.
- New internal/gui/tests/routing-provider-off.test.cjs in Chromium and
  WebKit, en/zh/zh-TW/ja/de, at 1100 and 420: 10/10 each. On the previous
  assets it fails: the card said "B Cloud · sol" with no "(switched off)".
- The full ./internal/provider and ./internal/gui go test suites, in a
  sandbox HOME: ok.
- ./internal/gateway -run 'TestGroup|TestAuto|TestRouting': ok.
- gofmt -l clean. go vet -tags nogui on darwin, linux and windows: ok.
- All routing-*, panel-routing, click-scroll, gui-ja, gui-de, gui-zh-tw
  and i18n-keys GUI tests: 265/265 in Chromium and 265/265 in WebKit.

Not tried with real providers in the live app.
2026-10-09 11:10:12 +08:00
..