Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
"codemirror": "^5.49.0",
"cpx": "^1.5.0",
"deep-clone-simple": "^1.1.1",
"deep-freeze": "^0.0.1",
"es6-object-assign": "^1.1.0",
"fecha": "^3.0.2",
"fuse.js": "^3.4.4",
Expand Down
7 changes: 7 additions & 0 deletions src/panels/lovelace/ha-panel-lovelace.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import "@material/mwc-button";
import * as deepFreeze from "deep-freeze";
import deepClone from "deep-clone-simple";

import {
fetchConfig,
Expand Down Expand Up @@ -272,6 +274,7 @@ class LovelacePanel extends LitElement {

private _setLovelaceConfig(config: LovelaceConfig, mode: Lovelace["mode"]) {
this._checkLovelaceConfig(config);
deepFreeze(config);
this.lovelace = {
config,
mode,
Expand All @@ -294,6 +297,10 @@ class LovelacePanel extends LitElement {
});
},
saveConfig: async (newConfig: LovelaceConfig): Promise<void> => {
// deepClone is required here because of the filtering in _checkLovelaceConfig
// Once the problem behind that is resolved, it can be removed
newConfig = deepClone(newConfig);
Comment thread
thomasloven marked this conversation as resolved.
Outdated

const { config: previousConfig, mode: previousMode } = this.lovelace!;
this._checkLovelaceConfig(newConfig);
try {
Expand Down
5 changes: 5 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5403,6 +5403,11 @@ deep-extend@^0.6.0, deep-extend@~0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==

deep-freeze@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84"
integrity sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=

deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
Expand Down