Project

General

Profile

Bug #66385

New UI improvements for Safari

Added by H . 11 months ago. Updated 10 months ago.

Status:
Done
Priority:
No priority
Assignee:
Lola Yang
Category:
GUI (new)
Target version:
Severity:
New
Reason for Closing:
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

I've seen other bugs filed about Safari on iOS, but while this may be a related / similar issue, I wanted to call it out specifically. First - my setup...I've had a plain vanilla HTTP setup, as well as an HTTPS setup and reliably see this issue in both use cases.

The specific issue: Safari times out of the session after a very short period of time, particularly if you lose focus of the browser window / tab. This results in you having to login every ~5 minutes or so, if the browser window / tab is not in the foreground. On the same machine, when tested with Chrome, sessions don't timeout after a short window and behaves as expected.

It seems to me what may be happening is something in the way that the UI is issuing keepalives or verifying if you're still there is not functioning the way it should on Safari. I've seen similar behavior on iOS as well.

To recreate this issue on a Mac:

1. Login to the FreeNAS UI.
2. Switch to another Safari tab and perform work.
3. Switch back after a few minutes - the login screen pops back up again.

Thanks.

FN-Safari.png (263 KB) FN-Safari.png Safari H ., 12/30/2018 06:51 PM
FN-Chrome.png (289 KB) FN-Chrome.png Chrome H ., 12/30/2018 06:51 PM
46902
46911

Related issues

Has duplicate FreeNAS - Bug #69580: Cannot use FreeNAS Web UI in iOS SafariClosed

History

#1 Updated by H . 11 months ago

Some debug output from Safari on Mac (Mojave) for reference...this may or not be useful / relevant:

[Log] Error:  – {error: 13, type: null, reason: "Not authenticated", …} (main.94da5af81b6d1e5a84c5.bundle.js, line 1)
{error: 13, type: null, reason: "Not authenticated", trace: null, extra: null}Objecterror: 13extra: nullid: [Array, {step: "10", start: "now-10m"}]Array (2)reason: "Not authenticated"trace: nulltype: nullObject Prototype
[Error] ERROR – TypeError: undefined is not an object (evaluating 'n.observer') — main.94da5af81b6d1e5a84c5.bundle.js:1:4425508
TypeError: undefined is not an object (evaluating 'n.observer') — main.94da5af81b6d1e5a84c5.bundle.js:1:4425508
    (anonymous function) (main.94da5af81b6d1e5a84c5.bundle.js:1:1933840)
    _t (main.94da5af81b6d1e5a84c5.bundle.js:1:2593220)
    handleError (main.94da5af81b6d1e5a84c5.bundle.js:1:2593414)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:2616072)
    (anonymous function) (main.94da5af81b6d1e5a84c5.bundle.js:1:2608946)
    __tryOrUnsub (main.94da5af81b6d1e5a84c5.bundle.js:1:3742359)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:3741645)
    _next (main.94da5af81b6d1e5a84c5.bundle.js:1:3740688)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:3740360)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:666460)
    emit (main.94da5af81b6d1e5a84c5.bundle.js:1:2608720)
    run (polyfills.4e42ab25a6112b333361.bundle.js:1:38615)
    onHandleError (main.94da5af81b6d1e5a84c5.bundle.js:1:2610582)
    runTask (polyfills.4e42ab25a6112b333361.bundle.js:1:39365)
    invokeTask (polyfills.4e42ab25a6112b333361.bundle.js:1:45219)
    m (polyfills.4e42ab25a6112b333361.bundle.js:1:55914)
    b (polyfills.4e42ab25a6112b333361.bundle.js:1:56139)
