Using/Getting timestamp inside template

Technical Support
  • Hi nodeBB-Community,
    we are using nodebb 1.4.6 and I'd like to cache-bust the profile-avatars, so changes are immediately seen by every user.

    How can I use inside a template?

  • Do you have a custom theme? You can add a cache buster into all routes by using the hook filter:middleware.render here is a sample plugin function that uses that hook.

    myPlugin.onRenderPage = function(hookData, callback) {
        hookData.templateData.cacheBuster =;
        callback(null, hookData);

    Now every page will have cacheBaster available for templates to use, in your template you can do <img src="someUrl?cacheBuster={cacheBuster}"/> and it will use the value you passed in from the server side.

  • Why are you in such an old version of NodeBB? You should really upgrade, there have been a couple of security issues fixed since that version.

  • @baris Thank you very much for the example. I use a custom theme and this works perfectly as expected in some parts of the template. I changed it in the following files:


    And it's working. A new uploaded profile-picture is immediately shown after upload, also without deleting the browser-cache.

    Now in the upload-modal:
    the old picture is still shown. Adding the cacheBuster-query-string there doesn't work, the timestamp is not appended. Is there a hook also for this case?

    Also is there a list of all possible hooks/events that are happening in the system?

    Another thing I noticed is, that after uploading a new profile-picture, the success-callback changes the picture in the header-menu and in the edit-page immediately, but not in the profile-header part (after refreshing, with the new cacheBuster, it is changed).
    I've traced it to this file: app/public/src/client/account/edit.js.
    How can I now react on the image-change in my custom theme?

  • I don't think we have a hook for that, I was also looking at the source code and seems like is already appended to the url here, is your version of nodebb lacking that code?

Suggested Topics