My accountGet started
Mar 012021
Total.js Platform
5 min read

February report 2021

A quick summarization of all changes and news from the entire Total.js Platform. Read more about our work.

February report 2021

UI components

  • added a new component j-IdleTime
  • added a new component j-Carousel2
  • added a new component j-Rows
  • updated j-Columns by adding fontsize option
  • updated j-Input by adding ui-input-ok class when the value is validated and filled
  • updated j-Detail by adding notnull option
  • updated j-LineChart by adding yaxis option
  • updated j-WebSocket by adding component.idle(is) method
  • improved j-Validation
  • improved j-Banners
  • improved j-Loading by canceling of focusing of the active element
  • improved j-Approve by canceling of focusing of the active element
  • improved j-Confirm by canceling of focusing of the active element
  • improved j-Message by canceling of focusing of the active element
  • improved j-BackToTop
  • fixed scrollto in j-ViewBox
  • fixed scopes in j-DataGrid
  • fixed scopes in j-Centered
  • fixed reposition of connections in j-Flow
  • fixed curves in j-LineChart
  • fixed resizing of j-Columns
  • fixed opt.items option with a path to variable in j-Directory

jComponent library

  • added a support for CSRF tokens via DEF.csrf = 'TOKEN'
  • improved a callback in the IMPORT() method with .css files
  • fixed importing of component dependencies
  • fixed loading of jComponent adding of body class with a display type
  • added a beautiful extension for configuration:

The code below sets a value to the configuration according to the display mode. If the display mode is changed, then jComponent reconfigures all components about new values.


Total.js framework 4

Update Total.js 4 via NPM $ npm update total4

  • added CSRF support
    • CONF.secret_csrf
    • CONF.default_csrf_maxage
    • DEF.onCSRFcreate(req)
    • DEF.onCSRFcheck(req)
    • controller.csrf() generates token
    • @{csrf} generates token in View engine
    • schema.csrf() enables csrf for schemas and their routes
    • csrf flag for ROUTE() method
    • csrf verification via x-csrf-token header or via URL argument ?csrf=TOKEN
    • RESTBuilder.csrf(token)
  • added HTMLMAIL(address, subject, body, [language], [callback]) method
  • added NPMINSTALL(name, [callback]) method for installaing of 3rd party NPM dependencies
  • added CONF.default_errorbuilder_errors for handling of all HTTP response via ErrorBuilder
  • added FILESTORAGE().image() method for reading of images
  • added dynamic delegates for receiving of messages in FlowStream in the form instance.mesage_<INPUT_NAME>
  • added response.proxy(target, [copypath], [after], [timeout]) method
  • improved handling of errors in all XHR requests (now the framework returns ErrorBuilder)
  • improved HTTP cache
  • improved image cache in FILESTORAGE()
  • improved MIDDLEWARE(name, fn, [assign], [first]) method
  • extended EXEC() by adding support for Tasks and Operations
  • decreased default_interval_websocket_ping to 1 minute (from 3)
  • created new unit tests by Helferino
  • added GitHub workflows by Marek Mahansky
  • fixed predefined session behavior (a problem with concurrent requests)
  • fixed PATCH method in the schemas
  • fixed DELETE method for the schemas (now it works like PATCH method)
  • fixed FlowStream.use() method
  • fixed pausing of outputs/inputs in FlowStream.
  • fixed controller.success()
  • fixed $.success() in multiple operations
  • fixed reconnectserver option in WEBSOCKETCLIENT()
  • fixed custom filters in schema workflows
  • fixed uploading of files in REQUEST() method
  • fixed handling of empty multipart/form-data stream
  • fixed auto-redirect with custom port number in REQUEST()
  • fixed command injection in Image.pipe() and identified by huntr
  • fixed parsing of uploaded files (sometimes was the writeable stream unclosed)
  • fixed execution of system routes
  • fixed inputs in FlowStream
  • fixed parsing of schema keys in PATCH method
  • fixed predefined session functionality (a problem with cache)
  • fixed API routes with empty model
  • fixed message with closing bytes in WebSocket and WEBSOCKETCLIENT()
  • fixed read stream in FILESTORAGE()
  • fixed measuring dimension for .gif images
  • fixed BACKUP() method (a problem with sockets)
  • fixed potential remote code execution in U.set() founded by Snyk
  • fixed routing with camel-Case URL addresses
  • fixed sending of messages via inline registered components in FlowStream

Total.js framework 3

  • fixed measuring dimension for .gif images
  • fixed DELETE method for the schemas (now it works like PATCH method)
  • fixed command injection in Image.pipe() and identified by huntr
  • fixed potential remote code execution in U.set() founded by Snyk

Total.js AppBuilder

  • updated Total.js empyt project with AppBuilder
  • improved Code editor
  • improved UI
  • improved resources
  • added Timer
  • added Ready delegate
  • added Tasks
  • added Modules
  • added Middleware
  • added copy & paste feature for components
  • added CSRF option
  • added a generator for documentation
  • added history
  • added JavaScript linter
  • updated templates
  • prepared code for real-time collaboration

Total.js Flow

  • added new documentation
  • updated HttpRequest component for Total.js 4
  • updated Function component for Total.js 4
  • updated FileWriter component for Total.js 4
  • fixed Scheduler component for Total.js 4.
  • improved and fixed UI
  • added a new event ON('flow.client', client)
  • added a new event ON('flow.error', err, instance, parent)
  • added a new event ON('flow.pause', is)
  • fixed parent argument in signal event
  • fixed unhandled errors

Code Editor

  • added a new template j-Centered
  • added Total Combat mode
  • updated JavaScript syntax highlighter by adding Total.js localization markup
  • updated jComponent
  • fixed bundling


  • improved UI
  • updated most of UI components
  • improved CodeMirror component by adding great new features



  • updated components for UI designer
  • updated UI components
  • fixed UI designer


  • updated modify() method by adding # symbol (more in docs)