-
-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Log view page is a little clunky and basic compard to the rest of the interface #946
Comments
Thanks for the feedback. This suggestion however makes it more difficult to navigate. Now it adds two scroll bars, one on the web page and one for the log viewer. So, using simple navigation keys (like space bar, page up/down, home, end, etc.) on the webpage becomes difficult. Right now, you can navigate to the latest log entry just by pressing END key and get back to the top using HOME key. I am thus not sure how this suggested change is improving user experience. |
I tend to focus on mouse-oriented designs, as most people are unaware of keyboard navigation (albeit, this is a DNS server so the users are significantly more tech-savvy):
in this much-reduced state, a button to expand the There is additionally a consideration as to whether or not footers are desirable in modern designs, as their presence creates these kinds of issues and rule out the possibility of adding infinite-scrolling pages; a feature that could see use on the zones tab, where new pages are automatically loaded and appended. Infinite-scroll is more of a moon-shot consideration, though and not a direct recommendation - proper pagination still has its place.
This styling can also be implemented in other ways than the quick css tweaks I included in #946 (comment), such as using |
Thanks for the suggestions. The log view does need an upgrade since the current design limits the file to load max 2MB of data since loading more causes issues with web browsers. So, will plan something with it where it becomes possible to navigate the entire log file and also make it a bit mouse friendly. |
I had noticed that occasionally when viewing a file it would flicker out of existence if I scrolled down to the bottom sometimes, but when I shrank the max-height that stopped happening entirely so the solution may be the upgrade in its own right? I suspect it's a node-length problem and splitting the text inside the pre.innerHTML = log.split( /((?:[^\n]*\n){100})/g ).map( (v, i)=> v !== "" ? v : i === 0 ? "<span>" : "</span><span>" ).join(''); Which splits on every 100 line grouping with a capture group, reducing the match to an empty string and then adding the capture group as a separate element in the array after, then runs it through Edit: After stewing on it a bit, just replacing |
The log file can go in GBs so it wont be good to load it completely in the web browser. This needs to be some kind of pagination where only relevant section of the log file is displayed. |
Fair: It needs both in some capacity - having the text phase out of existence in some cases is as undesirable as waiting minutes to download and crash. I'm just spitballing because I wouldn't be in the field if I didn't enjoy problem solving: Without the footer or having the log scroll separately, an infinite-scroll solution could be applied here and you can just chunk it into <x> MB requests. When wrapped in a #text-chunk:empty::before {
display: block;
content: "";
height: 1200px; /* or whatever is appropriate on average for the chunk size */
} However, this solution is heavy on client processing in the spirit of keeping servers resource-light, and may or may not be applicable to the admin panel; the infinite-scroll approach also possibly clashes with other elements of the design. |
This only occurs with configuration errors or logging all requests, but the log's
pre
element makes navigating that page a little clunky; the best two ways, in my opinion, to make a smooth experience would be one of:#preLogViewerBody
to some limit <=100vh
keeping it constrained to the screen's bounds. Personally, I find 65-70vh works well (ignore the errors, they do make a nice demonstration for this effect however):.log-list-pane
position: sticky
so it follows the page scroll, making cross-referencing multiple days of logs easier; a[top]
-like option could also then be added instead of a separate UI elementI can further see the log-list becoming problematic, as it appears - though I do not yet have enough logs to confirm - that it will overflow the screen height as well: grouping logs into date-ranges wouldn't be amiss as a feature here and just opening 'folders' to get at logs other than the latest batch would help control this, particularly on servers hat wind up running for years on end without being cleared manually or automatically; I would suggest something along the lines of
year
>month
>"week"
(quarter or half months in practice) >day
If desired, I can sketch out a demo with some code for the UI template, though pagination may be a simpler and better option - one that is additionally already implemented elsewhere in the interface code and would be much faster to add even in this more constrained space.
The text was updated successfully, but these errors were encountered: