amidaware / tacticalrmm

A remote monitoring & management tool, built with Django, Vue and Go.
https://docs.tacticalrmm.com
Other
3.25k stars 447 forks source link

Bug: iOS issues while clicking on any agent #43

Closed Gjeret closed 3 years ago

Gjeret commented 4 years ago

On the current iOS (both phone and iPad) on built in safari and chrome I can log in, get the 2fa, view the dashboard. once I click on an agent, screen flashes, and it errors out:

Your session has expired Login

wh1te909 commented 4 years ago

I just pulled out my old iphone 7 and also getting the same issue. I'll investigate in a bit and see what i can find

wh1te909 commented 4 years ago

I was playing around with this last night, I figured I'd try just enabling support for older browsers including IE just to see if maybe that would also fix iOS. I was able to reproduce the same bug on IE (getting kicked out right when clicking on an agent), and then after enabling IE and old browser support, IE was no longer kicking me out. Thought for sure that would fix iOS but I'm still getting the same bug on my iphone 7.

Just as a test, on your box can you edit /rmm/web/package.json at the bottom under browserslist, replace it with the following

"browserslist": [
    "ie 11",
    "last 500 Chrome versions",
    "last 500 Firefox versions",
    "last 500 Edge versions",
    "last 500 Safari versions",
    "last 500 Android versions",
    "last 500 ChromeAndroid versions",
    "last 500 FirefoxAndroid versions",
    "last 500 Baidu versions",
    "last 500 BlackBerry versions",
    "last 500 OperaMini versions",
    "last 500 OperaMobile versions",
    "last 500 Samsung versions",
    "last 500 UCAndroid versions",
    "last 500 kaios versions",
    "last 500 Opera versions"
  ]

and then you'll need to rebuild the frontend like so

sudo systemctl stop nginx
rm -rf /rmm/web/node_modules
rm -rf /rmm/web/dist
cd /rmm/web
npm install
npm run build
sudo rm -rf /var/www/rmm/dist
sudo cp -pvr /rmm/web/dist /var/www/rmm/
sudo chown www-data:www-data -R /var/www/rmm/dist
sudo systemctl start nginx

then give it a try from your iOS devices (clear cache and hard reload the webpage)

Gjeret commented 4 years ago

Tried, Sadly it was the same Log into the Dashboard see computers click computer "your session has expired"

kb8zgl commented 4 years ago

I am having this issue on Safari on a MBP also, I opened it in Chrome and didn't have the issue.

plaxon commented 4 years ago

Can confirm this. Safari on MacOS does not work either. No high priority issue though, as Chrome and Firefox work without any issue on MacOS.

bradhawkins85 commented 3 years ago

Saw the help wanted sign: Not sure if this is any help but access log capture from HAProxy on iPad (Chrome) VS Windows machine when clicking on an agent.

Noticing an extra java script GET request on iOS that's not there on Windows: GET /js/9.b8e253de.js HTTP/1.1

