Changes:
- Changes for wss update
Added:
- Added time to data
- errorFeedback: (if on)Feedback if any error in processing data from users.
- live-request: When a new data is stored, sends it to all respective requestors of that floID.
- deleteRequest: Users will now be able to delete the data received by them from cloud. (Note: user must be the receiverID of the data; sign verification ll be done).
Improvements:
- Improved data processing from wss.
- Improved data-signature format (new format: "receiverID|time|application|type|message|comment").
- Time in data must be within the allowed delayDelta.
- Feedback vectorclock of stored data to the sender.
- Dedicated disk will now be applied to authorised apps instead of diskList (removed floGlobals.diskList)
. Authorising apps will automatically create a new disk for the app and imports all data of the app from defaultDisk.
. Unauthorising apps will automatically exports all data from app disk to defaultDisk and deletes the app disk. (Caution: Unauthorising an app will cause diskCleanUp to delete all data stored before deleteDelay).
- Improved autoDeleteStoredData to diskCleanUp. For defaultDisk: deletes all data before deleteDelay, For authorised apps deletes data before deleteDelay sent 'from non-subAdmins' and/or 'to non-admin'.
Bug fixes:
- Minor bug fixes
* Added gid and uid to websocket (mg_connection)
Note: gid = group ID, uid = unique ID.
* Replaced old ws msg processing functions with new ones
* System functions:
- sys_display: Displays in console/terminal
- sys_unicast: unicast message to respective ws
- sys_broadcast: broadcast message to all ws
* Supernode to Users:
- broadcast: Sends msg to all ws
- groupcast: Sends msg to ws of affilated group
- unicast: Sends msg to respective ws
*User to Supernode:
- forward: Forwards msg from user to supernode ws
- Added migration feature when nodes are added or removed.
- Updated stdop
- Optimisation done for floSupernode module.
- Converted reactor events to respective functions for optimisation.
- fixed minor bugs.
- floBlockchainAPI.readData's option pattern ll now test for JSON key matching the pattern
- startUp fn readAppConfigFromAPI checks if the content is a object or not to prevent errors
- generalData now also stores sign and pubKey.
- renamed startup fn readSubAdminListFromAPI to readAppConfigFromAPI.
- readAppConfigFromAPI also loads settings from the IDB to floGlobals.
- floDapps now reads 'settings' from blockchain
- improved manageSubAdmins: doesnot send tx if addList and rmList are empty (i.e, no changes)
- setApplicationSettings: used to set settings for the application.
Note: existing settings are overwritten (ie, not appended) if same key is used.
- sendGeneralData now supports a new option (encrypt): Encrypts the message before sending.
Note: option value can be boolean true or pubKey of a floID. Passing true will encrypt the data using the default encryptionKey (default 'encryptionKey' must be set in settings).
- getNextGeneralData now supports a new option (decrypt): Decrypts the message if possible.
Note: option value can be true, privateKey or array of privateKeys.
If boolean true is passed, decrypts using myPrivKey (loggedIn privateKey).
If privateKey (string) is passed, decrypts using the given privateKey.
If array of privateKeys are passed, decrypts the message using the suitable key from the given array. (for example, say messages A, B, C are encrypted for keys X, Y, Z respectively, passing [X, Z] will decrypt messages A and C.