{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:07.999009Z","repo":{"ref":{"host":"github.com","owner":"therealMRBK","name":"NextFloor"},"default_branch":"main","clone_url":"https://github.com/therealMRBK/NextFloor.git","html_url":"https://github.com/therealMRBK/NextFloor","description":"NextFloor: draw your home in Home Assistant and watch it live in 3D. Free forever – every feature, every furniture pack, no Pro, no shop. Build your own furniture, plugins welcome. No cloud, no account.","stars":149,"forks":20,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":45548,"primary_language":"TypeScript","license_spdx":"MIT","created_at":"2026-10-08T09:05:56Z","pushed_at":"2026-11-14T06:09:03Z","security_policy_url":"https://github.com/therealMRBK/NextFloor/security/policy","distribution":{"owner_created_at":"2012-01-23T00:05:57Z","owner_type":"User","release_assets":[{"name":"nextfloor.zip","size":1765333,"download_count":573,"release_tag":"v0.31.4.2","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4.2/nextfloor.zip"},{"name":"nextfloor.zip","size":1764361,"download_count":1657,"release_tag":"v0.31.4.1","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4.1/nextfloor.zip"},{"name":"nextfloor.zip","size":1764217,"download_count":932,"release_tag":"v0.31.4","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4/nextfloor.zip"},{"name":"nextfloor.zip","size":1470881,"download_count":1,"release_tag":"v0.31.3.1","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.3.1/nextfloor.zip"},{"name":"nextfloor.zip","size":1470579,"download_count":1617,"release_tag":"v0.31.3","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.3/nextfloor.zip"},{"name":"nextfloor.zip","size":1470334,"download_count":1059,"release_tag":"v0.31.2","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.2/nextfloor.zip"},{"name":"nextfloor.zip","size":1459833,"download_count":1014,"release_tag":"v0.31.1","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.1/nextfloor.zip"},{"name":"nextfloor.zip","size":1458996,"download_count":13,"release_tag":"v0.31.0.1","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.0.1/nextfloor.zip"},{"name":"nextfloor.zip","size":1458537,"download_count":69,"release_tag":"v0.31.0","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.0/nextfloor.zip"},{"name":"nextfloor.zip","size":1453189,"download_count":904,"release_tag":"v0.30.1","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.30.1/nextfloor.zip"}]}},"commit_sha":"22d84c1aa5355388b5e6cb55562d004979e422e9","profile":{"lines_by_language":{"TypeScript":75148,"JavaScript":23226,"Python":15042},"files_by_category":{"source":395,"test":175,"config":117,"docs":72,"binary":42,"other":9,"generated":2,"oversized":1},"source_lines":97513,"test_lines":15903},"pillars":{"ai_provenance":{"score":87.1,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.8707,"suspected_share":0.1261,"estimated_share":0.8707,"ai_artifacts":1.0,"flagged_work_units":27.0,"flagged_releases":9.0,"style_index":0.773},"summary":"Explicit AI attribution on 87% of first-party code added; an estimated 87% including velocity signals."},"quality":{"score":65.6,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":46.0,"duplication":27.3,"lint":69.8,"testing":83.2,"docs":100.0,"type_safety":89.4,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.16, CI runs tests; 26% of function code in complex or long functions; 22% duplicated lines. Weakest area: duplication."},"security":{"score":67.9,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":39.2,"dependencies":100.0,"ci_actions":1.9,"posture":80.0,"scorecard":null},"summary":"Security posture is weak: 18 high-severity SAST findings; 19 high-severity workflow issues. Weakest area: ci actions."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":12.0,"checked":12.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":421.0,"attributed_commits":370.0,"attributed_commit_share":0.8788598574821853,"effective_loc":231631.0,"attributed_loc":201690.0,"attributed_loc_share":0.8707383726703248,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 370 attributed commits, 201,690 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"22d84c1aa5355388b5e6cb55562d004979e422e9","url":"https://github.com/therealMRBK/NextFloor/commit/22d84c1aa5355388b5e6cb55562d004979e422e9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3cf541fd1e1a1aaa9320685791cbd945a2d2517e","url":"https://github.com/therealMRBK/NextFloor/commit/3cf541fd1e1a1aaa9320685791cbd945a2d2517e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a149d9dfb637d1c7cf6cf2752465fd33ca8010fc","url":"https://github.com/therealMRBK/NextFloor/commit/a149d9dfb637d1c7cf6cf2752465fd33ca8010fc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b7103e2376b615e4b7c0b8cffc61ac6b94919fa5","url":"https://github.com/therealMRBK/NextFloor/commit/b7103e2376b615e4b7c0b8cffc61ac6b94919fa5","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a6ba24a35d56398056839bc19505da31b90a7cbc","url":"https://github.com/therealMRBK/NextFloor/commit/a6ba24a35d56398056839bc19505da31b90a7cbc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7f419e95867abc2bf1395c816ae2167b78669ebe","url":"https://github.com/therealMRBK/NextFloor/commit/7f419e95867abc2bf1395c816ae2167b78669ebe","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"033ec04347e309b399267a1c639bbcb9a97cae35","url":"https://github.com/therealMRBK/NextFloor/commit/033ec04347e309b399267a1c639bbcb9a97cae35","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8bdf4b08c8243fd2b4ad46f10347cc22e4774615","url":"https://github.com/therealMRBK/NextFloor/commit/8bdf4b08c8243fd2b4ad46f10347cc22e4774615","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"51c6a05e516542e636530e089d2fa00d57df3b3c","url":"https://github.com/therealMRBK/NextFloor/commit/51c6a05e516542e636530e089d2fa00d57df3b3c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2dce41b0c62612bc37410d4fb2c92dc5b53a83e9","url":"https://github.com/therealMRBK/NextFloor/commit/2dce41b0c62612bc37410d4fb2c92dc5b53a83e9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ad37b48e30b43953f5aaaafc4c3aa761f1d8d162","url":"https://github.com/therealMRBK/NextFloor/commit/ad37b48e30b43953f5aaaafc4c3aa761f1d8d162","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"1a07b956f0f9e32a2b6d54e65dc12f973add2bdd","url":"https://github.com/therealMRBK/NextFloor/commit/1a07b956f0f9e32a2b6d54e65dc12f973add2bdd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"74fdf8c60cc67b8d44482b7b48abe42d3dfe97c4","url":"https://github.com/therealMRBK/NextFloor/commit/74fdf8c60cc67b8d44482b7b48abe42d3dfe97c4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"ca7a3cc8bfc895e1ee5925d1ee82af8d60259337","url":"https://github.com/therealMRBK/NextFloor/commit/ca7a3cc8bfc895e1ee5925d1ee82af8d60259337","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"b5e8fb6df25c7911fb6910dbfed97c2854ae77a8","url":"https://github.com/therealMRBK/NextFloor/commit/b5e8fb6df25c7911fb6910dbfed97c2854ae77a8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9568120757e2d344c0faf10792fbcc61cc3f57ac","url":"https://github.com/therealMRBK/NextFloor/commit/9568120757e2d344c0faf10792fbcc61cc3f57ac","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2350beb7ee240dead4a73ed15e366239ff06a851","url":"https://github.com/therealMRBK/NextFloor/commit/2350beb7ee240dead4a73ed15e366239ff06a851","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f72f9fd52dc6905257ed78465f0f13f6d59d1e64","url":"https://github.com/therealMRBK/NextFloor/commit/f72f9fd52dc6905257ed78465f0f13f6d59d1e64","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"88e68018c9523ee190c2fb804838b8d75a18e6f2","url":"https://github.com/therealMRBK/NextFloor/commit/88e68018c9523ee190c2fb804838b8d75a18e6f2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"aec7231c11d15e41419b1d5c7e3261862bb82ec8","url":"https://github.com/therealMRBK/NextFloor/commit/aec7231c11d15e41419b1d5c7e3261862bb82ec8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9dea0403872c890dea34c41babc4ff1763471e2d","url":"https://github.com/therealMRBK/NextFloor/commit/9dea0403872c890dea34c41babc4ff1763471e2d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"fcdd1180c014fb3e836f79e2ac4d15fe3f7f1c30","url":"https://github.com/therealMRBK/NextFloor/commit/fcdd1180c014fb3e836f79e2ac4d15fe3f7f1c30","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4b3ec1be6dc0273137be433db0cb4a59a4341d61","url":"https://github.com/therealMRBK/NextFloor/commit/4b3ec1be6dc0273137be433db0cb4a59a4341d61","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"2e1c9fddc35383a3698b024ed995474705f86058","url":"https://github.com/therealMRBK/NextFloor/commit/2e1c9fddc35383a3698b024ed995474705f86058","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"e339494dc5ff9eb6cf83a3dc5450dbcf0605f8ee","url":"https://github.com/therealMRBK/NextFloor/commit/e339494dc5ff9eb6cf83a3dc5450dbcf0605f8ee","weight":0.9}],"data":{"attributed_loc_by_commit":{"e3355e82dc8dd85186d0fba461c7e2634a635443":53533,"5c798c9ecef6bf9bb621beab5a58ffa9245199f0":0,"a0c44cc709f48bcf703e4639a3244203073356d5":675,"d07f70067a9fd3aa73ae1524a3c350dd17f7c3e3":283,"6b434e550a97213f4e7715893012f5bbfd3efb42":213,"273e064eadd8554cbcc92b22fb79e06554de9dc1":692,"6fc66bdda0e39c3d932a51c79725bd863f7bf813":59,"5e12e3ca0393abfbead68b84d55a419965d9f0a3":78,"7aec0530e0e1faa2acc28ebb67bf7289a05583f8":2,"6ccc46e85718229a0e2d7ebcc5a56f6e6d69f677":1,"a028dd6d1c4b151c8738f61304d93e873b560ecb":2,"b39c176895ad46b87aa7439e0aae6635f49924d5":331,"49b903c116028955743089b444b93d2fc7c41adb":1647,"b629add4f5de18f485b66290c6370ecc1c454804":5629,"30a1b7e46f8ecfd018af3095be97b706201d42c3":779,"50ef5b48ee188617aa3f0c54e8190480315f170b":1848,"b550bbb822ef501444b24108574f27101c12cb6d":1844,"c5f5514dc94e627a985cf4c64d4d51deef7db7c2":1092,"e631eef6f4d1f68ea48dbfec0f59ce11281b30f1":1094,"795eb95c1ce033447a25d04edd60bf7358f842c2":1733,"31dfec099701058550d9fdc7eb6aaa2f5a7638b4":348,"d99861084ada69c71b40c0eee8c879381dec5ded":361,"f124349ee862d948f9537e1ccd1815f0d27a7f64":0,"1ab49b24bcba4f167806991930b250bfcf6a8dbb":1574,"c605f8eae44cef2fdcb43e01480a22575880000b":872,"2d84abcd6752a028b0c9ece02a2b263053053adc":1451,"032f1c3a408b581cdf71b1e678a5c75e431c1e85":4507,"99df1ebb297805a838714e3a42d73b5611c5b40b":1272,"9ee9b18287502752561b784539952b680878e5d8":1505,"260ca9245fb58e2f8475a551c3ba71933690c1f2":0,"49b4954251f34181ba36b073e6e1f34585ef8afb":21,"c8dccd38ca4458cc3aeea53f2163ffeae662ebed":1,"4e0784ce4bf99afbcdb3c512392212f3494a25fb":25,"9b37e7c7e8fd305db4aae9da8bc4d414093657a8":36,"bf53026ef7a979db80eaf0663c544a509ea4c410":54,"bfacce6ad1b06e4db36806e38f5642ae0ee1ec48":0,"008a1223dbad089c43bd56a9f70ef2744af216eb":177,"8cb0bd7c623ce4d29344aa7030eaa1438c410f3f":0,"75d722698a10d1dc967bda131bc6f7b3d0ae71bb":480,"badceabf1f47f0dd52c64932387f93b65617353d":1376,"f2ea142030e27bc5d5417a2edb365cdfa975c623":472,"945d17a573375b5846f2ff1fb102862c84aaca6b":1307,"2d5587053fd43db9b9ae6950840f72272e508c64":18,"5fcaad79773ee92e318bc20c60907e264bd6d587":1613,"02edaeca445a59fa2b31e23b93445e814e16a575":0,"74a8e361cc866ed8f1f5a561e0778ba25f6ba3a4":1666,"657d8d849f6cfa44b91c5913ced6717f8f212963":1,"3b8423005404a0691648c94bc3c7fdd369acd276":992,"7bd88727f6c2a71fab0ab07839579f5309457329":0,"693358b606beed87ff9124567ae62ba1a43244b3":834,"bebc0454ac0db14277f1fe0e8a6ca1f4b5d53984":724,"6d9675d9184568da80fb90fde13e4102f605c2f1":1,"97d035281660968f657b61f499189556e43734f0":0,"e2d36e62676be292460382488f36122ba5d4c406":878,"71645ba5734b71f77c915e0b78a9f44b1ed12ab2":84,"78a3b6d9ccb4bb96815653b7addc2e68d211b968":1,"03f0f23ca2af449adfd19539259c52c2a2187135":127,"62505d7602a76cec91500ba90e71099e9f777dec":1,"86d6a0c19227b44d07088408fcfbf7e320a7be79":276,"3d032ac4d2813fb7677cec6608200f4e034c4626":1914,"9deb2ea44214d14d6e0cc50c6946393a72bab691":611,"c5699868fb58ad4791421d37fd3adc51b41ca9f4":420,"4d8cdfb4b8b6c283223741654833c116c3dae6c4":909,"0805e147b3fe8dfb76b01a2899061b0af68378ec":23,"c7757d7792f4b84bfabb9d045cb30525602b89e8":860,"be8023f125b3ee9a7a6be8b6f7cd5a7e50be7d5d":1,"ba492fa0fb24c52d3d1f9bc8ac7fe0d3b16f5f74":884,"fd0d35896d850b5f5f3b4b8d318fe1f8178b2f50":1093,"06eb7df0d38706d9e8264e0c1bc5b30cc2a622bb":11,"097970b12efe45031c4030ace38fce0d640cfe8f":402,"07acba71839379decd3612a16b978196efaff999":1330,"1e1dc6f5077e962421305a5a61af5d9407ffa92c":567,"7c644cade81dbe6b19f2d25deacd4793ff0d4efd":567,"6376aa574d27fffb398dbcf88ec0ff445cb7d43d":1324,"8c9d637537c82adcda2c850ada15806895e8ad88":311,"b7af4be15c807a615b41b690ccf25dae99d20bc9":550,"b58d651e1a9033af268139cda82365843da0f150":180,"43bc7a5bd0ca468fe8026cdb86e16f3b2d6c3c01":932,"cd75423ba1456222a2ee49a156e43afb6e56de48":790,"860580935259d925988a710516bc39a65fffa426":453,"c084d73e22cc2c8d1979430f7df02141ee5e9796":292,"940bc0cb6c8f5d37eb3826dfb7c718ae778c4027":424,"fbecc8f28222b42205de494f5da4e1e4867ccc2d":239,"ecb2d624d7fddd3e50834548e7fa83cb54cc39dc":0,"9063ecde1638a04bb4b603a5d96bbc1dd377afbf":785,"20f1cbae7481665ecb6acc288f923cf0a7227aec":0,"848c49f0afdb11cbbfdab7907470c072df7cf258":7,"1d97729fca9b6358ef8867fb3aa5c6846cbdcb84":32,"752aed90c482fad531f9c337e570dcb41bc25ee1":37,"10370cbb914c31eaaf811e2bcd66945f100dc6de":24,"917a0f2bfb8ce8d63af434ea85cd2ea3f267165d":755,"1604a78403e544676a751ae98da2befb8273be60":2,"6b555085c884a34d018e7587c03425c613046f34":1,"26dbe353f8aec964381fe67a4b1021c94c474d32":36,"145e3709e97827fcba7aae93be77d0b3830cf672":83,"adad94178c1c1d588552f3177a5cd7ae147e6540":91,"14a470449f0886b40b8d1ac06dd194a2866de200":77,"87f57aafe0fb5e2922f89d94190cb71c8b5bd4f9":636,"14aa1766d1c84e04a34bba3b102324e5ae950b9f":21,"f5b6db7502aa400a11350c14482ad8e22c3c7d94":53,"01456ddaf0bfde06755931ea1251f10af9628e84":0,"99e40d9be616781baf11fce60f2841182f27b6b0":1,"36d6830b41177cdccc13250f528a4d820e1d592f":5,"fb9a2c0e07e7b5f28486b5ee3bbefe2e7a25b504":1261,"ebdc09edb2b18e9db2f075525b45017f64e0f516":323,"a0ebded1454c655c667c2b1eb45b093a6013edba":59,"6069201cc24fb9a6802bee070cc6b7c1974eb906":0,"2926836bcd97268203e036d5b63c475ce44cf98e":263,"945a41e71e020265b707135225e4de9605070b7c":1,"260532f3db7c73ecbdb063c94a82f61b1f9b51b2":115,"3c7e076448b6d6b3523ddd0294ce8a0ef15a6234":221,"ba0ab06a8891e2d2c8afea4407958978cf5382bc":1753,"cd5c9bec7776f805d41d8a94173153db832316e6":630,"922f6ed5c84df9735b8c346cd6580af86009e167":427,"b1b8e51ad33c4b66a17830b2faf4c4f68804700e":96,"b1c78f356dc1c8f891d2cf847df308e0526a3fa3":445,"9ebc84e3f29c5040b01b8e10b6e6fb3eb30f4904":134,"83b43e7f99aa2166b9c94ffe32ec2636c3a7c4d6":487,"638d3b29f68f1ef6b1f080b8c579737e10c30b1f":0,"a97afe2f8e38205d9f774d84873b1ac6ed0e5be9":6187,"47387bf5fb848539e536d13e8ccb3401405198c9":541,"5958ffc7f2fe619257b71b14d5e750a0378849b2":1,"1853caafadf2f8a44f69b7322f6f5ca7ede9214a":144,"92e96965e205e43dc8879196b31d8cbc123c7b5e":192,"0604d25eb56eda1892646f6a7c16252db3afc679":4,"8fbde8d1cb7e64f45dd4c5ced032e93e05324c84":97,"40b170185d63cf437d17342ef5d875450ab1d558":260,"7a7728cb0f4a593b2ec4909035a837eb065509ff":206,"a836ec607f04515186f4d041f5107896b6b7e74b":353,"d946991c8d0c18d81b768306acd371fcebc11d25":0,"3b868a9681f4b5c0a942a4813f69232120126d0e":176,"88e72314b42ff6b321a2349315bc8669f2e341e1":551,"8f879270c9871312f555193f0dbd18a5b7168d17":1771,"c16371104054c66d8060818bdf3fe5c4ddbd651a":743,"38cca2b65b0b4d73abf92a5cfcba1977e84bd926":635,"9eb5003514674f48611e45c5b46454d29df0fa08":471,"46019eb20c53c864a644883bb439df4549e51e55":1,"f349b86ae71832cd14208d6aebe48059028ff792":68,"a96b01554d316bacd27de0d981426dd16573bd87":126,"f6f2aba9c1010b0be64cf75159d7d144fa43203d":57,"48ef9b0ac46ea6c64c9e343db819f89168acf95f":32,"d1333d85002a302f132bad4a7606ec244c121344":1117,"ef5c280fb434c213d2d6d46582e2662759d66fab":65,"5532dbb80af7ebee09231d9c2871209228409546":1152,"4bc71fb67eee5084370060ddd98dad9589609ff7":407,"45dbe984bbfbc0c952b103abe11cceebd50f1cdb":192,"11552e90065432d7f186bec121c3a234f5879910":129,"9f9888e5c72512d87749619e5ecd056234f47263":56,"37c6a904fb4e74b50e6ae26a6a0e3c996c5a48f7":1,"c4811a98b955b7617a9a7a49ffa3fe3a6da76935":954,"061e30fd58bb30c117d32a109e1e56f6a722213a":276,"888a3228ebb548e100f70a2abdb426fd7cfa77a8":1020,"2753b309da43a1cbe31859ce7148004e48921140":209,"12252c7d5007db16988e8641c5478a154c59cc48":70,"1fbef7b0fe175720ae96bb2c065b83156f83cdbe":589,"89c5479d7f4733c071b2510f315b70aa6ac6f71e":643,"041f847ff2f0c8faae33dc8e3714f448edde2595":303,"e6be73fe0d5814a22b9143b508a42a046d66f1b3":179,"98931d58781f1978808d06dec44b36a5aad9046c":231,"1654588afd7069d169a3f9e10f730d8059e979dc":351,"c2c075042cb08f33dcbe271df9d5e47d9025ea18":472,"378c5cc342840426f0b3c246d4d55eefc3e0e90b":655,"a561502be2c9de4d19fce258def59a5c7c20c839":601,"bfebf17a5c3fab8e39eb1967e7e72e60c3e82fb7":338,"4ff5f8a6ac2a5cd4d4d608f13df108207614228e":383,"76b9c009271d98e1b9ddb0f5ea8e5043fb16c45e":425,"cbf56d7cdccf6d51f0caa4006b69dbe2a662e809":411,"04180a471a1f135c64942fc245d4ffbd18d372bf":147,"ee35cf432c140b2a7110857247116908eafdf82a":395,"5468d2e8a5fa8d1b8b7b936b4092d241f9e51bd0":242,"6e7477da094294bdaac5b7651579d5f92d9a69f8":332,"33f24194143b7ae71d5fdf8c5ce594d07e641e34":461,"c3d338f4a5c808f5e9992134b058054523425c6c":338,"08d6fa67a46c5e4b1d446d8235d3c75ebc65e1c5":176,"c7a8641f772a1615c4713900b1b805c766414a23":370,"5b58a2d7dae612b37d32b19344c6c5c8be0ccfd4":287,"4d12f42923669909867ca253e2623f847933125d":408,"3639b8d7c0e7ebf8a8b61305da42f99963ff34c0":122,"a2f67b24def870700a482a6a75e1231c32685f55":71,"a803d2311045fe0009d20b590c1f61d81078d767":0,"e8d6e885e38909892c69bce2c5d2f81fac5dac3a":52,"3f688bf385f18e84dfcb4f4c8d610d6fb8e01860":1,"17c52d6dfb5cb9e1f3ffdb6b4a353eb40dc8b528":115,"4cd42ee7304610d7974236072f059b8c82473eed":474,"c2007c6116614ade343bc8ab838c0f0af8a9669e":627,"539cef9ea8e65d09f7d208b9ceb67c753f3f7508":0,"d8d1a33b328eb7d4e0a1c3ffe24b2788a55bc38d":0,"4e54075eb575ccfe8c71b650baa7a5333609093a":1,"0bc5bf8b424c16ff3fb2dc46176396a97a3293ee":518,"4d4aaba9f677a5bfe4046138db559789d24def1d":1261,"35d0df7f4417f4951dab245145ffe1456d27687e":245,"eaf8057e73dfc889004be11d56c3ac526d4ae6a6":846,"fc97cc7126dc4466b23d121448e54b2ca37b33c2":283,"d7878bdb0918249c22b9f7ac85c2d988e207c469":311,"1a70c64c13dc5ce2ae4d9ab10231a220316d7193":1062,"0360b4a338e508afeccd3495f3c31a4996467ef4":138,"f91f8e33a5a6f4e8d88e4d7f33ee951a176b5176":174,"5e357d88308e82db984705f389656e9e70d612bf":894,"50a623e36b656b3dff4942254041037f7ab0f032":221,"27902c9c96413c4e1672675e03bf733f2c755b6a":1,"c1035c5f1b34eccad5f58c58ac141870ceb6c547":741,"c18f334ad0e08dc84aef5ad510a2dc8bc318a7e9":224,"4e365fce4fe66abe84d8289932fb58cf7ebf8741":889,"12c1d3bd580f35f81d6ec10be61f7217e34e7ab0":340,"1f8e7e7514f538d7a3b7d96943c8c11f78b44d99":370,"e4619887a5893c6067967fd23805558f99575aaf":0,"e7aeba82b070a6e18935491b3e4d7c0c31b0c2bf":264,"e9fd112271fda87c9de226be27b306ef8ed5fd2b":224,"521f5c75d9bc237597ffbd0fdf3423f8c6f044fb":191,"ad15174c9ab7f50ccebc64b3c3912c99e8bf86b8":40,"489d9507aa4ee8af5da1996fce360fd41763cc28":475,"a73ace2584253d3ec6662ad705fecc5975b95723":3,"87d96fcde24a55bef9ca39e643956ab6ae56e4e4":0,"faef7aa17e959de04dd97532a1dbbc8212a98693":43,"f50845405d16d9b8b0758a8703905d6af01c375a":464,"b58f846c9741913ae6f93809c449c6a2d74e7758":0,"d14d22c086a28c99b0063c9db06deaf8f41e5dad":486,"a7201a3ca45b91c3e35bd24773f86d1822c061fd":213,"a438facfdfbab62a95e5fba7c0b47d7f4ff4178e":0,"adfe5cedfdefdddd91c11c840debaa065330c6f3":444,"8a7861f5665811fa4b2774f0d5229c7a755f74b0":143,"04a0d7a77d2a0dd2504b2c54728d4252232eca95":40,"67e13ab55da53bd2fc7c2bcebd652cc3575c0cde":68,"b569ba7271b86e5261dfe98398f2705ceaa987ab":0,"acccef49f3d16d61f6739dce4526bd4d7ceffaab":554,"209ac22b9e494f19c2da09eadc7f935bc7bd49ad":674,"71f60b3e835fcab92297133e2c670a81c581b819":0,"c1ba42d71d3c8dcbfd5c133790125c8e0efbdd8c":5,"5728454bc69fa0800b17833a38ba828b7d99f411":2,"df03bb0c2e20e6932f9f2e874c1f14e9d7e4e756":100,"7918e6df4790e1d9f76511092f548c51acd8e284":90,"c47849d5c7547f3548bd7701f86c1bb1e3afea66":912,"caaeeee2c5ee5b9fa3647bf01f3e82a4fe15918b":1,"3e233c856228532858a38d2f631fcf8be3665c0b":48,"5226c50621889c01f7b74856c658ad9e971e2319":0,"7b9001ef10b97a6e821fc0e18a2dff90fb585f4d":187,"78ff73463aced51aa9e42d20e97e80872ed59699":634,"7167a89fffa03531022cbd11f3529e4f052c5385":3,"1ac76a16cd7b85c50b12be52b36c5967b8a5e31a":7,"00ce1f40c728a76d03d25984093653e4907b2578":271,"5f6612e2fe8a1a7c2548396b0cf3ba55a3079908":642,"303f1dc755dc750f86d838ca8a194ffc38efd155":60,"13252c0e6ef60180f8b213f118765a7d61658fbd":57,"886fc13236b0d164224bb08aceda288ca0546d99":138,"19378e91867090918da3cd33f0be7fc2ef10d015":219,"52a658f18d81bbd987dd8b4069032b4c7a928d5f":26,"466a6f61a478ef7c6298c815ce7e3d3599fc39a5":18,"3d68130241089b3d94389330fe2f4671b03a176e":746,"c9b86e14d66a6d614b5a27f449fc579cd5fe4afd":5,"3b60b6ff3fe1ca5cfb942f83d5fe7d653130dcf0":10,"c9e7d340bc9aeb020b915e0de90d3faea7467799":2,"74559972b83b602f91e3ddda7add825a402c4e10":1678,"69b8fdd9e90d2e66c843911e3201be49f25729c9":342,"3c2ee5a03b64f3e61616452681f7c71d263833a2":1,"0b5e49daa34dc0718f6dae2726456bb8592956b6":5,"afc5b7def02ef8215899bac91359a0c8da49fdd1":78,"a098b8cb3334da532ab14db045f8e91c49e3ffc2":75,"9f3d12f7eef471a2b36e3d27cd2cbc7977fde329":271,"41a7de47ff97de4d315a1b39d080395b5856834d":0,"079e07e0b754beb9b1df7158b51d836caa1c6e60":0,"8e4b61cbf755673839c1547aae5743c4250c1baa":327,"a03bb79bac0e85074850c550b28492a68077c472":25,"3c20c7899b45fb4ab306aace11c606e0b1d4949e":16,"7427bc067a93723310e2a7504442a08e1f4a907f":6,"e00cac7e4367d2474fdc4a0729ed1bba5d9170ae":204,"ec93e95e16e5da2725e71e4eea2d144c63f0aabc":107,"e32f8513ab40f373dcf9e212d3d97b64533414b6":0,"2861813c7464e35c2c62de3580d307ccf434333e":0,"27610d47fee5a76d8e330f532700be59c9694799":1100,"7fff540e6cf569e37a34b9feb96aefeb47d993d9":420,"d1550ad73a8e6f3e708a849b1b71ea9d48d52375":137,"37f84cc42e515b0deb833928bc8398e88fbc2acf":393,"f71cb55a4852b5135b836f8597eb3c741bd6dcc9":231,"7d6de6c5d79071774d93befaa981711697ee5221":48,"0e09f01370337312f5158580263fcfb18ea7e8d1":4,"36eeac3181f4d7b9472900c067ce853a1b705afa":32,"56a4f1f455931956d2bc52836d597fc799209187":374,"2322da79c03f33cd6fafb1b8a1596bfe9eaf6c3f":298,"de4fd7f5e6d1345b76761152ba0d30bed32093ca":680,"d8642c488b2faf5453466b5df263b0b3ecaf378f":69,"b23d6c42c7eaa8f54b52751bf94db431c15bda15":1,"d4b86d27533747b177b79b057a5ef9d02b44f9ae":727,"4df6c16bcdcce6dbddbb7800309bb693211fcf7b":1183,"6c71b8733c4b5692322d84ac160d277e799bcdd6":211,"bc261fc560f608926a580f8ec0823d8c764655a1":263,"1fcbd32384107c05cd83caf9cbe7d03d84bf8a6f":206,"bee2f451e4a2e28c1b38d4b470b4c5281d2f1807":89,"0dc96587055c06a8bf8a739d2a0a2c4d0f660b9b":291,"80aac70298e2e7481aecfcd453d86ccace2521c5":901,"01cb010e7056a02b5ae858e6d49d642660dbd80f":5,"80a4f7476610643c5f5c27012d4f224272cda4d8":1,"014f0d6f06355e3b96fb5389639a9a539b51b7b0":488,"d06ae86352ef7f1d66a2bf4678c8496d3bec9af7":1,"97993bfe93edbcff83198d8aa444b9d2b0e0a3c7":0,"115deefc166dee87a07f55719cdb6ab35b1ebeb5":361,"3b9c9ed64b4ff4d8218862ac102eca21a46f1398":2076,"3fdd2291aa8711791dd1d3660200bb9deafade07":1,"483b9ddb3106d7d091151b769dd858fe9d543ad8":7,"12564873f7b34cda858a29aaf2bcf7b916fced37":1,"b9fa10a83cf226bef305235c79aab3b1c5ae3179":707,"2d0bd562a73fb4a0c4ab92542f0c149118c27fe7":1,"ff546a021a20805eed265cde5509983d7e5b7e1e":594,"58c01423acbbc2479cdd10910f05ec188fd57481":266,"0164b7cf3882773693c40983c7de6869ad6b9db4":1033,"e4c5e9c2bd9d539b33f71898ae422aeee097d26c":422,"5905563bda773f8d0a411983188b665d300a3002":165,"ff4bc7f809971d3f96f934ff57467de67e442a80":0,"fbfe15bd47181015c178ab2e69991ec411ee1a8f":788,"5abe54aafae18ee45c5b58c98aa120d25cee50b7":1158,"204acf02addf18526cbbbc52d216d1030596bba4":1177,"fec99ecd241eb2f991c1f96249b582187d2fc747":1,"e3a182f2984461a926bfa47def3843a9b5fcd9cd":382,"68f2fd4922685ce924ac16fe6079274f66a671d1":730,"d2ebb740f06f908daf4c60fe8b4ad59c69246c25":294,"86c8f94307e2f9ea8db981568dc261d8c0a18fa7":391,"15e949e3b5bb74150b7557692fb6d7ba5c4a929a":1,"7e031b2186a06c51b5dfe7593227f610e26b437c":12,"f13bf63ebf8405ad4e4722acb2bd9a1c466625c2":4,"479c4971ac583f6808b96544acc4d53a7cd4395e":37,"385351524b0bc37770cdeb0b26d9b6f9850ac4ee":956,"d084b5cb6456cbe059c01b23ba458525bb266f0b":2,"27629d71d598172a2470326977b2190e3a5335b5":43,"6f24c56d673a57151fb0f8ddd2bee08cfc86c54b":11,"fcb2e28dd061a192e781b08331aab7ff476f9851":586,"3d5ae5549e12911f5e4ea70818332f33520d0852":354,"c25a1eec3069751395a66975aef1a8eaf814a800":585,"75fd376951edb1861fca55b85c6805474d3fc096":60,"a0acfa60d8f5935fb624003f08004f25d6d6d587":74,"07918adacf3ee9a5c88347dd02598178956112b5":4,"2e270cee164ecc017d49158f2e8251d9e19e4f31":46,"30df3510900d148d51b63add75ef89371c6889c7":22,"7e8afc99226c9301cda1e904fc5675809b941108":1,"ca0958bf64c59d2f98073dacdfb980c58147ccc4":649,"cbf96be94408d14a82569448874d904973d1ee80":310,"e162c268f0e7a3320795880c737e8f21bd1fd38a":1,"46dde4c83a96d952d98fe4af553c755f21c00ec9":615,"bc52a052822c2932d0d41dbd150b50b23f2d328c":655,"fd0acccec8a08de85e523ab1353b67992d7f7e1c":51,"7edf5b104eb0490415b083b4384b61c116ef5eca":206,"e6d97c7c5562a0d0e7b8fb51b5b68c6c5b89c929":1,"776a70e32e3eb1509b201e3a3d963cd6c5ec6956":35,"e1409dd07da2478001afa3439cf41172aca222b6":935,"4e3eea56be217fe904d92d2d066ec80936a52c44":795,"39d41807d73eb2dd6719ca75de72cb797d17ca42":1,"e339494dc5ff9eb6cf83a3dc5450dbcf0605f8ee":0,"b1ca8ae2ef9c30f73c418af5f1c582f250a098ab":8,"4b3ec1be6dc0273137be433db0cb4a59a4341d61":0,"2e1c9fddc35383a3698b024ed995474705f86058":46,"9dea0403872c890dea34c41babc4ff1763471e2d":0,"fcdd1180c014fb3e836f79e2ac4d15fe3f7f1c30":17,"88e68018c9523ee190c2fb804838b8d75a18e6f2":0,"aec7231c11d15e41419b1d5c7e3261862bb82ec8":11,"2350beb7ee240dead4a73ed15e366239ff06a851":0,"f72f9fd52dc6905257ed78465f0f13f6d59d1e64":886,"b5e8fb6df25c7911fb6910dbfed97c2854ae77a8":0,"9568120757e2d344c0faf10792fbcc61cc3f57ac":397,"74fdf8c60cc67b8d44482b7b48abe42d3dfe97c4":0,"ca7a3cc8bfc895e1ee5925d1ee82af8d60259337":338,"ad37b48e30b43953f5aaaafc4c3aa761f1d8d162":0,"1a07b956f0f9e32a2b6d54e65dc12f973add2bdd":312,"2dce41b0c62612bc37410d4fb2c92dc5b53a83e9":1216,"51c6a05e516542e636530e089d2fa00d57df3b3c":18,"8bdf4b08c8243fd2b4ad46f10347cc22e4774615":605,"033ec04347e309b399267a1c639bbcb9a97cae35":734,"7f419e95867abc2bf1395c816ae2167b78669ebe":2034,"a6ba24a35d56398056839bc19505da31b90a7cbc":231,"b7103e2376b615e4b7c0b8cffc61ac6b94919fa5":132,"a149d9dfb637d1c7cf6cf2752465fd33ca8010fc":673,"3cf541fd1e1a1aaa9320685791cbd945a2d2517e":170,"22d84c1aa5355388b5e6cb55562d004979e422e9":938},"tools":{"claude-code":{"name":"Claude Code","commits":370,"loc":201690,"first_seen":1791450351,"last_seen":1794636501}},"monthly":{"2026-10":{"loc":144170,"attributed_loc":114229},"2026-11":{"loc":87461,"attributed_loc":87461}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1791450351.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/CLAUDE.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":"CLAUDE.md","added_at":1791450351}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":104.0,"flagged_units":27.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":178098.0,"flagged_loc":140036.0,"flagged_loc_share":0.7862862019786859,"max_loc_per_hour":6930.904077210952,"median_loc_per_hour":344.0,"pr_timed_units":6.0,"excluded_import_loc":53533.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"39,098 lines of first-party code in ~5.6h (6,931 lines/hour, 34 commit session)","ref":"2d6b912ef0326602262d7dff2ffce890177c956d","url":"https://github.com/therealMRBK/NextFloor/commit/2d6b912ef0326602262d7dff2ffce890177c956d","weight":0.6},{"kind":"velocity-burst","description":"8,258 lines of first-party code in ~3.2h (2,566 lines/hour, 20 commit session)","ref":"04180a471a1f135c64942fc245d4ffbd18d372bf","url":"https://github.com/therealMRBK/NextFloor/commit/04180a471a1f135c64942fc245d4ffbd18d372bf","weight":0.6},{"kind":"velocity-burst","description":"4,606 lines of first-party code in ~2.0h (2,326 lines/hour, 5 commit session)","ref":"2d84abcd6752a028b0c9ece02a2b263053053adc","url":"https://github.com/therealMRBK/NextFloor/commit/2d84abcd6752a028b0c9ece02a2b263053053adc","weight":0.6},{"kind":"velocity-burst","description":"11,170 lines of first-party code in ~5.7h (1,967 lines/hour, 18 commit session)","ref":"b7af4be15c807a615b41b690ccf25dae99d20bc9","url":"https://github.com/therealMRBK/NextFloor/commit/b7af4be15c807a615b41b690ccf25dae99d20bc9","weight":0.5901956947162427},{"kind":"velocity-burst","description":"4,471 lines of first-party code in ~2.3h (1,912 lines/hour, 16 commit session)","ref":"c2007c6116614ade343bc8ab838c0f0af8a9669e","url":"https://github.com/therealMRBK/NextFloor/commit/c2007c6116614ade343bc8ab838c0f0af8a9669e","weight":0.5736818343827966},{"kind":"velocity-burst","description":"4,507 lines of first-party code in ~2.5h (1,771 lines/hour, 1 commit session)","ref":"032f1c3a408b581cdf71b1e678a5c75e431c1e85","url":"https://github.com/therealMRBK/NextFloor/commit/032f1c3a408b581cdf71b1e678a5c75e431c1e85","weight":0.5313930131004367},{"kind":"velocity-burst","description":"6,729 lines of first-party code in ~4.3h (1,581 lines/hour, 3 commit session)","ref":"5958ffc7f2fe619257b71b14d5e750a0378849b2","url":"https://github.com/therealMRBK/NextFloor/commit/5958ffc7f2fe619257b71b14d5e750a0378849b2","weight":0.4743062263412087},{"kind":"velocity-burst","description":"5,330 lines of first-party code in ~4.1h (1,287 lines/hour, 15 commit session)","ref":"01cb010e7056a02b5ae858e6d49d642660dbd80f","url":"https://github.com/therealMRBK/NextFloor/commit/01cb010e7056a02b5ae858e6d49d642660dbd80f","weight":0.38618006172011277},{"kind":"velocity-burst","description":"9,198 lines of first-party code in ~7.2h (1,272 lines/hour, 21 commit session)","ref":"521f5c75d9bc237597ffbd0fdf3423f8c6f044fb","url":"https://github.com/therealMRBK/NextFloor/commit/521f5c75d9bc237597ffbd0fdf3423f8c6f044fb","weight":0.38151317305476606},{"kind":"velocity-burst","description":"6,097 lines of first-party code in ~4.9h (1,251 lines/hour, 11 commit session)","ref":"6929f317bc6b90ab970584530b023d9935b1cba3","url":"https://github.com/therealMRBK/NextFloor/commit/6929f317bc6b90ab970584530b023d9935b1cba3","weight":0.37520000000000003},{"kind":"velocity-burst","description":"1,261 lines of first-party code in ~1.1h (1,158 lines/hour, 1 commit session)","ref":"fb9a2c0e07e7b5f28486b5ee3bbefe2e7a25b504","url":"https://github.com/therealMRBK/NextFloor/commit/fb9a2c0e07e7b5f28486b5ee3bbefe2e7a25b504","weight":0.34741836734693876},{"kind":"velocity-burst","description":"2,336 lines of first-party code in ~2.3h (1,007 lines/hour, 3 commit session)","ref":"fec99ecd241eb2f991c1f96249b582187d2fc747","url":"https://github.com/therealMRBK/NextFloor/commit/fec99ecd241eb2f991c1f96249b582187d2fc747","weight":0.30199664831218576},{"kind":"velocity-burst","description":"2,333 lines of first-party code in ~2.4h (986 lines/hour, 7 commit session)","ref":"0e09f01370337312f5158580263fcfb18ea7e8d1","url":"https://github.com/therealMRBK/NextFloor/commit/0e09f01370337312f5158580263fcfb18ea7e8d1","weight":0.2956629899084721},{"kind":"velocity-burst","description":"4,171 lines of first-party code in ~4.5h (922 lines/hour, 5 commit session)","ref":"9eb5003514674f48611e45c5b46454d29df0fa08","url":"https://github.com/therealMRBK/NextFloor/commit/9eb5003514674f48611e45c5b46454d29df0fa08","weight":0.2765643418467583},{"kind":"velocity-burst","description":"1,047 lines of first-party code in ~1.2h (838 lines/hour, 3 commit session)","ref":"1a07b956f0f9e32a2b6d54e65dc12f973add2bdd","url":"https://github.com/therealMRBK/NextFloor/commit/1a07b956f0f9e32a2b6d54e65dc12f973add2bdd","weight":0.25150355871886115}],"data":{"flagged_loc_by_commit":{"d07f70067a9fd3aa73ae1524a3c350dd17f7c3e3":283,"6b434e550a97213f4e7715893012f5bbfd3efb42":213,"273e064eadd8554cbcc92b22fb79e06554de9dc1":692,"6fc66bdda0e39c3d932a51c79725bd863f7bf813":59,"b39c176895ad46b87aa7439e0aae6635f49924d5":331,"ed224194a14d3eaaa78d1d6763af9313a4daa327":475,"2cf5979f9d32ef3e49a24a704a6919c784f33527":412,"d25969d477a73367930bbcb9445610b330002d28":831,"65b587477e7014d35b42a080d558447e282bfa93":508,"4128dc4012053937f80fba6efe3aa477f7f38686":2726,"65b3c4013816b4fd9f279a6b86a05b41dddbf9a2":1733,"f09eac3b5a036a6e868548883b0bd2cb77d78a43":1957,"db6ebea902516042a77ec5dc0683b87cdb922d10":1913,"019bcac5ac6c2db5e56a48d574d68a6683bae881":582,"73bdd574172268e1652f9ba897e603e907adad6f":442,"35d0f5e7232c4eeb7e0245cdc9f94154bc0a4c23":408,"6b2559fe00554309412c0a1d7557cd4c68736686":350,"723f1c8989455e6f7dd1127924381446c163ad6a":839,"ef1c325781c3cc0ff882e5a6db2ac43066eb99a7":732,"9526505552f6b476c1bf45358be0038e813bdb2a":1116,"15914e0c973fe7f24440f3d89b78db4735323cf8":1711,"2eb7562b8cb08d8ea748b153749763e5adcb1edc":470,"8ddf22e705a27e4ed8ef97bfcac418801e1f3057":1564,"49b903c116028955743089b444b93d2fc7c41adb":1647,"b629add4f5de18f485b66290c6370ecc1c454804":5629,"30a1b7e46f8ecfd018af3095be97b706201d42c3":779,"50ef5b48ee188617aa3f0c54e8190480315f170b":1848,"b550bbb822ef501444b24108574f27101c12cb6d":1844,"c5f5514dc94e627a985cf4c64d4d51deef7db7c2":1092,"e631eef6f4d1f68ea48dbfec0f59ce11281b30f1":1094,"476fe5a34009e7745fce8bbfd57cbb8893dfcfbf":804,"45eec6e08db26a131790eea0c3d1bf4441b56ec7":940,"266f34917d9089697b037d5f367af9801f088948":1082,"1008485ff7a32082fcac774566704abd655874be":582,"53364ee5dccd04b57fb6a4e419b9be7f8d799401":545,"1fc05ef45efda2c8f4d75bb07bb098baa3feea20":719,"eeeb91e0c9c933b58412d97e574ac2d763758244":999,"2d6b912ef0326602262d7dff2ffce890177c956d":394,"8ec949d1b46f32ca4ec52e3844e1e14c6855a204":965,"f4f2694b524c3798efef39d8ab6098010a5d08f3":834,"3f43fc158eb89e8417b9454a401c7a1ed8b41582":508,"131079857a00fb06ab9e870fcebff4e0c07fdd68":561,"3e5b67455efb481684347311c9d4e1c683d547ea":268,"cd9ea9f6a0e69d7567a3914e6d35409a1f2d32f0":304,"5ac5c81051aa33714eae3feff1283e214bf528ea":368,"1dedc7892e28777a89405e1023880a0008869946":427,"795eb95c1ce033447a25d04edd60bf7358f842c2":1733,"eeed6eabc1e7fa9c2370e564cd5e7fdd29b39de6":31,"6929f317bc6b90ab970584530b023d9935b1cba3":98,"31dfec099701058550d9fdc7eb6aaa2f5a7638b4":348,"d99861084ada69c71b40c0eee8c879381dec5ded":361,"1ab49b24bcba4f167806991930b250bfcf6a8dbb":1574,"c605f8eae44cef2fdcb43e01480a22575880000b":872,"2d84abcd6752a028b0c9ece02a2b263053053adc":1451,"032f1c3a408b581cdf71b1e678a5c75e431c1e85":4507,"62505d7602a76cec91500ba90e71099e9f777dec":1,"86d6a0c19227b44d07088408fcfbf7e320a7be79":276,"3d032ac4d2813fb7677cec6608200f4e034c4626":1914,"9deb2ea44214d14d6e0cc50c6946393a72bab691":611,"c5699868fb58ad4791421d37fd3adc51b41ca9f4":420,"4d8cdfb4b8b6c283223741654833c116c3dae6c4":909,"0805e147b3fe8dfb76b01a2899061b0af68378ec":23,"c7757d7792f4b84bfabb9d045cb30525602b89e8":860,"be8023f125b3ee9a7a6be8b6f7cd5a7e50be7d5d":1,"fd0d35896d850b5f5f3b4b8d318fe1f8178b2f50":1093,"06eb7df0d38706d9e8264e0c1bc5b30cc2a622bb":11,"097970b12efe45031c4030ace38fce0d640cfe8f":402,"07acba71839379decd3612a16b978196efaff999":1330,"1e1dc6f5077e962421305a5a61af5d9407ffa92c":567,"7c644cade81dbe6b19f2d25deacd4793ff0d4efd":567,"6376aa574d27fffb398dbcf88ec0ff445cb7d43d":1324,"8c9d637537c82adcda2c850ada15806895e8ad88":311,"b7af4be15c807a615b41b690ccf25dae99d20bc9":550,"b58d651e1a9033af268139cda82365843da0f150":180,"43bc7a5bd0ca468fe8026cdb86e16f3b2d6c3c01":932,"cd75423ba1456222a2ee49a156e43afb6e56de48":790,"860580935259d925988a710516bc39a65fffa426":453,"c084d73e22cc2c8d1979430f7df02141ee5e9796":292,"940bc0cb6c8f5d37eb3826dfb7c718ae778c4027":424,"fbecc8f28222b42205de494f5da4e1e4867ccc2d":239,"fb9a2c0e07e7b5f28486b5ee3bbefe2e7a25b504":1261,"945a41e71e020265b707135225e4de9605070b7c":1,"260532f3db7c73ecbdb063c94a82f61b1f9b51b2":115,"3c7e076448b6d6b3523ddd0294ce8a0ef15a6234":221,"ba0ab06a8891e2d2c8afea4407958978cf5382bc":1753,"cd5c9bec7776f805d41d8a94173153db832316e6":630,"922f6ed5c84df9735b8c346cd6580af86009e167":427,"b1b8e51ad33c4b66a17830b2faf4c4f68804700e":96,"b1c78f356dc1c8f891d2cf847df308e0526a3fa3":445,"9ebc84e3f29c5040b01b8e10b6e6fb3eb30f4904":134,"83b43e7f99aa2166b9c94ffe32ec2636c3a7c4d6":487,"a97afe2f8e38205d9f774d84873b1ac6ed0e5be9":6187,"47387bf5fb848539e536d13e8ccb3401405198c9":541,"5958ffc7f2fe619257b71b14d5e750a0378849b2":1,"f349b86ae71832cd14208d6aebe48059028ff792":68,"a96b01554d316bacd27de0d981426dd16573bd87":126,"f6f2aba9c1010b0be64cf75159d7d144fa43203d":57,"48ef9b0ac46ea6c64c9e343db819f89168acf95f":32,"d1333d85002a302f132bad4a7606ec244c121344":1117,"ef5c280fb434c213d2d6d46582e2662759d66fab":65,"5532dbb80af7ebee09231d9c2871209228409546":1152,"4bc71fb67eee5084370060ddd98dad9589609ff7":407,"45dbe984bbfbc0c952b103abe11cceebd50f1cdb":192,"11552e90065432d7f186bec121c3a234f5879910":129,"9f9888e5c72512d87749619e5ecd056234f47263":56,"37c6a904fb4e74b50e6ae26a6a0e3c996c5a48f7":1,"c4811a98b955b7617a9a7a49ffa3fe3a6da76935":954,"061e30fd58bb30c117d32a109e1e56f6a722213a":276,"888a3228ebb548e100f70a2abdb426fd7cfa77a8":1020,"2753b309da43a1cbe31859ce7148004e48921140":209,"12252c7d5007db16988e8641c5478a154c59cc48":70,"1fbef7b0fe175720ae96bb2c065b83156f83cdbe":589,"89c5479d7f4733c071b2510f315b70aa6ac6f71e":643,"041f847ff2f0c8faae33dc8e3714f448edde2595":303,"e6be73fe0d5814a22b9143b508a42a046d66f1b3":179,"98931d58781f1978808d06dec44b36a5aad9046c":231,"1654588afd7069d169a3f9e10f730d8059e979dc":351,"c2c075042cb08f33dcbe271df9d5e47d9025ea18":472,"378c5cc342840426f0b3c246d4d55eefc3e0e90b":655,"a561502be2c9de4d19fce258def59a5c7c20c839":601,"bfebf17a5c3fab8e39eb1967e7e72e60c3e82fb7":338,"4ff5f8a6ac2a5cd4d4d608f13df108207614228e":383,"76b9c009271d98e1b9ddb0f5ea8e5043fb16c45e":425,"cbf56d7cdccf6d51f0caa4006b69dbe2a662e809":411,"04180a471a1f135c64942fc245d4ffbd18d372bf":147,"ee35cf432c140b2a7110857247116908eafdf82a":395,"5468d2e8a5fa8d1b8b7b936b4092d241f9e51bd0":242,"6e7477da094294bdaac5b7651579d5f92d9a69f8":332,"33f24194143b7ae71d5fdf8c5ce594d07e641e34":461,"c3d338f4a5c808f5e9992134b058054523425c6c":338,"08d6fa67a46c5e4b1d446d8235d3c75ebc65e1c5":176,"c7a8641f772a1615c4713900b1b805c766414a23":370,"5b58a2d7dae612b37d32b19344c6c5c8be0ccfd4":287,"4d12f42923669909867ca253e2623f847933125d":408,"3639b8d7c0e7ebf8a8b61305da42f99963ff34c0":122,"a2f67b24def870700a482a6a75e1231c32685f55":71,"e8d6e885e38909892c69bce2c5d2f81fac5dac3a":52,"3f688bf385f18e84dfcb4f4c8d610d6fb8e01860":1,"17c52d6dfb5cb9e1f3ffdb6b4a353eb40dc8b528":115,"4cd42ee7304610d7974236072f059b8c82473eed":474,"c2007c6116614ade343bc8ab838c0f0af8a9669e":627,"4e54075eb575ccfe8c71b650baa7a5333609093a":1,"0bc5bf8b424c16ff3fb2dc46176396a97a3293ee":518,"4d4aaba9f677a5bfe4046138db559789d24def1d":1261,"35d0df7f4417f4951dab245145ffe1456d27687e":245,"eaf8057e73dfc889004be11d56c3ac526d4ae6a6":846,"fc97cc7126dc4466b23d121448e54b2ca37b33c2":283,"d7878bdb0918249c22b9f7ac85c2d988e207c469":311,"1a70c64c13dc5ce2ae4d9ab10231a220316d7193":1062,"0360b4a338e508afeccd3495f3c31a4996467ef4":138,"f91f8e33a5a6f4e8d88e4d7f33ee951a176b5176":174,"5e357d88308e82db984705f389656e9e70d612bf":894,"50a623e36b656b3dff4942254041037f7ab0f032":221,"27902c9c96413c4e1672675e03bf733f2c755b6a":1,"c1035c5f1b34eccad5f58c58ac141870ceb6c547":741,"c18f334ad0e08dc84aef5ad510a2dc8bc318a7e9":224,"4e365fce4fe66abe84d8289932fb58cf7ebf8741":889,"12c1d3bd580f35f81d6ec10be61f7217e34e7ab0":340,"1f8e7e7514f538d7a3b7d96943c8c11f78b44d99":370,"e7aeba82b070a6e18935491b3e4d7c0c31b0c2bf":264,"e9fd112271fda87c9de226be27b306ef8ed5fd2b":224,"521f5c75d9bc237597ffbd0fdf3423f8c6f044fb":191,"ad15174c9ab7f50ccebc64b3c3912c99e8bf86b8":40,"489d9507aa4ee8af5da1996fce360fd41763cc28":475,"a73ace2584253d3ec6662ad705fecc5975b95723":3,"faef7aa17e959de04dd97532a1dbbc8212a98693":43,"f50845405d16d9b8b0758a8703905d6af01c375a":464,"d14d22c086a28c99b0063c9db06deaf8f41e5dad":486,"a7201a3ca45b91c3e35bd24773f86d1822c061fd":213,"adfe5cedfdefdddd91c11c840debaa065330c6f3":444,"04a0d7a77d2a0dd2504b2c54728d4252232eca95":40,"67e13ab55da53bd2fc7c2bcebd652cc3575c0cde":68,"acccef49f3d16d61f6739dce4526bd4d7ceffaab":554,"209ac22b9e494f19c2da09eadc7f935bc7bd49ad":674,"27610d47fee5a76d8e330f532700be59c9694799":1100,"7fff540e6cf569e37a34b9feb96aefeb47d993d9":420,"d1550ad73a8e6f3e708a849b1b71ea9d48d52375":137,"37f84cc42e515b0deb833928bc8398e88fbc2acf":393,"f71cb55a4852b5135b836f8597eb3c741bd6dcc9":231,"7d6de6c5d79071774d93befaa981711697ee5221":48,"0e09f01370337312f5158580263fcfb18ea7e8d1":4,"36eeac3181f4d7b9472900c067ce853a1b705afa":32,"56a4f1f455931956d2bc52836d597fc799209187":374,"2322da79c03f33cd6fafb1b8a1596bfe9eaf6c3f":298,"de4fd7f5e6d1345b76761152ba0d30bed32093ca":680,"d8642c488b2faf5453466b5df263b0b3ecaf378f":69,"b23d6c42c7eaa8f54b52751bf94db431c15bda15":1,"d4b86d27533747b177b79b057a5ef9d02b44f9ae":727,"4df6c16bcdcce6dbddbb7800309bb693211fcf7b":1183,"6c71b8733c4b5692322d84ac160d277e799bcdd6":211,"bc261fc560f608926a580f8ec0823d8c764655a1":263,"1fcbd32384107c05cd83caf9cbe7d03d84bf8a6f":206,"bee2f451e4a2e28c1b38d4b470b4c5281d2f1807":89,"0dc96587055c06a8bf8a739d2a0a2c4d0f660b9b":291,"80aac70298e2e7481aecfcd453d86ccace2521c5":901,"01cb010e7056a02b5ae858e6d49d642660dbd80f":5,"80a4f7476610643c5f5c27012d4f224272cda4d8":1,"014f0d6f06355e3b96fb5389639a9a539b51b7b0":488,"d06ae86352ef7f1d66a2bf4678c8496d3bec9af7":1,"115deefc166dee87a07f55719cdb6ab35b1ebeb5":361,"3b9c9ed64b4ff4d8218862ac102eca21a46f1398":2076,"3fdd2291aa8711791dd1d3660200bb9deafade07":1,"b9fa10a83cf226bef305235c79aab3b1c5ae3179":707,"2d0bd562a73fb4a0c4ab92542f0c149118c27fe7":1,"ff546a021a20805eed265cde5509983d7e5b7e1e":594,"58c01423acbbc2479cdd10910f05ec188fd57481":266,"0164b7cf3882773693c40983c7de6869ad6b9db4":1033,"e4c5e9c2bd9d539b33f71898ae422aeee097d26c":422,"5abe54aafae18ee45c5b58c98aa120d25cee50b7":1158,"204acf02addf18526cbbbc52d216d1030596bba4":1177,"fec99ecd241eb2f991c1f96249b582187d2fc747":1,"e3a182f2984461a926bfa47def3843a9b5fcd9cd":382,"68f2fd4922685ce924ac16fe6079274f66a671d1":730,"d2ebb740f06f908daf4c60fe8b4ad59c69246c25":294,"ca0958bf64c59d2f98073dacdfb980c58147ccc4":649,"cbf96be94408d14a82569448874d904973d1ee80":310,"e162c268f0e7a3320795880c737e8f21bd1fd38a":1,"46dde4c83a96d952d98fe4af553c755f21c00ec9":615,"bc52a052822c2932d0d41dbd150b50b23f2d328c":655,"fd0acccec8a08de85e523ab1353b67992d7f7e1c":51,"7edf5b104eb0490415b083b4384b61c116ef5eca":206,"e6d97c7c5562a0d0e7b8fb51b5b68c6c5b89c929":1,"776a70e32e3eb1509b201e3a3d963cd6c5ec6956":35,"e1409dd07da2478001afa3439cf41172aca222b6":935,"4e3eea56be217fe904d92d2d066ec80936a52c44":795,"39d41807d73eb2dd6719ca75de72cb797d17ca42":1,"b1ca8ae2ef9c30f73c418af5f1c582f250a098ab":8,"9568120757e2d344c0faf10792fbcc61cc3f57ac":397,"ca7a3cc8bfc895e1ee5925d1ee82af8d60259337":338,"1a07b956f0f9e32a2b6d54e65dc12f973add2bdd":312,"7f419e95867abc2bf1395c816ae2167b78669ebe":2034,"88e72314b42ff6b321a2349315bc8669f2e341e1":551,"8f879270c9871312f555193f0dbd18a5b7168d17":1771,"c16371104054c66d8060818bdf3fe5c4ddbd651a":743,"38cca2b65b0b4d73abf92a5cfcba1977e84bd926":635,"9eb5003514674f48611e45c5b46454d29df0fa08":471},"excluded_import_commits":["e3355e82dc8dd85186d0fba461c7e2634a635443"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":62.0,"flagged_releases":9.0,"max_loc_per_day":90290.2},"findings":[],"evidence":[{"kind":"release-burst","description":"v0.5.0 → v0.6.0: 45,149 lines in 4.0 days (11,290.6 lines/day)","ref":"v0.5.0...v0.6.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.5.0...v0.6.0","weight":0.4},{"kind":"release-burst","description":"v0.7.0 → v0.8.0: 11,203 lines in 0.79 days (14,240.1 lines/day)","ref":"v0.7.0...v0.8.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.7.0...v0.8.0","weight":0.4},{"kind":"release-burst","description":"v0.13.0 → v0.14.0: 17,146 lines in 2.87 days (5,966.3 lines/day)","ref":"v0.13.0...v0.14.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.13.0...v0.14.0","weight":0.4},{"kind":"release-burst","description":"v0.15.0 → v0.16.0: 11,895 lines in 2.12 days (5,619.5 lines/day)","ref":"v0.15.0...v0.16.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.15.0...v0.16.0","weight":0.4},{"kind":"release-burst","description":"v0.16.1 → v0.17.0: 7,573 lines in 0.56 days (13,641.3 lines/day)","ref":"v0.16.1...v0.17.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.16.1...v0.17.0","weight":0.4},{"kind":"release-burst","description":"v0.17.0 → v0.20.0: 11,512 lines in 0.13 days (90,290.2 lines/day)","ref":"v0.17.0...v0.20.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.17.0...v0.20.0","weight":0.4},{"kind":"release-burst","description":"v0.21.0 → v0.22.0: 12,851 lines in 0.45 days (28,800.0 lines/day)","ref":"v0.21.0...v0.22.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.21.0...v0.22.0","weight":0.4},{"kind":"release-burst","description":"v0.25.4 → v0.26.0: 5,331 lines in 0.56 days (9,452.4 lines/day)","ref":"v0.25.4...v0.26.0","url":"https://github.com/therealMRBK/NextFloor/compare/v0.25.4...v0.26.0","weight":0.4},{"kind":"release-burst","description":"v0.26.4 → v0.26.5: 5,604 lines in 0.28 days (20,203.9 lines/day)","ref":"v0.26.4...v0.26.5","url":"https://github.com/therealMRBK/NextFloor/compare/v0.26.4...v0.26.5","weight":0.4}],"data":{"releases":[{"from":"v0.1.0","to":"v0.2.0","loc":675,"days":0.04,"loc_per_day":16200.0,"flagged":false},{"from":"v0.2.0","to":"v0.3.0","loc":283,"days":0.04,"loc_per_day":6792.0,"flagged":false},{"from":"v0.3.0","to":"v0.4.0","loc":905,"days":0.04,"loc_per_day":21720.0,"flagged":false},{"from":"v0.4.0","to":"v0.5.0","loc":59,"days":0.04,"loc_per_day":1416.0,"flagged":false},{"from":"v0.5.0","to":"v0.6.0","loc":45149,"days":4.0,"loc_per_day":11290.6,"flagged":true},{"from":"v0.6.0","to":"v0.6.1","loc":31,"days":0.04,"loc_per_day":744.0,"flagged":false},{"from":"v0.6.1","to":"v0.6.2","loc":98,"days":0.04,"loc_per_day":2352.0,"flagged":false},{"from":"v0.6.2","to":"v0.6.3","loc":348,"days":0.05,"loc_per_day":7046.4,"flagged":false},{"from":"v0.6.3","to":"v0.7.0","loc":361,"days":0.04,"loc_per_day":8664.0,"flagged":false},{"from":"v0.7.0","to":"v0.8.0","loc":11203,"days":0.79,"loc_per_day":14240.1,"flagged":true},{"from":"v0.8.0","to":"v0.8.1","loc":25,"days":0.04,"loc_per_day":600.0,"flagged":false},{"from":"v0.8.1","to":"v0.8.2","loc":267,"days":0.15,"loc_per_day":1788.3,"flagged":false},{"from":"v0.8.2","to":"v0.8.3","loc":480,"days":0.35,"loc_per_day":1391.0,"flagged":false},{"from":"v0.8.3","to":"v0.9.0","loc":1376,"days":3.32,"loc_per_day":414.2,"flagged":false},{"from":"v0.9.0","to":"v0.9.1","loc":472,"days":1.11,"loc_per_day":426.8,"flagged":false},{"from":"v0.9.1","to":"v0.10.0","loc":4605,"days":1.47,"loc_per_day":3130.1,"flagged":false},{"from":"v0.10.0","to":"v0.11.0","loc":992,"days":0.9,"loc_per_day":1100.5,"flagged":false},{"from":"v0.11.0","to":"v0.12.0","loc":1559,"days":1.98,"loc_per_day":786.8,"flagged":false},{"from":"v0.12.0","to":"v0.13.0","loc":1503,"days":1.79,"loc_per_day":838.3,"flagged":false},{"from":"v0.13.0","to":"v0.14.0","loc":17146,"days":2.87,"loc_per_day":5966.3,"flagged":true},{"from":"v0.14.0","to":"v0.15.0","loc":2243,"days":2.96,"loc_per_day":757.7,"flagged":false},{"from":"v0.15.0","to":"v0.16.0","loc":11895,"days":2.12,"loc_per_day":5619.5,"flagged":true},{"from":"v0.16.0","to":"v0.16.1","loc":1433,"days":0.74,"loc_per_day":1927.7,"flagged":false},{"from":"v0.16.1","to":"v0.17.0","loc":7573,"days":0.56,"loc_per_day":13641.3,"flagged":true},{"from":"v0.17.0","to":"v0.20.0","loc":11512,"days":0.13,"loc_per_day":90290.2,"flagged":true},{"from":"v0.20.0","to":"v0.21.0","loc":1217,"days":0.27,"loc_per_day":4492.4,"flagged":false},{"from":"v0.21.0","to":"v0.22.0","loc":12851,"days":0.45,"loc_per_day":28800.0,"flagged":true},{"from":"v0.22.0","to":"v0.23.0","loc":1103,"days":0.63,"loc_per_day":1743.2,"flagged":false},{"from":"v0.23.0","to":"v0.23.1","loc":48,"days":0.04,"loc_per_day":1152.0,"flagged":false},{"from":"v0.23.1","to":"v0.24.0","loc":821,"days":0.18,"loc_per_day":4479.3,"flagged":false},{"from":"v0.24.0","to":"v0.25.0","loc":4225,"days":2.58,"loc_per_day":1637.4,"flagged":false},{"from":"v0.25.0","to":"v0.25.1","loc":797,"days":0.65,"loc_per_day":1233.7,"flagged":false},{"from":"v0.25.1","to":"v0.25.2","loc":6,"days":0.04,"loc_per_day":144.0,"flagged":false},{"from":"v0.25.2","to":"v0.25.3","loc":204,"days":0.04,"loc_per_day":4896.0,"flagged":false},{"from":"v0.25.3","to":"v0.25.4","loc":2440,"days":0.13,"loc_per_day":18620.0,"flagged":false},{"from":"v0.25.4","to":"v0.26.0","loc":5331,"days":0.56,"loc_per_day":9452.4,"flagged":true},{"from":"v0.26.0","to":"v0.26.1","loc":489,"days":0.04,"loc_per_day":11736.0,"flagged":false},{"from":"v0.26.1","to":"v0.26.2","loc":2438,"days":0.04,"loc_per_day":58512.0,"flagged":false},{"from":"v0.26.2","to":"v0.26.3","loc":8,"days":0.05,"loc_per_day":165.0,"flagged":false},{"from":"v0.26.3","to":"v0.26.4","loc":708,"days":0.09,"loc_per_day":7560.4,"flagged":false},{"from":"v0.26.4","to":"v0.26.5","loc":5604,"days":0.28,"loc_per_day":20203.9,"flagged":true},{"from":"v0.26.5","to":"v0.26.6","loc":1798,"days":0.17,"loc_per_day":10791.0,"flagged":false},{"from":"v0.26.6","to":"v0.27.0","loc":2797,"days":0.74,"loc_per_day":3773.8,"flagged":false},{"from":"v0.27.0","to":"v0.28.0","loc":2488,"days":0.2,"loc_per_day":12402.7,"flagged":false},{"from":"v0.28.0","to":"v0.29.0","loc":1766,"days":0.04,"loc_per_day":42384.0,"flagged":false},{"from":"v0.29.0","to":"v0.29.0.1","loc":8,"days":0.04,"loc_per_day":192.0,"flagged":false},{"from":"v0.29.0.1","to":"v0.29.0.2","loc":46,"days":0.04,"loc_per_day":1104.0,"flagged":false},{"from":"v0.29.0.2","to":"v0.29.0.3","loc":17,"days":0.04,"loc_per_day":408.0,"flagged":false},{"from":"v0.29.0.3","to":"v0.29.0.4","loc":11,"days":0.06,"loc_per_day":169.5,"flagged":false},{"from":"v0.29.0.4","to":"v0.30.0","loc":886,"days":0.11,"loc_per_day":7735.5,"flagged":false},{"from":"v0.30.0","to":"v0.30.0.1","loc":397,"days":0.04,"loc_per_day":9528.0,"flagged":false},{"from":"v0.30.0.1","to":"v0.30.0.2","loc":338,"days":0.04,"loc_per_day":8112.0,"flagged":false},{"from":"v0.30.0.2","to":"v0.30.1","loc":312,"days":0.04,"loc_per_day":7488.0,"flagged":false},{"from":"v0.30.1","to":"v0.31.0","loc":1234,"days":0.18,"loc_per_day":6808.7,"flagged":false},{"from":"v0.31.0","to":"v0.31.0.1","loc":605,"days":0.13,"loc_per_day":4705.8,"flagged":false},{"from":"v0.31.0.1","to":"v0.31.1","loc":734,"days":0.04,"loc_per_day":17616.0,"flagged":false},{"from":"v0.31.1","to":"v0.31.2","loc":2034,"days":0.21,"loc_per_day":9733.5,"flagged":false},{"from":"v0.31.2","to":"v0.31.3","loc":231,"days":0.55,"loc_per_day":423.1,"flagged":false},{"from":"v0.31.3","to":"v0.31.3.1","loc":132,"days":0.81,"loc_per_day":162.7,"flagged":false},{"from":"v0.31.3.1","to":"v0.31.4","loc":673,"days":0.04,"loc_per_day":16152.0,"flagged":false},{"from":"v0.31.4","to":"v0.31.4.1","loc":170,"days":0.87,"loc_per_day":196.0,"flagged":false},{"from":"v0.31.4.1","to":"v0.31.4.2","loc":938,"days":1.31,"loc_per_day":716.2,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":79561.0,"index":0.773,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":123.0,"per_kloc:emoji_in_code":1.546,"files:emoji_in_code":32.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":1011.0,"findings_high":18.0,"findings_medium":988.0,"findings_low":5.0,"weighted_findings":260.812,"scanned_lines":97513.0,"parse_errors":20.0},"findings":[{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","line":4,"fingerprint":"javascript.browser.security.insecure-document-method:custom_components/nextfloor/frontend/nextfloor-card-editor.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `n.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","line":4,"fingerprint":"javascript.browser.security.insecure-innerhtml:custom_components/nextfloor/frontend/nextfloor-card-editor.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.browser.security.insecure-document-method:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `n.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.browser.security.insecure-innerhtml:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"frontend/src/viewer/viewer3d.ts","line":995,"fingerprint":"javascript.browser.security.insecure-document-method:frontend/src/viewer/viewer3d.ts:995"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `el.querySelector(\".nf-dev-icon\")!.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"frontend/src/viewer/viewer3d.ts","line":995,"fingerprint":"javascript.browser.security.insecure-innerhtml:frontend/src/viewer/viewer3d.ts:995"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.browser.security.insecure-document-method:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `n.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.browser.security.insecure-innerhtml:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":37,"fingerprint":"javascript.browser.security.insecure-document-method:tools/docs/assets/docs.js:37"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `b.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":37,"fingerprint":"javascript.browser.security.insecure-innerhtml:tools/docs/assets/docs.js:37"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":41,"fingerprint":"javascript.browser.security.insecure-document-method:tools/docs/assets/docs.js:41"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `b.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":41,"fingerprint":"javascript.browser.security.insecure-innerhtml:tools/docs/assets/docs.js:41"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":42,"fingerprint":"javascript.browser.security.insecure-document-method:tools/docs/assets/docs.js:42"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `b.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":42,"fingerprint":"javascript.browser.security.insecure-innerhtml:tools/docs/assets/docs.js:42"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":99,"fingerprint":"javascript.browser.security.insecure-document-method:tools/docs/assets/docs.js:99"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `list.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":99,"fingerprint":"javascript.browser.security.insecure-innerhtml:tools/docs/assets/docs.js:99"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":116,"fingerprint":"javascript.browser.security.insecure-document-method:tools/docs/assets/docs.js:116"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `list.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"tools/docs/assets/docs.js","line":116,"fingerprint":"javascript.browser.security.insecure-innerhtml:tools/docs/assets/docs.js:116"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `i` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled in [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","line":4,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:custom_components/nextfloor/frontend/nextfloor-card-editor.js:4"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `r` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled in [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.security.html-in-template-string:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.security.html-in-template-string:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"frontend/screenshot.mjs","line":303,"fingerprint":"javascript.lang.security.html-in-template-string:frontend/screenshot.mjs:303"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"frontend/src/builder/app.ts","line":109,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:frontend/src/builder/app.ts:109"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":203,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:203"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":213,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:213"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":220,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:220"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":224,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:224"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":227,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:227"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":237,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:237"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":246,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:246"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":248,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:248"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":258,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:258"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":269,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:269"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":276,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:276"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":279,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:279"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":292,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:292"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":306,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:306"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":309,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:309"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":321,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:321"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":332,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:332"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":349,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:349"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":352,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:352"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":360,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:360"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":365,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:365"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":372,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:372"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment","severity":"medium","message":"Possibility of prototype polluting assignment detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-ex [confidence low]","path":"frontend/src/builder/app.ts","line":400,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment:frontend/src/builder/app.ts:400"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":402,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:402"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":406,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:406"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":407,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:407"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":426,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:426"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":434,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:434"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":436,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:436"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":441,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:441"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":444,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:444"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/builder/app.ts","line":444,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/builder/app.ts:444"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":84,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:84"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":90,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:90"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":93,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:93"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":114,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:114"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":125,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:125"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":133,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:133"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":135,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:135"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":155,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:155"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":161,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:161"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":165,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:165"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":183,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:183"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":197,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:197"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":201,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:201"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":204,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:204"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":209,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:209"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":215,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:215"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":232,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:232"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":235,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:235"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":238,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:238"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":252,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:252"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":255,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:255"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":258,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:258"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":268,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:268"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":271,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:271"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":275,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:275"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":276,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:276"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":284,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:284"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":285,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:285"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":314,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:314"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":330,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:330"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":339,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:339"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":341,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:341"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":343,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:343"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":360,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:360"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor.ts","line":374,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor.ts:374"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":70,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:70"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":72,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:72"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":84,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:84"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":87,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:87"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":94,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:94"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":97,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:97"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":104,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:104"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":114,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:114"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card-editor/form.ts","line":117,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card-editor/form.ts:117"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":250,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:250"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":250,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:250"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":251,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:251"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":252,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:252"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":283,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:283"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":285,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:285"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":285,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:285"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":286,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:286"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":289,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:289"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":298,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:298"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":299,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:299"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":304,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:304"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":305,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:305"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":319,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:319"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":404,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:404"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":432,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:432"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/card.ts","line":436,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/card.ts:436"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":616,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:616"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":894,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:894"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":908,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:908"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":912,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:912"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":937,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:937"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":940,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:940"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":941,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:941"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":1059,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:1059"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":1062,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:1062"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":2887,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:2887"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":2890,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:2890"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":2999,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:2999"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3001,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3001"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3002,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3002"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3003,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3003"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3005,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3005"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3009,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3009"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3020,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3020"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3026,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3026"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3312,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3312"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3315,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3315"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3321,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3321"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3327,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3327"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3332,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3332"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3352,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3352"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3356,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3356"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3358,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3358"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3362,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3362"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3366,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3366"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3393,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3393"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3423,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3423"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3426,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3426"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3429,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3429"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3436,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3436"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3452,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3452"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3459,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3459"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3460,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3460"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3481,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3481"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3481,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3481"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3500,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3500"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3510,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3510"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3514,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3514"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3517,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3517"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3518,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3518"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor.ts","line":3538,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor.ts:3538"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":188,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:188"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":190,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:190"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":191,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:191"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":196,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:196"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":208,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:208"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":214,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:214"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":222,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:222"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":237,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:237"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":238,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:238"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":238,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:238"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":239,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:239"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":241,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:241"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":247,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:247"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":252,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:252"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":252,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:252"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/ble-locate.ts","line":253,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/ble-locate.ts:253"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":32,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:32"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":51,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:51"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":59,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:59"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":62,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:62"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":77,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:77"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":81,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:81"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":95,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:95"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":120,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:120"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"frontend/src/components/editor/fields.ts","line":124,"fingerprint":"javascript.lang.security.html-in-template-string:frontend/src/components/editor/fields.ts:124"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":131,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:131"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":135,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:135"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":147,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:147"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":151,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:151"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":158,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:158"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":161,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:161"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/fields.ts","line":166,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/fields.ts:166"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":50,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:50"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":54,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:54"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":54,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:54"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":77,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:77"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":82,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:82"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/first-steps.ts","line":84,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/first-steps.ts:84"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/arc.ts","line":25,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/arc.ts:25"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/arc.ts","line":35,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/arc.ts:35"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/arc.ts","line":39,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/arc.ts:39"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/background.ts","line":11,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/background.ts:11"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/background.ts","line":20,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/background.ts:20"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/background.ts","line":40,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/background.ts:40"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/background.ts","line":53,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/background.ts:53"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/background.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/background.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":10,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:10"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":28,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:28"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":36,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:36"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":39,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:39"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":46,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:46"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":62,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:62"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":64,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:64"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":65,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:65"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":75,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:75"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":78,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:78"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":82,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:82"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":83,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:83"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":84,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:84"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/backup.ts","line":90,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/backup.ts:90"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/compass.ts","line":22,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/compass.ts:22"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":31,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:31"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":42,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:42"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":45,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:45"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":46,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:46"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":47,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:47"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":54,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:54"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":55,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:55"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":64,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:64"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":71,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:71"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":72,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:72"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":75,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:75"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":89,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:89"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":95,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:95"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":96,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:96"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":100,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:100"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":100,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:100"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":103,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:103"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":116,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:116"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":117,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:117"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":120,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:120"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":120,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:120"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":121,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:121"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device-list.ts","line":149,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device-list.ts:149"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":50,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:50"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":54,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:54"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":80,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:80"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":95,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:95"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":99,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:99"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":100,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:100"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":104,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:104"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":121,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:121"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/device.ts","line":123,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/device.ts:123"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":64,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:64"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":67,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:67"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":74,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:74"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":75,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:75"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":77,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:77"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":79,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:79"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":80,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:80"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":82,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:82"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":84,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:84"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":86,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:86"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":91,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:91"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":93,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:93"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/edges.ts","line":99,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/edges.ts:99"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":35,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:35"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":39,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:39"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":49,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:49"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":53,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:53"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":55,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:55"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":62,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:62"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":96,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:96"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":132,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:132"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":139,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:139"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":140,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:140"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":191,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:191"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":198,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:198"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":201,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:201"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":207,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:207"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":209,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:209"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":231,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:231"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":240,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:240"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":245,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:245"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/energy.ts","line":251,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/energy.ts:251"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":43,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:43"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":55,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:55"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":60,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:60"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":68,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:68"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":69,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:69"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":70,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:70"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":73,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:73"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":75,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:75"},{"rule_id":"opengrep/javascript.jquery.security.audit.prohibit-jquery-html","severity":"medium","message":"JQuery's `html` function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider `text` instead. Otherwise, use a function that escapes HTML such as edX's `HtmlUtils.setHtml()`. [confidence low]","path":"frontend/src/components/editor/forms/floor.ts","line":75,"fingerprint":"javascript.jquery.security.audit.prohibit-jquery-html:frontend/src/components/editor/forms/floor.ts:75"}],"evidence":[],"data":{"rulesets":["typescript","javascript","python"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":0.0,"vulnerabilities":0.0,"vulns_critical":0.0,"vulns_high":0.0,"vulns_medium":0.0,"vulns_low":0.0,"vulns_unknown":0.0,"penalty":0.0},"findings":[],"evidence":[],"data":{"ecosystems":["PyPI","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":5.0,"findings":29.0,"findings_high":19.0,"findings_medium":2.0,"findings_low":8.0,"penalty":238.4},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":22,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:22"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":23,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:23"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":37,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:37"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:38"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":54,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:54"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":55,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:55"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":67,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:67"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":68,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:68"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":75,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:75"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/issue-labels.yml","line":15,"fingerprint":"unpinned-uses:.github/workflows/issue-labels.yml:15"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":38,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:38"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":42,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:42"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":46,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:46"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":81,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:81"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":82,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:82"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/pages.yml","line":86,"fingerprint":"unpinned-uses:.github/workflows/pages.yml:86"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rebuild-bundles.yml","line":19,"fingerprint":"unpinned-uses:.github/workflows/rebuild-bundles.yml:19"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/rebuild-bundles.yml","line":20,"fingerprint":"unpinned-uses:.github/workflows/rebuild-bundles.yml:20"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/release.yml","line":17,"fingerprint":"unpinned-uses:.github/workflows/release.yml:17"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":3,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:3"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":10,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:10"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":22,"fingerprint":"artipacked:.github/workflows/ci.yml:22"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":37,"fingerprint":"artipacked:.github/workflows/ci.yml:37"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":54,"fingerprint":"artipacked:.github/workflows/ci.yml:54"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":67,"fingerprint":"artipacked:.github/workflows/ci.yml:67"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pages.yml","line":38,"fingerprint":"artipacked:.github/workflows/pages.yml:38"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pages.yml","line":42,"fingerprint":"artipacked:.github/workflows/pages.yml:42"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/rebuild-bundles.yml","line":19,"fingerprint":"artipacked:.github/workflows/rebuild-bundles.yml:19"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":17,"fingerprint":"artipacked:.github/workflows/release.yml:17"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":1.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.07,"unpinned_manifests":0.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":10.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v0.31.4.2 ships nextfloor.zip (573 downloads)","ref":"nextfloor.zip","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4.2/nextfloor.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v0.31.4.1 ships nextfloor.zip (1657 downloads)","ref":"nextfloor.zip","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4.1/nextfloor.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v0.31.4 ships nextfloor.zip (932 downloads)","ref":"nextfloor.zip","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.4/nextfloor.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v0.31.3.1 ships nextfloor.zip (1 downloads)","ref":"nextfloor.zip","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.3.1/nextfloor.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v0.31.3 ships nextfloor.zip (1617 downloads)","ref":"nextfloor.zip","url":"https://github.com/therealMRBK/NextFloor/releases/download/v0.31.3/nextfloor.zip","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":17615.0,"function_nloc":63211.0,"mean_ccn":3.32,"p90_ccn":7.0,"complex_functions":464.0,"long_functions":29.0,"many_param_functions":117.0,"risky_nloc_share":0.2585},"findings":[],"evidence":[{"kind":"complex-function","description":"furnitureMarkers in frontend/src/components/view3d.ts: complexity 192, 196 lines","ref":"frontend/src/components/view3d.ts","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/frontend/src/components/view3d.ts#L1190","weight":1.0},{"kind":"complex-function","description":"furnitureMarkers in custom_components/nextfloor/frontend/nextfloor.js: complexity 178, 1 lines","ref":"custom_components/nextfloor/frontend/nextfloor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor.js#L1545","weight":1.0},{"kind":"complex-function","description":"gE in custom_components/nextfloor/frontend/nextfloor-3d.js: complexity 177, 15 lines","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L4154","weight":1.0},{"kind":"complex-function","description":"K0 in site/builder/builder.js: complexity 177, 15 lines","ref":"site/builder/builder.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/site/builder/builder.js#L4156","weight":1.0},{"kind":"complex-function","description":"fromJSON in custom_components/nextfloor/frontend/nextfloor-3d.js: complexity 164, 1 lines","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L2","weight":1.0},{"kind":"complex-function","description":"fromJSON in site/builder/builder.js: complexity 164, 1 lines","ref":"site/builder/builder.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/site/builder/builder.js#L4","weight":1.0},{"kind":"complex-function","description":"w1 in custom_components/nextfloor/frontend/nextfloor-3d.js: complexity 129, 1 lines","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L4226","weight":1.0},{"kind":"complex-function","description":"bd in site/builder/builder.js: complexity 129, 1 lines","ref":"site/builder/builder.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/site/builder/builder.js#L4228","weight":1.0},{"kind":"complex-function","description":"t in custom_components/nextfloor/frontend/nextfloor-3d.js: complexity 127, 1 lines","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L4202","weight":1.0},{"kind":"complex-function","description":"t in site/builder/builder.js: complexity 127, 1 lines","ref":"site/builder/builder.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/site/builder/builder.js#L4204","weight":1.0}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":77977.0,"duplicated_lines":16865.0,"duplicated_share":0.2163,"files":395.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-3d.js:9 and site/builder/builder.js:11","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L9","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-3d.js:980 and custom_components/nextfloor/frontend/nextfloor-3d.js:996","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L980","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-3d.js:4240 and frontend/src/viewer/fold.ts:56","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L4240","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-3d.js:4261 and frontend/src/viewer/theme.ts:131","ref":"custom_components/nextfloor/frontend/nextfloor-3d.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-3d.js#L4261","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-card-editor.js:26 and frontend/src/card-editor/styles.ts:5","ref":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-card-editor.js#L26","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-card-editor.js:279 and custom_components/nextfloor/frontend/nextfloor-editor.js:4520","ref":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-card-editor.js#L279","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-card-editor.js:284 and custom_components/nextfloor/frontend/nextfloor.js:4270","ref":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-card-editor.js#L284","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-editor.js:5 and custom_components/nextfloor/frontend/nextfloor.js:11","ref":"custom_components/nextfloor/frontend/nextfloor-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-editor.js#L5","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-editor.js:233 and frontend/src/components/entity-picker.ts:151","ref":"custom_components/nextfloor/frontend/nextfloor-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-editor.js#L233","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: custom_components/nextfloor/frontend/nextfloor-editor.js:968 and frontend/src/components/editor/wall-view.ts:186","ref":"custom_components/nextfloor/frontend/nextfloor-editor.js","url":"https://github.com/therealMRBK/NextFloor/blob/22d84c1aa5355388b5e6cb55562d004979e422e9/custom_components/nextfloor/frontend/nextfloor-editor.js#L968","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":401.0,"weighted_findings":140.0,"scanned_lines":97513.0,"category:best-practice":29.0,"category:correctness":364.0,"category:maintainability":8.0},"findings":[{"rule_id":"opengrep/typescript.lang.correctness.useless-ternary","severity":"high","message":"It looks like no matter how te===null is evaluated, this expression returns ge. This is probably a copy-paste error.","path":"site/builder/builder.js","line":4228,"fingerprint":"typescript.lang.correctness.useless-ternary:site/builder/builder.js:4228"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `steps` is defined inside a function but never used","path":"tools/area_extend.py","line":176,"fingerprint":"python.lang.maintainability.useless-inner-function:tools/area_extend.py:176"},{"rule_id":"opengrep/typescript.lang.correctness.useless-ternary","severity":"high","message":"It looks like no matter how page.meta.description is evaluated, this expression returns \"\". This is probably a copy-paste error.","path":"tools/docs/build.mjs","line":237,"fingerprint":"typescript.lang.correctness.useless-ternary:tools/docs/build.mjs:237"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":246,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:246"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":246,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:246"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":851,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:851"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1225,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:1225"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1672,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:1672"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1672,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:1672"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1672,"fingerprint":"javascript.lang.best-practice.javascript-confirm:custom_components/nextfloor/frontend/nextfloor.js:1672"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_file\" a function or an attribute? If it is a function, you may have meant path.is_file() because path.is_file is always true.","path":"custom_components/nextfloor/meshes.py","line":57,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:custom_components/nextfloor/meshes.py:57"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_admin\" a function or an attribute? If it is a function, you may have meant request[\"hass_user\"].is_admin() because request[\"hass_user\"].is_admin is always true.","path":"custom_components/nextfloor/meshes.py","line":62,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:custom_components/nextfloor/meshes.py:62"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_admin\" a function or an attribute? If it is a function, you may have meant request[\"hass_user\"].is_admin() because request[\"hass_user\"].is_admin is always true.","path":"custom_components/nextfloor/meshes.py","line":82,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:custom_components/nextfloor/meshes.py:82"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"custom_components/nextfloor/schema.py","line":241,"fingerprint":"python.lang.maintainability.return-not-in-function:custom_components/nextfloor/schema.py:241"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"custom_components/nextfloor/schema.py","line":613,"fingerprint":"python.lang.maintainability.return-not-in-function:custom_components/nextfloor/schema.py:613"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"custom_components/nextfloor/schema.py","line":995,"fingerprint":"python.lang.maintainability.return-not-in-function:custom_components/nextfloor/schema.py:995"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"custom_components/nextfloor/schema.py","line":1151,"fingerprint":"python.lang.maintainability.return-not-in-function:custom_components/nextfloor/schema.py:1151"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"frontend/light-effects-smoke.mjs","line":118,"fingerprint":"javascript.lang.correctness.no-stringify-keys:frontend/light-effects-smoke.mjs:118"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"frontend/light-effects-smoke.mjs","line":123,"fingerprint":"javascript.lang.correctness.no-stringify-keys:frontend/light-effects-smoke.mjs:123"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":543,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor.ts:543"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":640,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/editor.ts:640"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":699,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/editor.ts:699"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":2270,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/editor.ts:2270"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":2934,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/editor.ts:2934"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":3563,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor.ts:3563"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":3583,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor.ts:3583"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor.ts","line":3593,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor.ts:3593"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor/backup.ts","line":37,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor/backup.ts:37"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/editor/backup.ts","line":38,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/editor/backup.ts:38"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-prompt","severity":"medium","message":"found prompt() call; should this be in production code?","path":"frontend/src/components/editor/backup.ts","line":39,"fingerprint":"javascript.lang.best-practice.javascript-prompt:frontend/src/components/editor/backup.ts:39"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"frontend/src/components/editor/forms/furniture-links.ts","line":134,"fingerprint":"javascript.lang.best-practice.javascript-alert:frontend/src/components/editor/forms/furniture-links.ts:134"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/model-upload.ts","line":168,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/model-upload.ts:168"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/pack-manager.ts","line":159,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/pack-manager.ts:159"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/quick-menu.ts","line":69,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/quick-menu.ts:69"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/room-panel.ts","line":414,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/room-panel.ts:414"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/room-panel.ts","line":419,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/room-panel.ts:419"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/view3d.ts","line":2402,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/view3d.ts:2402"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/view3d.ts","line":2408,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/view3d.ts:2408"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/components/view3d.ts","line":2413,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/components/view3d.ts:2413"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"frontend/src/live/cards.ts","line":210,"fingerprint":"javascript.lang.best-practice.javascript-confirm:frontend/src/live/cards.ts:210"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"frontend/tutorial/key.py","line":4,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:frontend/tutorial/key.py:4"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"frontend/tutorial/tts-google.mjs","line":24,"fingerprint":"javascript.lang.correctness.no-stringify-keys:frontend/tutorial/tts-google.mjs:24"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"tools/prepare-model.mjs","line":102,"fingerprint":"javascript.lang.correctness.no-stringify-keys:tools/prepare-model.mjs:102"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"tools/prepare-model.mjs","line":102,"fingerprint":"javascript.lang.correctness.no-stringify-keys:tools/prepare-model.mjs:102"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"tools/prepare-model.mjs","line":102,"fingerprint":"javascript.lang.correctness.no-stringify-keys:tools/prepare-model.mjs:102"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor-card-editor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`n` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor-card-editor.js","line":118,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor-card-editor.js:118"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`h` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`o` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":4,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":7,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:7"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":7,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:7"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":7,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:7"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":7,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:7"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`n` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`p` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`s` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":10,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":301,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:301"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":832,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:832"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":832,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:832"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1225,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1225"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1225,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1225"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1545,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1545"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1681,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1681"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1681,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1681"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1681,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1681"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1681,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1681"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1681,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1681"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1691,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1691"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"custom_components/nextfloor/frontend/nextfloor.js","line":1691,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:custom_components/nextfloor/frontend/nextfloor.js:1691"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`n` is assigned twice; the first assignment is useless","path":"custom_components/nextfloor/frontend/nextfloor.js","line":3855,"fingerprint":"javascript.lang.correctness.useless-assignment:custom_components/nextfloor/frontend/nextfloor.js:3855"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":41,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:41"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":41,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:41"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":54,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:54"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":54,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:54"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":62,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:62"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":62,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:62"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":66,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:66"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":66,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:66"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":69,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:69"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":77,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:77"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":79,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:79"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":79,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:79"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":86,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:86"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":86,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:86"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":147,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:147"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":147,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:147"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":169,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:169"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":169,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:169"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":170,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:170"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":170,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:170"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":254,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:254"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/screenshot.mjs","line":254,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/screenshot.mjs:254"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":152,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:152"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":152,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:152"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":157,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:157"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":157,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:157"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":162,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:162"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":162,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:162"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":175,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:175"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":175,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:175"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":238,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:238"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/backup.ts","line":238,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/backup.ts:238"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/edges.ts","line":57,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/edges.ts:57"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/edges.ts","line":57,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/edges.ts:57"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/edges.ts","line":57,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/edges.ts:57"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/edges.ts","line":57,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/edges.ts:57"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/edges.ts","line":57,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/edges.ts:57"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/solar.ts","line":138,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/solar.ts:138"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/solar.ts","line":138,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/solar.ts:138"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/solar.ts","line":138,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/solar.ts:138"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/forms/solar.ts","line":138,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/forms/solar.ts:138"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/print.ts","line":140,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/print.ts:140"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/editor/print.ts","line":140,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/editor/print.ts:140"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":579,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:579"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":579,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:579"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":588,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:588"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":588,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:588"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":602,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:602"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":602,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:602"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":611,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:611"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/room-panel.ts","line":611,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/room-panel.ts:611"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":1517,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:1517"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":1517,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:1517"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":2585,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:2585"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":2585,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:2585"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":2668,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:2668"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/components/view3d.ts","line":2668,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/components/view3d.ts:2668"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/transfer.ts","line":127,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/transfer.ts:127"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/transfer.ts","line":131,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/transfer.ts:131"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/fold.ts","line":44,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/fold.ts:44"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/fold.ts","line":44,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/fold.ts:44"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/theme.ts","line":130,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/theme.ts:130"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/theme.ts","line":130,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/theme.ts:130"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/theme.ts","line":183,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/theme.ts:183"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/src/viewer/theme.ts","line":183,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/src/viewer/theme.ts:183"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/episodes/05-devices.mjs","line":14,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/episodes/05-devices.mjs:14"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/episodes/05-devices.mjs","line":14,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/episodes/05-devices.mjs:14"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/episodes/08-lights.mjs","line":65,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/episodes/08-lights.mjs:65"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/episodes/08-lights.mjs","line":65,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/episodes/08-lights.mjs:65"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/lib.mjs","line":31,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/lib.mjs:31"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/lib.mjs","line":31,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/lib.mjs:31"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":112,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:112"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":235,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:235"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":235,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:235"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":246,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:246"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":246,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:246"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":246,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:246"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":287,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:287"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"frontend/tutorial/rec.mjs","line":287,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:frontend/tutorial/rec.mjs:287"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`n` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`S` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`t` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`o` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.useless-assignment","severity":"low","message":"`M` is assigned twice; the first assignment is useless","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.useless-assignment:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":4,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:4"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":6,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:6"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":6,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:6"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":10,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":74,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:74"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":74,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:74"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:116"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"site/builder/builder.js","line":116,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:site/builder/builder.js:116"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.3262,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":15903.0,"source_lines":97513.0,"test_ratio":0.1631,"ci_files":5.0,"cochange_share":0.6328,"cochange_commits":256.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/issue-labels.yml","ref":".github/workflows/issue-labels.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/pages.yml","ref":".github/workflows/pages.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/rebuild-bundles.yml","ref":".github/workflows/rebuild-bundles.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (pytest, npm test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (ruff, mypy)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["pytest","npm test"],"lint_commands":["ruff","mypy"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":1.0,"readme_lines":168.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0},{"kind":"docs","description":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.823,"check:low_escape_density":1.0,"escapes":290.0,"escapes_per_kloc":3.904},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: frontend/tsconfig.json","ref":"frontend/tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":85124.0,"other_lines":12389.0,"files_blamed":395.0,"blame_failures":0.0,"quality:ai_findings":192.0,"quality:ai_per_kloc":2.256,"quality:other_findings":8.0,"quality:other_per_kloc":0.646,"quality:ratio":3.49,"security:ai_findings":230.0,"security:ai_per_kloc":2.702,"security:other_findings":70.0,"security:other_per_kloc":5.65,"security:ratio":0.48},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}