Click On Agent - iOS

Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:54005 [17/Jun/2021:14:25:24.929] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 421/421/5/5/0 0/0 "OPTIONS /checks/368/loadchecks/ HTTP/1.1"
Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:54003 [17/Jun/2021:14:25:24.929] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 421/421/4/4/0 0/0 "OPTIONS /winupdate/368/getwinupdates/ HTTP/1.1"
Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:53992 [17/Jun/2021:14:25:24.929] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 421/421/3/3/0 0/0 "OPTIONS /agents/368/agentdetail/ HTTP/1.1"
Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:54004 [17/Jun/2021:14:25:24.929] my_frontend~ Tactical_ipvANY/tactical 0/0/0/3/3 200 492 - - ---- 421/421/2/2/0 0/0 "OPTIONS /tasks/368/automatedtasks/ HTTP/1.1"
Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:54005 [17/Jun/2021:14:25:24.933] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 421/421/3/3/0 0/0 "OPTIONS /software/installed/368 HTTP/1.1"
Jun 17 14:25:24 haproxy haproxy[1110]: InternalIP:54003 [17/Jun/2021:14:25:24.935] my_frontend~ Tactical_ipvANY/tactical 0/0/0/1/1 200 492 - - ---- 421/421/2/2/0 0/0 "OPTIONS /agents/368/notes/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54003 [17/Jun/2021:14:25:24.943] my_frontend~ Tactical_ipvANY/tactical 0/0/0/92/93 200 153708 - - ---- 423/423/6/6/0 0/0 "GET /agents/368/agentdetail/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54003 [17/Jun/2021:14:25:25.085] my_frontend~ Tactical_ipvANY/tactical 7/0/0/7/14 301 310 - - ---- 422/422/6/6/0 0/0 "GET /software/installed/368 HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54005 [17/Jun/2021:14:25:24.942] my_frontend~ Tactical_ipvANY/tactical 0/0/0/176/176 200 13501 - - ---- 423/423/6/6/0 0/0 "GET /tasks/368/automatedtasks/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54005 [17/Jun/2021:14:25:25.125] my_frontend~ Tactical_ipvANY/tactical 0/0/0/3/3 200 492 - - ---- 423/423/6/6/0 0/0 "OPTIONS /software/installed/368/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54003 [17/Jun/2021:14:25:25.106] my_frontend~ Tactical_ipvANY/tactical 0/0/0/55/55 200 347 - - ---- 422/422/5/5/0 0/0 "GET /agents/368/notes/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:53992 [17/Jun/2021:14:25:24.938] my_frontend~ Tactical_ipvANY/tactical 0/0/0/226/226 200 11348 - - ---- 422/422/4/4/0 0/0 "GET /checks/368/loadchecks/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54004 [17/Jun/2021:14:25:24.939] my_frontend~ Tactical_ipvANY/tactical 0/0/0/192/234 200 251261 - - ---- 422/422/3/3/0 0/0 "GET /winupdate/368/getwinupdates/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:53992 [17/Jun/2021:14:25:25.286] my_frontend~ Tactical_ipvANY/tactical 0/0/0/5/5 401 381 - - ---- 421/421/2/2/0 0/0 "GET /software/installed/368/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:53971 [17/Jun/2021:14:25:25.305] my_frontend~ Tactical_ipvANY/tactical 0/0/0/1/1 200 20672 - - ---- 422/422/2/2/0 0/0 "GET /fonts/KFOlCnqEu92Fr1MmWUlfBBc-.0344cc3c.woff HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:54001 [17/Jun/2021:14:25:25.308] my_frontend~ Tactical_ipvANY/tactical 0/0/0/1/1 200 913 - - ---- 422/422/2/2/0 0/0 "GET /js/9.b8e253de.js HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:49186 [17/Jun/2021:14:25:18.794] my_frontend~ Tactical_ipvANY/tactical 0/0/3/43/6618 101 318 - - ---- 424/424/2/2/0 0/0 "GET /ws/dashinfo/?access_token=xxxxxxxxxxxxxxxxxxx HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:53992 [17/Jun/2021:14:25:25.472] my_frontend~ Tactical_ipvANY/tactical 0/0/0/7/7 200 492 - - ---- 423/423/2/2/0 0/0 "OPTIONS /logout/ HTTP/1.1"
Jun 17 14:25:25 haproxy haproxy[1110]: InternalIP:53992 [17/Jun/2021:14:25:25.483] my_frontend~ Tactical_ipvANY/tactical 0/0/0/51/51 204 272 - - ---- 422/422/3/3/0 0/0 "POST /logout/ HTTP/1.1"

