Skip to content

Add /etc configuration file for deamon installation, fixes stale README - #243

Merged
balloob merged 2 commits into
Sendspin:mainfrom
wildekek:main
May 4, 2026
Merged

Add /etc configuration file for deamon installation, fixes stale README#243
balloob merged 2 commits into
Sendspin:mainfrom
wildekek:main

Conversation

@wildekek

@wildekek wildekek commented May 3, 2026

Copy link
Copy Markdown
Contributor

fixes #242

Implemented /etc/sendspin/settings-daemon.json configuration file, to make Sendspin deamon configuration easier for admins and fix the incorrect stale info in the README.

  • Installer creates /etc/sendspin/settings-daemon.json during installation
  • Settings class reads from this file and merges fields with ~/.config/sendspin/settings-daemon.json, where fields in the latter take precedence over /etc/sendspin/settings-daemon.json
    • Backwards compatible as existing ~/.config/sendspin/settings-daemon.json still work
    • Only runtime changes are saved to config, so user preferences are respected.
  • README updated to reflect changes

Comment thread sendspin/settings.py Outdated
Comment on lines +45 to +46
# the user config file. Admin-only fields loaded from /etc/ are never
# written to ~/.config/ unless explicitly changed during a session.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to make things very confusing user experience. A user will now be changing config in /etc/sendspin but won't see it applied, because at runtime something was changed.

Comment thread README.md Outdated
```

**Configuration:** Edit `/etc/default/sendspin` to change client name, audio device, or delay settings.
**Configuration:** Edit `/etc/sendspin/settings-daemon.json` to change client name, audio device, or other settings. This file is created by the installer and is readable by the daemon but only writable by root. Runtime state (last connected server, volume, etc.) is stored separately in `~/.config/sendspin/settings-daemon.json` — fields there take priority over `/etc/`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is making things too complicated.

Let's fix the README instead and call it a day.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that this makes things more complex and I value simplicity too. For now I'll just change the README as you suggested.

That being said, the complexity has it's root in the runtime storing data in the same settings file the user uses for the deamon, which is a weird pattern imo. But if and when that needs fixing that's a separate issue.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok done, this is now a simple README fix and can be merged.

Replace references to the old shell-based config with the correct
~/.config/sendspin/settings-daemon.json path.
@balloob
balloob merged commit 165cbf7 into Sendspin:main May 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

/etc/default/sendspin configuration for daemon does not exist

3 participants