RoomOS makrolarında JavaScript kodunda yapılan değişiklikler
Makroları RoomOS'ta çalıştıran makineyi güncelledik, ve bu güncellemelerin bir sonucu olarak bazı JavaScript kuralları ve işlevleri artık makrolar için kullanılamayacak. Özellikle, CommonJS ile ilgili işlevler artık mevcut değildir. Yeniden yazılması gereken bazı yaygın kod örnekleri şunlardır:
require(), dahil olmak üzere:require('xapi')- standart ECimportMAScript'e yeniden yazılması gerekiyor. Örneğin,const xapi = require('xapi')değiştirildiimport xapi from 'xapi'require.main
module, dahil olmak üzere:module.exports- standart ECMAScript'e yeniden yazılması gerekiyorexportmodule.name- ile değiştirilmelidir_main_module_name()
Bu nasıl açılır ve kapatılır?
Bu değişiklikler şuradan geçiş yapıldıktan sonra xConfiguration Macros EvaluateTranspiledyürürlüğe girer True. False Bu ayar uzun süredir mevcuttur ve değişiklik, yeni sürümlerdeki varsayılan değer şu şekilden değiştirilerek devre Trueye alınır False..
Makrolar bu değişiklikte bozulursa, toggle back (xConfiguration Macros EvaluateTranspiled: True) öğesini açıkça ayarlamak, önceki gibi çalışmasını sağlamak için kısa vadeli bir düzeltmedir. Bununla birlikte, bunun yalnızca geçici bir çözüm olduğunu unutmayın: Bu geçiş, bir geçiş döneminden sonra kaybolacaktır.
benzer şekilde, eski RoomOS sürümlerinde bu değişiklik, geçişi şu şekilde ayarlayarak yükseltme yapılmadan test edilebilir.. False
Not: Geçiş açık ken aygıta bir makro kaydedilmişse Falseve daha sonra açmayı geri çevirmeye karar verirseniz True, bu makroları makro düzenleyicide yeniden kaydetmek gerekebilir.
Bu değişiklikler ne zaman yürürlüğe girecek?
Geçişin varsayılan değeri RoomOS Mayıs 2025 (11.28) ile Falsebaşlayacak şekilde değiştirildi; bu, cihazların yükseltildiğinde varsayılan olarak EvaluateTranspiledgeçiş yapacağı anlamına gelir. Aynı sürümde, makroları XAPI aracılığıyla kaydederken aktarım adımı varsayılan olarak kapalıdır. XAPI aracılığıyla aktarım gerekiyorsa, transpile komutu seçeneği açıkça true olarak ayarlanmalıdır.
RoomOS Temmuz 2025'ten (11.30) başlayarak, geçiş ayarlandığında bir teşhis gösterilecektir. True Hala eskisi gibi çalışacak.
İleriye doğru geçiş tamamen kaldırılacak ve cihaz ayarlanmış gibi davranacaktır False.. Bu değişikliği RoomOS Kasım 2026'da (27. 0) uygulamayı hedefliyoruz.
Değişiklikleri bilgilendirmeye ve bilgilendirmeye çalışırken elimizden gelen çabalarımıza rağmen, RoomOS'ta değişiklikler kalıcı olarak uygulandığında makrolarının başarısız olduğunu gören müşteriler, değişikliği geciktirmek için Control Hub aracılığıyla sağlanan (en fazla) 6 aya kadar gecikmeli yazılım güncellemesini kullanabilir.
Bu neden gerekli? Teknik detaylar
Bu değişikliğin ana itici gücü, JavaScript motorumuzu gömülü sistemler için modern, güncellenmiş bir JavaScript çalışma zamanı olarak hizmet veren QuickJS'yi kullanmak üzere güncellediğimizdir. Bundan sonra, modern bir JavaScript motoruyla artık gerekli olmadığından, şimdi JavaScript'in transpilasyon desteğini kaldırıyoruz. Tüm kodu aktarmanın ekstra adımını kaldırmak, kodu dağıtırken ve yürütürken yükleme süresini kısaltır ve platformdaki karmaşıklığı azaltır.
JavaScript motoru anahtarı xConfiguration Macros QuickJSEngine: Offdeğiştirilerek kontrol edilir On. Bu değişiklik Aralık 2023'te (11.11) RoomOS'ta kullanıma sunuldu ve bu yapılandırma geçişini ile aynı zaman çizelgesinde kaldırmayı planlıyoruz. EvaluateTranspiled
Bu değişiklikleri RoomOS'un maksimum performans göstermesini sağlamak ve JavaScript uzantılarının dağıtımını verimli ve güvenli bir şekilde ölçeklendirmenize yardımcı olabilmemiz için yapıyoruz.
Makrolar hakkında daha fazla bilgiyi roomos.cisco.com adresinde bulabilirsiniz.