Compose an account given only groups where its module wrote it (hq ADR 0252, issue 247) #139

Merged
mesh-admin merged 1 commits from feat/an-account-only-given-groups-keeps-its-place into main 2026-10-08 11:04:58 +00:00
Contributor

A module's accounts are composed before everything else of the module (issue 213), so a file owned by the account finds it made. An account a module declares only to put in its daemon's group (no shell, home or lingering) would then be put in a group whose package is not installed yet: the first apply fails that resource, the second heals it.

accountsFirst now leaves such an account where the module wrote it, after the package that makes the group. An account that sets a shell or home still goes first.

Also corrects the comment in checkResources: the node-engine now takes back a group it added, when nothing declared still asks for it (mesh-host #54).

Test: TestAnAccountOnlyGivenGroupsKeepsItsWrittenPlace in internal/catalogue/shared_account_test.go. merge-check.sh passes locally (without a test store).

A module's accounts are composed before everything else of the module (issue 213), so a file owned by the account finds it made. An account a module declares only to put in its daemon's group (no shell, home or lingering) would then be put in a group whose package is not installed yet: the first apply fails that resource, the second heals it. `accountsFirst` now leaves such an account where the module wrote it, after the package that makes the group. An account that sets a shell or home still goes first. Also corrects the comment in `checkResources`: the node-engine now takes back a group it added, when nothing declared still asks for it (mesh-host #54). Test: `TestAnAccountOnlyGivenGroupsKeepsItsWrittenPlace` in `internal/catalogue/shared_account_test.go`. `merge-check.sh` passes locally (without a test store).
Author
Contributor

Delivery novox/mesh-controller@c43277f9c6e3 — superseded since 2026-10-08T11:05:46Z

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Machines

  • mesh-controller on novox: judging — 0 healthy judging(s) so far

Transitions

  • 2026-10-08 10:04 (new) → proposed (announced): novox/mesh-controller#139's head announced
  • 2026-10-08 10:10 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 10:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 11:05 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 11:05 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path
  • 2026-10-08 11:05 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@c43277f9c6e3` — **superseded** since 2026-10-08T11:05:46Z **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves **Machines** - mesh-controller on novox: judging — 0 healthy judging(s) so far **Transitions** - 2026-10-08 10:04 (new) → proposed (announced): novox/mesh-controller#139's head announced - 2026-10-08 10:10 proposed → checked (checked): the verdict names this commit - 2026-10-08 10:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 11:05 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 11:05 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path - 2026-10-08 11:05 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben added 1 commit 2026-10-08 10:04:28 +00:00
Compose an account given only groups where its module wrote it (hq ADR 0252, issue 247)
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer delivery to the same trunk took over its walk
c43277f9c6
Composed first, an account a module puts in its daemon's group was put in a group the package
had not made yet, and only the next apply healed it. An account that sets a shell or home still
goes first (issue 213).
jschoubben force-pushed feat/an-account-only-given-groups-keeps-its-place from dcd131f5f9 to c43277f9c6 2026-10-08 10:04:28 +00:00 Compare
mesh-admin changed title from Compose an account given only groups where its module wrote it (hq ADR 0251, issue 247) to Compose an account given only groups where its module wrote it (hq ADR 0252, issue 247) 2026-10-08 10:04:36 +00:00
Author
Contributor

Merge check at dcd131f5

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on shanks as build-1791453792006487527 (builds --log build-1791453792006487527).

--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T09:54:03Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T09:54:03Z

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.034s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	158.810s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.048s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.064s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.060s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.213s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.081s
ok  	github.com/novox/mesh-controller/internal/broker	2.656s
ok  	github.com/novox/mesh-controller/internal/builder	1.844s
ok  	github.com/novox/mesh-controller/internal/catalogue	4.775s
ok  	github.com/novox/mesh-controller/internal/conditions	2.052s
ok  	github.com/novox/mesh-controller/internal/envfile	1.054s
ok  	github.com/novox/mesh-controller/internal/facts	1.065s
ok  	github.com/novox/mesh-controller/internal/identity	4.754s
ok  	github.com/novox/mesh-controller/internal/inventory	79.003s
ok  	github.com/novox/mesh-controller/internal/lease	17.715s
ok  	github.com/novox/mesh-controller/internal/licences	4.312s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.053s
ok  	github.com/novox/mesh-controller/internal/link	45.121s
ok  	github.com/novox/mesh-controller/internal/lint	2.049s
ok  	github.com/novox/mesh-controller/internal/outward	1.080s
ok  	github.com/novox/mesh-controller/internal/overlay	1.067s
ok  	github.com/novox/mesh-controller/internal/secrets	1.530s
ok  	github.com/novox/mesh-controller/internal/store	3.484s
ok  	github.com/novox/mesh-controller/internal/testbus	1.252s
ok  	github.com/novox/mesh-controller/internal/token	1.015s
**Merge check** at `dcd131f5` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on shanks as `build-1791453792006487527` (`builds --log build-1791453792006487527`). ``` --- the gate: build-agent, mesh-controller, route-proxy mesh-controller: ok, 47 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8) long-running resources without health: 1 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T09:54:03Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T09:54:03Z machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.034s ok github.com/novox/mesh-controller/cmd/mesh-controller 158.810s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.048s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.064s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.060s ok github.com/novox/mesh-controller/examples/route-proxy 1.213s ok github.com/novox/mesh-controller/internal/artifacts 1.081s ok github.com/novox/mesh-controller/internal/broker 2.656s ok github.com/novox/mesh-controller/internal/builder 1.844s ok github.com/novox/mesh-controller/internal/catalogue 4.775s ok github.com/novox/mesh-controller/internal/conditions 2.052s ok github.com/novox/mesh-controller/internal/envfile 1.054s ok github.com/novox/mesh-controller/internal/facts 1.065s ok github.com/novox/mesh-controller/internal/identity 4.754s ok github.com/novox/mesh-controller/internal/inventory 79.003s ok github.com/novox/mesh-controller/internal/lease 17.715s ok github.com/novox/mesh-controller/internal/licences 4.312s ok github.com/novox/mesh-controller/internal/licences/adapters 1.053s ok github.com/novox/mesh-controller/internal/link 45.121s ok github.com/novox/mesh-controller/internal/lint 2.049s ok github.com/novox/mesh-controller/internal/outward 1.080s ok github.com/novox/mesh-controller/internal/overlay 1.067s ok github.com/novox/mesh-controller/internal/secrets 1.530s ok github.com/novox/mesh-controller/internal/store 3.484s ok github.com/novox/mesh-controller/internal/testbus 1.252s ok github.com/novox/mesh-controller/internal/token 1.015s ```
Author
Contributor

Merge check at c43277f9

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on novox as build-1791453885892385900 (builds --log build-1791453885892385900).

--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T10:04:03Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T10:04:03Z

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.044s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	177.116s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.021s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.028s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.026s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.119s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.048s
ok  	github.com/novox/mesh-controller/internal/broker	2.689s
ok  	github.com/novox/mesh-controller/internal/builder	2.497s
ok  	github.com/novox/mesh-controller/internal/catalogue	5.012s
ok  	github.com/novox/mesh-controller/internal/conditions	2.087s
ok  	github.com/novox/mesh-controller/internal/envfile	1.029s
ok  	github.com/novox/mesh-controller/internal/facts	1.028s
ok  	github.com/novox/mesh-controller/internal/identity	5.004s
ok  	github.com/novox/mesh-controller/internal/inventory	86.336s
ok  	github.com/novox/mesh-controller/internal/lease	17.673s
ok  	github.com/novox/mesh-controller/internal/licences	4.559s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.012s
ok  	github.com/novox/mesh-controller/internal/link	45.838s
ok  	github.com/novox/mesh-controller/internal/lint	2.105s
ok  	github.com/novox/mesh-controller/internal/outward	1.040s
ok  	github.com/novox/mesh-controller/internal/overlay	1.026s
ok  	github.com/novox/mesh-controller/internal/secrets	1.495s
ok  	github.com/novox/mesh-controller/internal/store	3.412s
ok  	github.com/novox/mesh-controller/internal/testbus	1.202s
ok  	github.com/novox/mesh-controller/internal/token	1.016s
**Merge check** at `c43277f9` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on novox as `build-1791453885892385900` (`builds --log build-1791453885892385900`). ``` --- the gate: build-agent, mesh-controller, route-proxy mesh-controller: ok, 47 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8) long-running resources without health: 1 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T10:04:03Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T10:04:03Z machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.044s ok github.com/novox/mesh-controller/cmd/mesh-controller 177.116s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.021s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.028s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.026s ok github.com/novox/mesh-controller/examples/route-proxy 1.119s ok github.com/novox/mesh-controller/internal/artifacts 1.048s ok github.com/novox/mesh-controller/internal/broker 2.689s ok github.com/novox/mesh-controller/internal/builder 2.497s ok github.com/novox/mesh-controller/internal/catalogue 5.012s ok github.com/novox/mesh-controller/internal/conditions 2.087s ok github.com/novox/mesh-controller/internal/envfile 1.029s ok github.com/novox/mesh-controller/internal/facts 1.028s ok github.com/novox/mesh-controller/internal/identity 5.004s ok github.com/novox/mesh-controller/internal/inventory 86.336s ok github.com/novox/mesh-controller/internal/lease 17.673s ok github.com/novox/mesh-controller/internal/licences 4.559s ok github.com/novox/mesh-controller/internal/licences/adapters 1.012s ok github.com/novox/mesh-controller/internal/link 45.838s ok github.com/novox/mesh-controller/internal/lint 2.105s ok github.com/novox/mesh-controller/internal/outward 1.040s ok github.com/novox/mesh-controller/internal/overlay 1.026s ok github.com/novox/mesh-controller/internal/secrets 1.495s ok github.com/novox/mesh-controller/internal/store 3.412s ok github.com/novox/mesh-controller/internal/testbus 1.202s ok github.com/novox/mesh-controller/internal/token 1.016s ```
mesh-admin merged commit 38928c4e1f into main 2026-10-08 11:04:58 +00:00
mesh-admin deleted branch feat/an-account-only-given-groups-keeps-its-place 2026-10-08 11:04:58 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#139