Elavulás átfordítása RoomOS
A JavaScript-kód változásai a RoomOS-makrókban
Frissítettük a RoomOS rendszeren makrókat futtató gépeket, és a frissítések eredményeként egyes JavaScript konvenciók és funkciók már nem lesznek elérhetők a makrók számára. Különösen a CommonJS-hez kapcsolódó funkciók nem érhetők el többé. Néhány gyakori példa az újraírást igénylő kódokra:
require()
, beleértve:require('xapi')
- át kell írni a szabványos ECMAScriptimportálásra
. Pl.const xapi = require('xapi')
megváltozott, hogy importálja azxapi-t az 'xapi'-ból
require.main
modul
, beleértve:module.exports
- át kell írni a szabványos ECMAScriptexportra
A module.name
- helyére a következőt kell írni_main_module_name()
Hogyan lehet ezt be- és kikapcsolni?
Ezek a módosítások akkor lépnek életbe, ha az xConfiguration Macros EvaluateTranspiled
értéke True értékről False (
Hamis ) értékre
vált. Ez a beállítás már régóta jelen van, és a módosítás az új kiadások alapértelmezett értékének Igaz értékről Hamisra
történő módosításával kerül bevezetésre.
Ha a makrók megszakítják ezt a módosítást, a visszakapcsolás explicit beállítása (xConfiguration Macros EvaluateTranspiled: True
) rövid távú javítás, hogy ugyanúgy működjenek, mint korábban. Ne feledje azonban, hogy ez csak ideiglenes megoldás: Ez a kapcsoló egy átmeneti időszak után megszűnik .
Hasonlóképpen, a régebbi RoomOS verziókon ez a módosítás frissítés nélkül tesztelhető a kapcsoló Hamis értékre
állításával.
Megjegyzés: Ha egy makrót úgy ment az eszközre , hogy a kapcsoló Hamis
értékű, és később úgy dönt, hogy TURN visszaállítja a beállítást Igaz értékre
, akkor szükség lehet a makrók újbóli mentésére a makrószerkesztőben.
Mikor lépnek életbe ezek a változások?
Az EvaluateTranspiled kapcsoló alapértelmezett értéke
Hamisra változott a RoomOS May 2025 (11.28) verziótólkezdve, ami azt jelenti, hogy az eszközök alapértelmezés szerint átváltanak frissítéskor. Ugyanebben a verzióban a transzpilálási lépés a makrók XAPI-n keresztüli mentésekor alapértelmezés szerint ki van kapcsolva. Ha az XAPI-n keresztül transzpilálásra van szükség, a transpile parancs beállítását explicit módon true (igaz) értékre kell állítani.
A RoomOS July 2025 (11.30)-tól kezdve egy diagnosztika jelenik meg, ha a kapcsoló Igaz értékre van
állítva. Továbbra is úgy fog működni, mint korábban.
A továbbiakban a kapcsoló teljesen eltávolításra kerül, és az eszköz úgy viselkedik, mintha hamis értékre
lenne állítva. Célunk, hogy ezt a változást 2025 novemberében vezessük be. Ez a dátum változhat, ahogy látjuk, hogy hány ügyfelünk tudja frissíteni makróit, de az ütemtervet hónapokban, nem években mérjük. A pontos dátumokat itt és a vonatkozó RoomOS kiadások kiadási megjegyzéseiben tesszük közzé.
Azok az ügyfelek, akik a változásokról való értesítésre és tájékoztatásra tett minden erőfeszítésünk ellenére azt látják, hogy makróik sikertelenek, amikor a módosítások véglegesen érvényben vannak a RoomOS rendszerben, továbbra is használhatják a Control Hubon keresztül a felhőben regisztrált eszközökhöz biztosított (legfeljebb 6) hónapos késleltetett szoftverfrissítést a változás késleltetéséhez.
Miért van erre szükség? Műszaki adatok
A változás fő mozgatórugója, hogy frissítettük JavaScript-motorunkat a QuickJS használatára, amely modern, frissített JavaScript-futtatókörnyezetként szolgál a beágyazott rendszerekhez. Ezt követően, mivel már nincs rá szükség egy modern JavaScript-motorral, most megszüntetjük a JavaScript transzpilálásának támogatását. Az összes kód átfordításának további lépésének eltávolítása csökkenti a betöltési időt a kód üzembe helyezésekor és végrehajtásakor, valamint csökkenti a platform összetettségét.
A JavaScript motor kapcsolóját az xConfiguration makrók vezérlik QuickJSEngine: A Ki
beállítás Be értékre
változott. Ez a módosítás a RoomOS December 2023 (11.11) verzióban lett bevezetve, és azt tervezzük, hogy eltávolítjuk ezt a konfigurációs kapcsolót ugyanazon az idővonalon, mint az EvaluateTranspiled
.
Ezeket a változtatásokat azért hajtjuk végre, hogy biztosítsuk a RoomOS maximális teljesítményét, és hogy segíthessünk a JavaScript-bővítmények telepítésének hatékony és biztonságos méretezésében.
További információ a makrókról: roomos.cisco.com.