Browser cache issue

  • Used Zammad version: 2.4
  • Used Zammad installation source: zammad-docker-compose current as of 2018-05-26
  • Operating system: ubuntu 18.04
  • Browser + version: firefox 60.0.1 (64-bit) dstro version (also tested in latest chrome Version 66.0.3359.181 (Official Build) (64-bit)

Expected behavior:

  • Overview Tabs update as tickets are added in another browser winder

Actual behavior:

  • It only shows new tickets after a browser reload (ctrl-r). Opening a different overview tab and then reopening the original tab doesn’t show new tickets either. They only appear after ctrl-r

Steps to reproduce the behavior:

  • I’m using a custom overview tab that displays all tickets with a particular tag, open that overview tab. In a different browser (i don’t know if it matters, but logged in with the same user) tag a ticket with that tag. Go back to the original browser and see if the new ticket is there. If it isn’t click a different overview tab, then click the tag overview tab and see if it’s there (it isan’t for me). reload the page with ctrl-r and it appears.

Looking at the browser developer tools there’s no network traffic either. I see network traffic the first time an overview tab is clicked, but not the second time it’s clicked.

tested in an incognito window with no added browser extensions

Hi @chesty - This has a technical cause: Zammad is a single page application. This means that it’s super fast and comes with other great feature. However, a downside is that it’s (currently) restricted to one active session per user. If you login with the same user account in a different browser/tab the later session will win and a text box is shown giving you the possibility to overtake the session again. Improving this is on our list. Would be great to receive a pull request to our user documentation which notes/explains this :heart_eyes:

1 Like

sweet. Thanks thorsteneckel.

It tripped me up at work while showing someone the basics of how to use it. I’m new to it too, I think I must have gone back to my desk and as admin clicked “View from user’s perspective” to work out how to do something, then went back to the persons desk and they couldn’t see what I had done. So today I was testing to see if I could reproduce it, and I could.
It all makes sense now.

I have seen the popup about taking over the session, but it doesn’t always appear, it didn’t today while testing.

It’s a relief to find out what’s going on. We put a small group on Zammad a few weeks ago to trial it and get some experience, it went well, so on Monday the larger group is switching to it.

I’ll send an email to my boss to remind him to donate to the project. I’d love to contribute to the project too but I don’t know ruby, but I do know a little english so I’ll send a PR to update the documentation soon.

@thorsteneckel @chesty

Just a small Feedback from my site: The notification with “overtake session” only comes, when my other computer with the older session is active, running and having an internet connection. The message does not appear, when I wake up my computer from hibernate or sleep.

Also, most of the time after hitting “overtake session” I noticed that I have to do a reload of the page, as it did not fetch the current information that I know are there because of E-Mail notifications.

Not sure if I’m just too impatient, my virtual machine has too low hardware ressources or it’s just zammad not catching up. I don’t mind it actually, I’m actually reloading automatically, but maybe the green button could do this for the user :stuck_out_tongue:

I’m doing some more testing today.
I’ve ctrl-r my browser, I only have 1 window open.

I opened “My Assigned Tickets”
I got another user to create a ticket using the (+) button and assign it to me.
I’ve wait 15 minutes without clicking anything and the ticket hasn’t arrived.
Now I’ve opened a different overview tab, and reopened the My Assigned Tickets tab
and the count has increased from 1 to 2, but I can’t see the ticket, I can only see 1 ticket.
I ctrl-r and now I see it.
I’m guessing that isn’t the intended behaviour?
I can’t see things like
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(-) Status: websocket clients: 9
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(67290020) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(78805540) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(76228240) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(60493740) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(72828380) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(73021740) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(57303460) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(79457100) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(81661500) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:27Z:client(-) Status: ajax clients: 0
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:28Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:29Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:29Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:31Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:31Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:35Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:35Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:36Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:36Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:36Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:39Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:40Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:40Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:41Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:43Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:43Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:44Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:44Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:46Z:client(78805540) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:46Z:client(76228240) send data to client
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(-) Status: websocket clients: 9
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(67290020) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(78805540) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(76228240) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(60493740) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(72828380) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(73021740) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(57303460) working…
ESC[32mzammad-websocket_1 |ESC[0m 2018-05-28T06:25:47Z:client(79457100) working…

What do I do to debug this?

Cheers. Thanks for any help.

zammad is behind an nginx reverse proxy. I thought it might be the reverse proxy causing issues, it looks ok to me, but here’s the config.

map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
}

server {
        listen   192.168.1.19:443 ssl  ; 
        server_name zammad.microsoft.com;

        error_log   /var/log/nginx/zammad.microsoft.com-error.log info;
        access_log  /var/log/nginx/zammad.microsoft.com-access.log;

        ssl                  on;
        ssl_certificate /etc/letsencrypt/live/zammad.microsoft.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/zammad.microsoft.com/privkey.pem;

        keepalive_timeout   300;
        ssl_session_cache     shared:SSL:20m;
        ssl_session_timeout   4h;

        proxy_read_timeout  90;
        proxy_ssl_session_reuse on;

        ssl_dhparam /etc/nginx/dhparam.pem;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers HIGH:!aNULL:!MD5:!3DES:kEDH:!DES;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;";
        add_header X-Frame-Options DENY;

        resolver 1.1.1.1;
        ssl_stapling on;
        ssl_trusted_certificate /etc/letsencrypt/live/zammad.microsoft.com/fullchain.pem;

        root /var/www/html;
        index index.html;

        location /.well-known {
                root /var/www/zammad.microsoft.com/;
        }

        location / {
                proxy_pass       http://192.168.1.50:8083/;
                proxy_set_header Host      $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_read_timeout 300;
                #ssl_handshake_timeout 30s;
        }

        location /ws {
                proxy_pass       http://192.168.1.50:6042;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                proxy_set_header CLIENT_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Proto-Version $http2;
                proxy_read_timeout 86400;
        }
}

I made a few changes, I added http2 to the listen line and I disabled a file in stream-enable I added months ago and forgot about. So far I haven’t found any errors in the logs. I’ll do some more testing tomorrow.

We haven’t seen this problem today. I made two changes, I upped the postgresql max_connections and the above nginx changes. Cheers.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.