ImpCentral Release 2018-04-02 (UI v2.44.1 & API v3.42.1)


#1

Features:

  • Environment variables now exist and are available from code. More info available on Dev Center.
  • Compiler warnings are now possible when creating a deployment. For example when using an older library version or a deprecated imp API method.
  • New authorization system behind the scenes, thus creating new accounts or changing password is now a little more strict with regards to password input.
  • New account information details during account creation process.
  • New Profile dialogs/ui for change email and change password (still accessible via top right account pulldown).
  • Code editor “Light” theme improvements and style updates.
  • New “Invitations and Roles” page available from top right nav account pulldown. This page shows other accounts where user is a collaborator and pending invitations from other accounts to collaborate. Managing both existing collaborations and pending invitations is now an option from this new view.
  • Side nav Collaborators page now also displays pending collaboration invitations sent from the account. These collaboration invitations to other accounts can also be revoked if desired.

Fixes:

  • Account name or email is no longer case sensitive when logging into BlinkUp apps (fixed API side for v5/auth).
  • Restart link now correctly selectable for production and factory devices in Manage column of devices list views and Device Details in Production Zone.
  • Clicking on ‘Code Draft’ icon in side nav from Test Blessed Devices view no longer incorrectly redirects to Development Device Group code.
  • Breadcrumbs no longer missing for Operations Manager or Support Role as a collaborator in other account’s Production Zone.
  • Changed the color of “Deploy” button on Test Blessed Devices view (was inconsistent and had low visibility).
  • Top nav status info pulldown now exists again (announcements, health check, maintenance windows).
  • Operations Manager is now able to create deployments in other account’s Production Zone (no longer returns an error).
  • Browser ‘Back’ button from test factory code editor no longer incorrectly redirects user to test blessed devices view (regardless of factory device counts).
  • Breadcrumbs and account toggle now correctly remain visible after leaving migration wizard through Devices pulldown in top nav.
  • “Assign Devices” button from code editor will now also work if having more than 100 non-production devices.
  • Moving devices directly between different groups from code editor will now accurately show those devices as moved without needing to refresh the view.

#2

Hi Kev,

I’ve been seeing unexpected character after library specifier on all of my import statements since about 11:30 this morning, and I’m wondering if it might be related? I had no problems with the imports earlier this morning.


#3

Uh oh, definitely sounds related, not good, sorry. Hmmmm… Can you please provide an example of your #require library lines which is causing issues?

To clarify, is the deployment still being created and we’re just talking about one of the new warning responses?


#4

Do you have a semicolon at the end of the #require statement? If so please remove one, it may cause the issue.


#5

I do not have a semicolon at the end, and it happens with any import. Here’s one that I just tried (copy and pasted from the editor)

#require "AES.lib.nut:1.0.0"

2018-04-02 15:02:49 -07:00 [IDE] Syntax error (line 1): unexpected character after library specifier

2018-04-02%2015_04_30-impCentral%20_%20Electric%20Imp

Edit: To address your question about this being a warning – It seems to be proceeding as if the import never happens, although it is a little hard to tell.


#6

I have the same issue has Z-Node


#7

That’s very strange, is it possible there’s an unexpected non-printable character at the end? Or maybe that closing quote is actually a stylized quote on accident? The line works fine for me as expected. Maybe try copy and pasting through a plain text doc first to strip anything which might be unintentionally associated?

Maybe the UI could be more helpful here somehow, hmmmm. If you have a chance, the api network response provides a bit more information. You’ll probably see the request listed in red, depending on your browser debugging tools. The request from UI is a POST to https://api.electricimp.com/v5/deployments. But an example response is below, where you can see the “meta” showing actual line and column position of error location (I forced this one with added semicolon at end).

{  
   "errors":[  
      {  
         "code":"CX005",
         "status":"400",
         "title":"Compilation Error",
         "detail":"There was an error with compilation.",
         "source":{  
            "pointer":"/data/attributes/agent_code"
         },
         "meta":[  
            {  
               "row":1,
               "column":29,
               "text":"unexpected character after library specifier",
               "type":"error",
               "file":"agent_code"
            }
         ]
      }
   ]
}

But yes, regardless, code which worked previously should still work now :frowning: Still investigating further here…


#8

I had also suspected that maybe my quotes were funny so I had tried the copy/paste trick without success. Here’s the response on my end:

{'errors': [{'code': 'CX005',
   'detail': 'There was an error with compilation.',
   'meta': [{'column': 29,
     'file': 'device_code',
     'row': 1,
     'text': 'unexpected character after library specifier',
     'type': 'error'}],
   'source': {'pointer': '/data/attributes/device_code'},
   'status': '400',
   'title': 'Compilation Error'}]}


#9

I tried a few different browsers – Chrome in Windows, Chrome in Linux, Firefox in Linux and had the same issue on all. I also typed the imports from scratch in a plaintext editor and then copied them into the web interface. Perhaps it is interpreting the newline character as an invalid character?


#10

ok, we found it, this is related to windows line endings ("\r\n"). the new pre-compiler is more strict than previously. we will be hot-fixing soon to ignore the scenario for require lines.

i will update this thread again once verified fixed and promoted to production :+1:

sorry for the inconvenience and thank you for the bug report!!


#11

Ok, sorry for that bug and slow resolution. The fix is now deployed and live :smile:

Your issue should be resolved. Please let us know if there is still something wrong with your scenario.

Cheers,
Kevin


#12

Looks like that fixed it, thanks for the help!