Skip to content
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

Make the tables for TopClients & TopDomains behave like graph for ClientsOverTime #3072

Conversation

mwoolweaver
Copy link

@mwoolweaver mwoolweaver commented Jul 9, 2024

Thank you for your contribution to the Pi-hole Community!

Please read the comments below to help us consider your Pull Request.

We are all volunteers and completing the process outlined will help us review your commits quicker.

Please make sure you

  1. Base your code and PRs against the repositories developmental branch.
  2. Sign Off all commits as we enforce the DCO for all contributions
  3. Sign all your commits as they must have verified signatures
  4. File a pull request for any change that requires changes to our documentation at our documentation repo

What does this PR aim to accomplish?:

Make the tables for TopClients & TopDomains behave like graph for ClientsOverTime. Removes tables if there are no results (e.g. new installation or privacy mode enabled)

How does this PR accomplish the above?:

take the behavior found here on Line 28

// Remove graph if there are no results (e.g. new
// installation or privacy mode enabled)
if (jQuery.isEmptyObject(data.history)) {
$("#queries-over-time").remove();
return;
}

and adds it to the functions for TopClients on L296 & TopDomains on L355

Link documentation PRs if any are needed to support this PR:


By submitting this pull request, I confirm the following:

  1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
  2. I have commented my proposed changes within the code and I have tested my changes.
  3. I am willing to help maintain this change if there are issues with it later.
  4. It is compatible with the EUPL 1.2 license
  5. I have squashed any insignificant commits. (git rebase)
  6. I have checked that another pull request for this purpose does not exist.
  7. I have considered, and confirmed that this submission will be valuable to others.
  8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  9. I give this submission freely, and claim no ownership to its content.

  • I have read the above and my PR is ready for review. Check this box to confirm

…ime depending on Privacy Level

Signed-off-by: Michael Woolweaver <[email protected]>
Signed-off-by: Michael Woolweaver <[email protected]>
@mwoolweaver
Copy link
Author

sorry for the 2 commits not sure how to squash them together from web not very familiar with git via cmd line.

these changes have been tested locally and do work as intended.

@mwoolweaver mwoolweaver changed the title Makes the graphs for TopClients & TopDomains behave like ClientsOverTime Make the graphs for TopClients & TopDomains behave like ClientsOverTime Jul 9, 2024
@DL6ER
Copy link
Member

DL6ER commented Jul 9, 2024

Personally, I think that it's fine like it is now after the most recent fix #3069. I seem to recall that it was indeed causing confusion before when the tables just "vanished" - it's now clear what is happening and users were anticipating some API failures.

Having it like it is right now allows users to tell the "no data" situation apart from something broken in the API as the tables are neither simply empty or magically vanish altogether. On the contrary, I think the graph shouldn't simply vanish, either.

@mwoolweaver
Copy link
Author

mwoolweaver commented Jul 9, 2024

On the contrary, I think the graph shouldn't simply vanish, either.

Honestly i was just looking to get to some consistency in behavior. The 5 graphs should behave the same whichever is chosen. As it is they do not do this.

@rdwebdesign
Copy link
Member

The 5 graphs should behave the same whichever is chosen.

This is a personal point of view, but I don't see why they "should" behave the same (my personal opinion).

The previous PR (#3069) actually fixed the "infinity loading wheel", but there is nothing really broken in "Client activity over last 24" behavior.

Note:
There are actually 4 graphics ("Total queries over last 24 hours", "Client activity over last 24 hours", "Query Types" and "Upstream servers") and 4 tables ("Top Permitted Domains", "Top Blocked Domains", "Top Clients (total)" and "Top Clients (blocked only)").

@mwoolweaver mwoolweaver changed the title Make the graphs for TopClients & TopDomains behave like ClientsOverTime Make the tables for TopClients & TopDomains behave like graph for ClientsOverTime Jul 9, 2024
@mwoolweaver
Copy link
Author

This is a personal point of view, but I don't see why they "should" behave the same (my personal opinion).

my thought was they represent the same data (client activity) so the behavior would be the same.

@mwoolweaver
Copy link
Author

mwoolweaver commented Jul 9, 2024

also worth noting is the following verbiage in the privacy settings:

Hide domains: Display and store all domains as hidden
This disables the Top Permitted Domains and Top Blocked Domains tables on the dashboard

Hide domains and clients: Display and store all domains as hidden and all clients as 0.0.0.0
This disables all tables on the dashboard

i would assume disabled means "showing no data" instead of "not showing at all"

there's also no mention of the Client activity over last 24 hours graph being disabled or disappearing

@rdwebdesign
Copy link
Member

This disables all tables on the dashboard

Exactly. It disables the tables (they don't collect or show data), but it doesn't hide them.

@PromoFaux PromoFaux deleted the branch pi-hole:development-v6 September 14, 2024 14:39
@PromoFaux PromoFaux closed this Sep 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants