Skip to content

nextcloud-fpm: write Talk STUN/TURN servers with array type - #209

Merged
stavros-k merged 2 commits into
truenas:masterfrom
Maxren2:fix/talk-stun-turn-array-type
Oct 1, 2026
Merged

stavros-k merged 2 commits into
truenas:masterfrom
Maxren2:fix/talk-stun-turn-array-type

Conversation

@Maxren2

@Maxren2 Maxren2 commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Fixes #208

Problem

Talk 25 (spreed, stable35) declares stun_servers and turn_servers as ValueType::ARRAY in its config lexicon. set_app_value writes without --type (as mixed), which Nextcloud rejects for these keys: config:app:set prints Config value were not updated, and because the key was deleted right before, both end up unset after every start. Clients then get no TURN server, and calls fail with ICE failed in the talk container.

Change

  • helpers.sh: add set_app_array_value, which deletes the key and writes it with --type=array. occ asks for confirmation whenever --type is given (even for a key that was just deleted) and aborts without an answer, so yes is piped in.
  • occ-talk.sh: use it for stun_servers and turn_servers. signaling_servers (not in the lexicon) and the recording keys are unchanged.

set_app_value stays as it is for keys without a lexicon type, as its comment explains.

Testing

  • sh -n on both files.
  • Ran the patched occ_talk_install inside a running ixsystems/nextcloud-fpm:35.0.1 container (Talk 25.0.2):
    ### Configuring Talk STUN servers...
    Config value stun_servers of app spreed deleted
    ...
    Config value 'stun_servers' for app 'spreed' is now set to <hidden>, stored as array in fast cache
    ### Configuring Talk TURN servers...
    Config value turn_servers of app spreed deleted
    ...
    Config value 'turn_servers' for app 'spreed' is now set to <hidden>, stored as array in fast cache
    
    occ config:app:get then returns the configured STUN/TURN servers, and signaling_servers is unchanged.
  • Without the piped confirmation, the same call aborts (Confirm this action by typing 'yes': Aborted.) and leaves the key unset.
  • I haven't run a full image build.

Maxren2 and others added 2 commits September 30, 2026 23:15
Talk 25 declares spreed stun_servers and turn_servers as arrays in its
config lexicon. set_app_value writes them as mixed, which Nextcloud
rejects ("Config value were not updated"), leaving both keys unset after
every start, so calls fail without a TURN server.

Add set_app_array_value, which writes with --type=array and pipes the
confirmation occ asks for whenever a type is passed.

Fixes truenas#208
@stavros-k
stavros-k merged commit 289cff0 into truenas:master Oct 1, 2026
2 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nextcloud-fpm: Talk STUN/TURN servers are never written (rejected as mixed type by Talk 25 lexicon)

2 participants