[Error] Failed to load resource: the server responded with a status of 401 () (replication, line 0)
[Log] SyntaxError: JSON Parse error: Unexpected EOF — main.94da5af81b6d1e5a84c5.bundle.js:1:1963204 (main.94da5af81b6d1e5a84c5.bundle.js, line 1)
[Log] Error:  – {error: 13, type: null, reason: "Not authenticated", …} (main.94da5af81b6d1e5a84c5.bundle.js, line 1)
{error: 13, type: null, reason: "Not authenticated", trace: null, extra: null}Object
[Error] ERROR – TypeError: undefined is not an object (evaluating 'n.observer') — main.94da5af81b6d1e5a84c5.bundle.js:1:4425508
TypeError: undefined is not an object (evaluating 'n.observer') — main.94da5af81b6d1e5a84c5.bundle.js:1:4425508
    (anonymous function) (main.94da5af81b6d1e5a84c5.bundle.js:1:1933840)
    _t (main.94da5af81b6d1e5a84c5.bundle.js:1:2593220)
    handleError (main.94da5af81b6d1e5a84c5.bundle.js:1:2593414)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:2616072)
    (anonymous function) (main.94da5af81b6d1e5a84c5.bundle.js:1:2608946)
    __tryOrUnsub (main.94da5af81b6d1e5a84c5.bundle.js:1:3742359)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:3741645)
    _next (main.94da5af81b6d1e5a84c5.bundle.js:1:3740688)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:3740360)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:666460)
    emit (main.94da5af81b6d1e5a84c5.bundle.js:1:2608720)
    run (polyfills.4e42ab25a6112b333361.bundle.js:1:38615)
    onHandleError (main.94da5af81b6d1e5a84c5.bundle.js:1:2610582)
    runTask (polyfills.4e42ab25a6112b333361.bundle.js:1:39365)
    invokeTask (polyfills.4e42ab25a6112b333361.bundle.js:1:45219)
    m (polyfills.4e42ab25a6112b333361.bundle.js:1:55914)
    b (polyfills.4e42ab25a6112b333361.bundle.js:1:56139)
    next (main.94da5af81b6d1e5a84c5.bundle.js:1:666460)
    emit (main.94da5af81b6d1e5a84c5.bundle.js:1:2608720)
    run (polyfills.4e42ab25a6112b333361.bundle.js:1:38615)
    onHandleError (main.94da5af81b6d1e5a84c5.bundle.js:1:2610582)
    runTask (polyfills.4e42ab25a6112b333361.bundle.js:1:39365)
    invokeTask (polyfills.4e42ab25a6112b333361.bundle.js:1:45219)
    m (polyfills.4e42ab25a6112b333361.bundle.js:1:55914)
    b (polyfills.4e42ab25a6112b333361.bundle.js:1:56139)
[...repeats...]

#2 Updated by H . 11 months ago

46902
46911

Additionally, comparing Safari with Chrome in realtime...it seems that at times the "health status" tile doesn't show up on Safari, but does on Chrome. At times, I will see it come up on Safari as well, but it's clearly intermittent.

Screenshots attached for reference.

#3 Updated by Dru Lavigne 11 months ago

  • Assignee changed from Release Council to Erin Clark
  • Target version changed from Backlog to 11.2-U3

#4 Updated by H . 10 months ago

A bit more information...I’ve noticed on both iOS and Mac, if you explicitly log off and log back on, things seem to work normally, until you put the focus on another window or tab...it seems like there’s some authentication timeout of some sort that’s happening behind the scenes...and when that timeout occurs, things bring in the UI. To workaround it, you can explicitly log off and log back in, but you still are in a situation where essentially 5-10 minutes of inactivity in the browser tab with the UI open kills your session.

#5 Updated by Erin Clark 10 months ago

  • Assignee changed from Erin Clark to Lola Yang

#7 Updated by Lola Yang 10 months ago

I cannot reproduce it on Mac OS. but it happens on ios with safari or chrome.

#8 Updated by Lola Yang 10 months ago

  • Status changed from Unscreened to In Progress

#9 Updated by Dru Lavigne 10 months ago

  • Subject changed from Safari Support Semi-Broken in 11.2 on Mac (and iOS) to New UI improvements for Safari
  • Status changed from In Progress to Ready for Testing
  • Needs Doc changed from Yes to No
  • Needs Merging changed from Yes to No

#10 Updated by Dru Lavigne 10 months ago

  • Target version changed from 11.2-U3 to 11.2-U2

#13 Updated by Dru Lavigne 10 months ago

  • Has duplicate Bug #69580: Cannot use FreeNAS Web UI in iOS Safari added

#14 Updated by Jeff Ervin 10 months ago

  • Status changed from Ready for Testing to Passed Testing
  • Needs QA changed from Yes to No

Test Passed FreeNAS-11.2-U2-INTERNAL79

Testing Criteria followed. Using Mac Mini, with Safari, opened WebUI, opened another tab and focused on it for approx. 3-5 minutes and returned to WebUI. Dashboard up and running, no login page etc. Running MacOS High Sierra 10.13.6
Work on Chrome as main browser and the issue has not been seen by this user.

#15 Updated by Dru Lavigne 10 months ago

  • Status changed from Passed Testing to Done

Also available in: Atom PDF