Click On Agent - Windows

Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1043 [17/Jun/2021:14:27:53.085] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 423/423/6/6/0 0/0 "OPTIONS /agents/368/agentdetail/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:31780 [17/Jun/2021:14:27:53.085] my_frontend~ Tactical_ipvANY/tactical 0/0/0/3/3 200 492 - - ---- 423/423/5/5/0 0/0 "OPTIONS /checks/368/loadchecks/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:6409 [17/Jun/2021:14:27:53.086] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 423/423/4/4/0 0/0 "OPTIONS /tasks/368/automatedtasks/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:4892 [17/Jun/2021:14:27:53.087] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 423/423/3/3/0 0/0 "OPTIONS /software/installed/368 HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1031 [17/Jun/2021:14:27:53.086] my_frontend~ Tactical_ipvANY/tactical 0/0/0/4/4 200 492 - - ---- 423/423/2/2/0 0/0 "OPTIONS /winupdate/368/getwinupdates/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:23817 [17/Jun/2021:14:27:53.087] my_frontend~ Tactical_ipvANY/tactical 0/0/0/3/3 200 492 - - ---- 423/423/1/1/0 0/0 "OPTIONS /agents/368/notes/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1031 [17/Jun/2021:14:27:53.091] my_frontend~ Tactical_ipvANY/tactical 0/0/0/5/5 301 310 - - ---- 423/423/6/6/0 0/0 "GET /software/installed/368 HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1031 [17/Jun/2021:14:27:53.102] my_frontend~ Tactical_ipvANY/tactical 0/0/0/2/2 200 492 - - ---- 423/423/6/6/0 0/0 "OPTIONS /software/installed/368/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1043 [17/Jun/2021:14:27:53.091] my_frontend~ Tactical_ipvANY/tactical 0/0/0/74/75 200 153708 - - ---- 423/423/6/6/0 0/0 "GET /agents/368/agentdetail/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1031 [17/Jun/2021:14:27:53.108] my_frontend~ Tactical_ipvANY/tactical 0/0/0/78/80 200 109560 - - ---- 423/423/5/5/0 0/0 "GET /software/installed/368/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:31780 [17/Jun/2021:14:27:53.092] my_frontend~ Tactical_ipvANY/tactical 0/0/0/111/111 200 347 - - ---- 423/423/4/4/0 0/0 "GET /agents/368/notes/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:6409 [17/Jun/2021:14:27:53.092] my_frontend~ Tactical_ipvANY/tactical 0/0/0/127/127 200 13501 - - ---- 423/423/3/3/0 0/0 "GET /tasks/368/automatedtasks/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:23817 [17/Jun/2021:14:27:53.092] my_frontend~ Tactical_ipvANY/tactical 0/0/0/175/188 200 251261 - - ---- 423/423/3/3/0 0/0 "GET /winupdate/368/getwinupdates/ HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:1030 [17/Jun/2021:14:27:53.280] my_frontend~ Tactical_ipvANY/tactical 0/0/0/1/1 200 20672 - - ---- 423/423/2/2/0 0/0 "GET /fonts/KFOlCnqEu92Fr1MmWUlfBBc-.0344cc3c.woff HTTP/1.1"
Jun 17 14:27:53 haproxy haproxy[1110]: InternalIP:4892 [17/Jun/2021:14:27:53.091] my_frontend~ Tactical_ipvANY/tactical 0/0/0/202/202 200 11348 - - ---- 423/423/1/1/0 0/0 "GET /checks/368/loadchecks/ HTTP/1.1"
bradhawkins85 commented 3 years ago

Suspect this js file may just be the logout page being called.

(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[9],{b93b:function(e,t,s){"use strict";s.r(t);var n=function(){var 
e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"fixed-center text-center"},[s("p",{staticClass:"text-faded"},
[e._v("Your session has expired")]),s("q-btn",{staticStyle:{width:"200px"},attrs:{color:"secondary",to:"/login"}},[e._v("Login")])],1)},o=
[],a={name:"SessionExpired",created()
{this.$store.dispatch("destroyToken")}},i=a,c=s("2877"),r=s("9c40"),d=s("eebe"),l=s.n(d),p=Object(c["a"])
(i,n,o,!1,null,null,null);t["default"]=p.exports;l()(p,"components",{QBtn:r["a"]})}}]);
NiceGuyIT commented 3 years ago

I believe this is being caused by a 301 redirect due to a missing trailing slash. There are two places I know of that logs you out and adding the trailing slash prevents the logout.

Clicking on an agent loads the software tab which redirects from /software/installed/00 to /software/installed/00/. Adding the trailing slash to js/app.*.js fixes this.

get(`/software/installed/${t}/`)

The other place is in the global settings. Adding the trailing slash to /alerts/alerttemplates in one of the js/*.*.js files fixes the issue. You'll need to grep which file has this line.

this.$axios.get("alerts/alerttemplates/")
silversword411 commented 3 years ago

...had to wait a year before / hunting LOL

dinger1986 commented 3 years ago

haha is it working? I would love to have it working on iOS

wh1te909 commented 3 years ago

that did not fix it, but I noticed in that url pattern, the ID is at the end of the url (/software/installed/<id>/)

I changed the url pattern to this (/software/<id>/installed/) and that fixed it, no longer getting logged out when clicking on the agent table.

there are a few more urls where I think we have the ID at the end so we re-arrange those too (has 0 impact on functionality) have no idea why that would make a difference but I guess Safari doesn't like numbers and the end of urls but other browsers don't care

wh1te909 commented 3 years ago

nevermind on my last post, was still missing a trailing slash in an endpoint, didn't have latest git pull. the bug is indeed a missing trailing slash 🤦‍♂️ thanks @NiceGuyIT for finding this

dinger1986 commented 3 years ago

Thanks

silversword411 commented 3 years ago

...at some point in the future I know I'm going to want to be able to find my Discord thread on this troubleshooting process, not sure how well search in threads in future will work so this is just for me ;)

https://discord.com/channels/736478043522072608/884993520908255244/885111694093873152