Which javascript version on SDK?
- 
					
					
					
					
 I'm having some trouble building a basic script that sends sms alerts stored on the flichub. What javascript version is used in this environment for HBACE27-27526 
 Firmware: 4.2.14
- 
					
					
					
					
 @gregor-vilkner yes! Can you tell me a bit more about your use cases? 
- 
					
					
					
					
 @Emil fantastic! the other new sdk features will include twist support? we have lots of use cases where the twist would be dialed to coded manufacturing activities... 
- 
					
					
					
					
 @gregor-vilkner we are working on upgrading the JS engine to the newer QuickJS which has ES2023 support. Currently we are doing internal testing and will probably release it in a few months together with other new features to the hub sdk. 
- 
					
					
					
					
 @Emil a few "first flic-day" observations on this topic: - 
we're trying to integrate with a GraphQL api and need to turn all our beautiful queries into one-liners. is there no support for 'let', '``', multi-line text, and text substitutions? 
 let query =query q1{ heroes(name: ${someName}){ name father{ name } } };
- 
is there any async await way of doing web requests without call-back hell? it's like going back to 1998... 
- 
no fetch? 
- 
no atob(), no jwt decoding 
 function isTokenExpired(token) { 
 if(token==null) return true;
 const arrayToken = token.split('.');
 const part2 = JSON.parse(new TextDecoder().decode(Duktape.dec('base64', arrayToken[1])));
 return Math.floor(new Date().getTime() / 1000) >= part2.sub;
 }
- 
- 
					
					
					
					
 @flic-16 said in Which javascript version on SDK?: Buffer.fromis a Node.js specific feature not present in any javascript/ecmascript standard.You can use Duktape.enc('base64', 'some string')instead to perform the Base64 encode.Like this: const EncodedAuth = Duktape.enc('base64', 'abcd123:Password!');
- 
					
					
					
					
 @Emil said in Which javascript version on SDK?: old javascript version Is it possible to have a javascript in this environment send an SMS to the smsburst API? We have it working in other environments, but this one just doesnt seem to work. const http = require('http'); // Basic authentication credentials const encodedAuth = Buffer.from('abcd123:Password123!').toString('base64'); // Setting up the headers for the request const headers = { "Authorization": "Basic " + encodedAuth }; // Message details const message = encodeURIComponent("IVONNE: Testing from Flic SDK"); const to = encodeURIComponent("+16475551212"); const senderNumber = encodeURIComponent("18335551212"); const repliesToEmail = encodeURIComponent("email@example.com"); // Constructing the URL const url = "https://api.transmitsms.com/send-sms.json?message=" + message + "&to=" + to + "&from=" + senderNumber + "&replies_to_email=" + repliesToEmail; // Making the HTTP request function sendSmsViaTransmitSms() { console.log("Starting request to SMS Burst API..."); http.makeRequest({ url: url, method: 'POST', headers: headers }, function(error, result) { if (error) { console.error("An error occurred during the HTTP request:", error); } else { console.log("Received response from SMS Burst API"); console.log("Response status code:", result.statusCode); console.log("Response headers:", result.headers); // Check if result.content exists and log it if (typeof result.content !== 'undefined') { console.log("Response body:", result.content); } else { console.log("Response body not available in this format"); } } }); } // Execute the function to send the SMS sendSmsViaTransmitSms();Error is: TypeError: undefined not callable (property 'from' of [object Function]) 
 at [anon] (duk_js_call.c:2917) internal
 at [anon] (root/basicBurstSMSTest/main.js:1)
 at require (init.js:131)
 at [anon] (init.js:139) preventsyield
 at runInit () native strict preventsyield
 at handlePacket (pipe_communication.js:48)
 at readCallback (pipe_communication.js:93) preventsyield
- 
					
					
					
					
 @flic-16 currently we use https://duktape.org/ which implements a pretty old javascript version. We might upgrade in the future to an engine supporting a more modern javascript version. 
