Using/Getting timestamp inside template

  • 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?

  • Admin Staff

    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.

  • Global Moderator

    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?

  • Admin Staff

    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?

Log in to reply

Suggested Topics

| |