WebRocketX Change Log

Summary of what has changed in each version of WebRocketX. All newer versions are backward compatible.


Version Number Release Date Changes
1.6 4/4/2020
  • Added JSON capsule type - Allows JSON text to be included in the body of the capsule. The framework will return the JSON evaluated into an object in the successful callback parameter. It was possible, previous to this version, to send json but a "trick" would have to be used like using the "pre" tag or a "textarea" tag, and then the developer would have been responsible for evaluating the json.
  • Added disableNavigation global variable - Enables the developer to utilize WebRocketX for independent async calls only without having the browser side navigation feature enabled.
  • Bug fix - Unintelligible error message when form not found during form submission - Calling submitAsyncForm with a form name that couldn't be found was returning an error message that did not indicate the true nature of the problem. Now a precise error message is given.
  • Bug fix - Developer feedback textarea position improvement - The developer feedback text area was interfering with the dragging of modal capsules when they overlapped each other. CSS was improved to eliminate this.
1.7 11/21/2021
  • Added pageLoadTimeStampParamName global variable - Allows the developer to configure the parameter name for the CSRF token that is sent to the server. This improvement became high priority to support developers using WebRocketX against a Django backend. Django by default checks a parameter called "csrfmiddlewaretoken", with all POST requests, and will fail the request unless this parameter is sent with the correct value. Django allows the enforcement of the CSRF token to be disabled for each mapping, but this is not recommended because it leaves the web application vulnerable.
1.8 06/25/2022
  • Fixed loss of attached events when navigating back from modal - The jquery empty command was stripping custom registered events from removed and stored DOM nodes even though the nodes had references other than the node they were removed from. This problem only appeared when navigating back from a modal because the DOM node was still present in the view at time of removal.
1.9 08/11/2022
  • Added jsReturn capsule attribute - Specifies a javascript method that will be called when this page is returned to but not reloaded. Returning to a page can be trigged by using the back button or calling dtSetCapsuleById. This mechanism is useful when the developer desires part of the view to be refreshed, or any other code to be run, upon display either conditionally or unconditionally. Since the application is running in a single page, conditions can be relayed between pages as global variables.
1.9.1 08/13/2022
  • Fixed landing page capsule reinjection error - Fixed landing page refresh from resulting in back button on next injection of the same capsule that is inlined with the landing page.

    Steps to reproduce:
    Navigate to the welcome page and view the inlined capsule which is registered and displayed
    Press the browser refresh
    Click on a link that reinjects the same capsule that is inlined on the landing page
    Page will go back to the page preceding the landing page and jump out of the application

    Desired behavior:
    Fresh content for that capsule should instead be displayed without going back to the previous page

    Registration of landing page capsule was not setting the current capsule id as it should have. Current capsule id is now set upon registration.
1.9.2 09/01/2022
  • Fixed back navigation on untracked pages - The presence of untracked pages were causing back navigation to behave unpredicatably.
  • Fixed dtInit behavior at welcome page level - Fixed the stack initialize so that it does nothing when the user is already at the welcome page. Previously unpredictable behavior could occur when this method was used when already at the stack base.
  • Fixed vague error message when targetId not found - A more specific error message now displayed when the targetId for a capsule is not found in the DOM.
  • Enhancement. Added the option of specifying targetId for capsule type of data - Previously the developer would have to code the placement of a data capsule type. Now, the targetId is optional allowing the developer the freedom of leveraging the framework to place the layout if desired. Thanks to the community for suggesting this convenient upgrade. :)
1.10.1 07/16/2023
  • Fix. Breaking change. Error page modals are now untracked. - Error popups are now untracked but previous developers used dtBack on them. In order to close these pop ups properly developers should switch from using dtBack to dtCloseUntrackedModal. This fix improved behavior when an error popup appeared over an untracked page. Previously closing the popup would jump to the page before the untracked page which was undesirable especially in the case that the page was untracked because it was a create entity page that the developer desired to leave untracked. This prevented the developer from cleanly handling server side errors during the create process and having the user continue with their data entry. Another solution other than leaving the create page untracked would be to keep the create page tracked but remove it from the stack, after the create submit was successful, using the removeCapsuleFromHistory method.
  • Fix. Breaking change. dtInit refactored to fix js race condition - Refactored dtInit so that a callback is required when calling something immediately after it. This fixed race conditions with browser navigation buttons.
  • Enhancement. New multipart form submit - Allows attachments such as images to be sent along with form submits.
  • Fix. Json processing fixed to not encode ampersand - Ampersand was previously being encoded which corrupted json text.
  • Enhancement. New method setDisableSendingCsrfToken - Allows developer to disable the sending of the CSRF token for a single request.
  • Enhancement. New method setUseGetRequest - Allows get to be used instead of default post. Desireable when wanting to cache views.
  • Enhancement. Better handling of untracked modal error pages - Untracked modal error pages will now automatically be closed with any browser navigation. Also calling dtCloseUntrackedModal from okay button will close it as well. Modal error pages are not tracked by design. To not track a regular modal set trackPage="false" in its capsule.
  • Enhancement. New method dtCloseUntrackedModal - Developer can close an untracked modal and land on the page behind it, even if the page behind it is untracked, this way the untracked page is not skipped over, handy for untracked popups in front of untracked pages
  • Enhancement. New method removeCapsuleFromHistory - Handy to surgically remove a create page from the stack after creation so that back button will not land on a filled out form after creating something.
  • Enhancement. Running WebRocketX no longer requires unsafe-eval - Removed "Function" method so that unsafe-eval is no longer required in CSP to run WebRocketX
  • Fix. Error in hash change tracking - Fixed error in hash change tracking when a page is reloaded. Was causing unpredictable navigation in edge cases.

Contact Us

 If you have questions about WebRocketX, please feel free to contact us at: