Skip to content

Arcane settings PUT churns on every run: v2.10.1 no longer echoes the managed keys #83

Description

@catinspace-au

The role asserts Arcane settings by GETting /api/environments/0/settings, diffing against what it wants, and PUTting only on a difference. On v2.10.1 that GET returns 22 keys and includes none of the ones the role manages - autoUpdate, autoUpdateExcludedContainers, authPasswordPolicy, authSessionTimeout. A key that never comes back always looks different, so the PUT fires every run and the task always reports changed.

Predates the long-session opt-in. Proved by running with soe_arcane_long_session off, where the wanted dict holds exactly what main holds: Assert Arcane's managed settings still reports changed.

Harmless functionally - the PUT is idempotent server-side and the values are correct - but it makes changed=0 meaningless as a signal for that role, which is the thing you would otherwise use to tell a real drift from noise.

The values do land. Confirmed by reading the SQLite settings table directly on desktop-derek: authSessionTimeout = 525600, autoUpdate = true.

Worth knowing before picking a fix: dragonfly pins v2.8.0 and desktop-derek tracks latest (v2.10.1 today), so whatever replaces the diff has to work on both. Reading the value back another way is one option; accepting the PUT as unconditional and keying changed_when off what the response actually reports is another.

Found while adding the long-session opt-in (chore(soe): make the Arcane long-lived login an opt-in), which inherits the churn rather than causing it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions