-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Advanced User Controls and Proper Path Validation #6098
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested the functionality (i.e. didn't reviewed the code), in general lgtm.
- UX-wise I made a comment in the relevant issue about whether we can simplify and only give the option to users to specify a min edge weight (no max).
- I think we should put these controls under an "Advanced" toggle. CC @clarkus for thoughts.
- UI needs to be updated too based on latest designs.
- Also made a comment in the original issue, but it's not super clear where the weight is calculated (probably a misunderstanding on my end). See this path where start and end nodes have 5 users, but the max is set at 3.
I wanted to put this on the old UI as well for now, so I can myself play with these options and see how they work. Very hard / not worth the effort - to do it outside the app 😅. re: weights, answered in the issue. But yeah, the idea is that weight is between two path items, not the total from start to end. So, in the above image, it's the count on each of the blue bars, not the count on the grey bars. |
Continuing conversation in main issue |
|
Wut? |
(2) is exactly why I wanted to put this on the old UI, so I could test it myself. But, I guess it's okay to do this after we have the new UI. Split out part of the solution: The deletion of dangling edges - into a separate PR. |
Closing in favour of: #6173 |
Changes
Fixes #6041 <- more context about the solution there. I haven't heard any strong opposition yet, so went ahead with the approach.
This PR:
On the backend, introduce the Path manipulation operators: Min and max edge weights, plus total edge count.
Validates the paths graph returned from the query, removing all dangling edges. I decided for now to do this in all cases except when Min or Max edge weight is defined (kinda open question if we want to do this here as well). See
test_path_min_edge_weight
for why it makes sense to not do this here. When min weight is defined, it's very much possible that the initial edges will be removed, and then removing the dangling edges destroys the graph, which we probably don't want to happen.Thoughts welcome!
Checklist