diff --git a/components/common/cpp/src/configuration.cpp b/components/common/cpp/src/configuration.cpp index 8c6173b08a828e783fa59856be60cb964d87d868..31f28c309caeb1c8b161db4229b942af0c8b0fb6 100644 --- a/components/common/cpp/src/configuration.cpp +++ b/components/common/cpp/src/configuration.cpp @@ -225,6 +225,15 @@ bool ftl::config::update(const std::string &puri, const json_t &value) { return false; } + // If there is an ID it still may be a configurable so check! + if (r["$id"].is_string()) { + Configurable *cfg = find(r["$id"].get<string>()); + if (cfg) { + cfg->set<json_t>(tail, value); + return true; + } + } + r[tail] = value; return true; }