GenieACS 1.2.4 released

I’m pleased to announce the next maintenance release in the 1.2 branch. This is a fairly significant update that brings some notable improvements besides the usual slew of fixes. Here are the highlights of this release:

  • The data model state of a CPE is no longer forgotten after unsuccessful session termination (e.g. timeout). This addresses a number of undesired side effects that arise when a CPE does not terminate the session properly.
  • Remove dependency on ‘hostInfo’ MongoDB command which is a privileged action. It is now possible to use shared MongoDB instances with limited privileged.
  • New function ROUND() available to expressions. It works similar to the function by the same name in SQLite and PostgreSQL.
  • Log access events for genieacs-nbi service.

Find the full list of changes in the changelog file or the release page on GitHub.


UI is broken in Safari:

[Error] SyntaxError: Invalid regular expression: invalid group specifier name

Works in Firefox.

Can you share the stack trace please?

This is everything I can get from Safari on this :frowning:

It is a Syntax error parsing regular expression in loaded JS, so it has no backtrace yet …

After a quick google search it appears to be likely caused by the use of Lookbehind in regex which is not supported in Safari. Lookbehind is only used once in the entire codebase so I made some changes to get rid of that. When you get a chance, can you try the latest master branch and let me know if that fixes the issue?

@zaidka I’ve set up our test lab with the new version of GenieACS and it is working great. I can confirm the issue is fixed with sessions not closed cleanly - I can push a config or firmware to a device without it pushing over and over again like it used to. Very happy with the new version.

The only thing we need now that we keep having to edit the source code for is a way of adding the “X MIKROTIK Factory Configuration File” file type. Ideally I would like to see configuration parameters like ui.files.custom_filetype.0 and ui.files.custom_filetype.0 etc. where additions could be made to the list.

I can confirm this fixed the issue in Safari. Thanks!

1 Like

hi zaidka,

how about to add the custom file type such ‘X MIKROTIK Factory Configuration File’ ?
is there any new way to add it or still like before (edit the apps.js) ?

thank you


Hmm… running into a minor issue here. Adding a file with OUI, product class etc, the file saves and has the name but OUI, Product class, Type and version are all empty?

@zaidka any ideas?

@zaidka here is what I see in the database after uploading a file and setting the type, OUI, product class, and version:

{ “_id” : “hap-ac-lite-stage2.rsc”, “length” : 18583, “chunkSize” : 261120, “uploadDate” : ISODate(“2021-03-02T17:08:39.211Z”), “filename” : “hap-ac-lite-stage2.rsc”, “md5” : “9fd3d9a64ce9888b5ae79d98ae0ae9ed”, “metadata” : { “fileType” : “”, “oui” : “”, “productClass” : “”, “version” : “” } }

I manually ran an update command and now the metadata shows:

db.fs.files.update({"_id" : “hap-ac-lite-stage2.rsc”}, {$set: { “metadata” : { “fileType” : “3 Vendor Configuration File”, “oui” : “E48D8C”, “productClass” : “hAP ac lite”, “version” : “2.0” } } });

But it seems silly to have to do that for each file uploaded.

Working fine with me when I test it so I’m not sure what’s going on here. Maybe try a different browser to see if it works in one but not the other.

Interesting - I’ve determined it only seems to happen when using nginx to reverse proxy the webapp. If I access the webapp on the original port it works. I’m using the same nginx settings as I used with the old genieacs-gui however.

this has been addressed before in another thread. You can find there the solution

1 Like

i answer it by myself.
no new way to add this custom file type.

so still have to edit the app.js file