-
Notifications
You must be signed in to change notification settings - Fork 40
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
Increase usage of InvalidValue
for a better client error experience
#910
Comments
The crux of this isn't as much about this specific solution but more about better error handling in general. |
leftwo
pushed a commit
that referenced
this issue
Sep 11, 2023
Crucible: update rust crate base64 to 0.21.3 (#913) update rust crate slog-async to 2.8 (#915) update rust crate async-recursion to 1.0.5 (#912) Move active jobs into a separate data structure and optimize `ackable_work` (#908) Check repair IDs correctly (#910) update actions/checkout action to v4 (#903) update rust crate tokio to 1.32 (#890) Remove single-item Vecs (#898) Move "extent under repair" into a helper function (#907) offset_mod shouldn't be randomized (#905) Only rehash if a write may have failed (#899) Make negotiation state an enum (#901) Test update for fast write ack and gather errors on test failure (#897) Propolis: Update cpuid-gen util for better coverage Make storage backend config more flexible and consistent Use correct register sizes for PIIX3 PM device Update bitflags dependency fix softnpu port order (#517) Use hex formatting for unhandled MMIO/PIO/MSRs Update deps for new crucible and oximeter Update standalone-with-crucible docs (#514)
leftwo
added a commit
that referenced
this issue
Sep 12, 2023
Crucible: update rust crate base64 to 0.21.3 (#913) update rust crate slog-async to 2.8 (#915) update rust crate async-recursion to 1.0.5 (#912) Move active jobs into a separate data structure and optimize `ackable_work` (#908) Check repair IDs correctly (#910) update actions/checkout action to v4 (#903) update rust crate tokio to 1.32 (#890) Remove single-item Vecs (#898) Move "extent under repair" into a helper function (#907) offset_mod shouldn't be randomized (#905) Only rehash if a write may have failed (#899) Make negotiation state an enum (#901) Test update for fast write ack and gather errors on test failure (#897) Propolis: Update cpuid-gen util for better coverage Make storage backend config more flexible and consistent Use correct register sizes for PIIX3 PM device Update bitflags dependency fix softnpu port order (#517) Use hex formatting for unhandled MMIO/PIO/MSRs Update deps for new crucible and oximeter Update standalone-with-crucible docs (#514) Co-authored-by: Alan Hanson <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Related to oxidecomputer/console#307
When submitting a form from the console we need a mechanism to be able to link server errors back to the inline form. E.g. if the server finds that
size
is invalid because it's not divisible byblock_size
then we want to mark thesize
field as an error. The current mechanism we have to do that is theInvalidValue
error. We both need to use it more often and ensure that when we use it thatlabel
is actually a field from the request body. I'm uncertain if there's something we can/should do from a types perspective to ensure the latter part.Here's an example we'd want to fix such that
label
was only one field (likely size).omicron/nexus/src/nexus.rs
Line 972 in c2cabd3
I suspect given that errors can be deep in the execution path there's going to be a lot of situations where we really aren't able to provide this. That said, in cases where it's doable we should definitely strive for it.
The text was updated successfully, but these errors were encountered: