docs.rs icon indicating copy to clipboard operation
docs.rs copied to clipboard

Surface warnings to users

Open Nemo157 opened this issue 2 years ago • 3 comments

Currently when there is an issue like a build failure crate authors need to wait till the build has been run then visit the docs page to see whether it was successful or not. Commonly instead they first discover the issue when one of their users tries to visit the docs and sees the failure and notifies them (or us directly). It would be nice if we could more proactively surface these build failures (and potentially other warnings) to the authors.

One constraint I want to keep the design under is that we do not store any server-side data to try and do something like a push notification to the users; potentially in the future there could be some opt-in integration with crates.io if they get some kind of push notification system.

Proposed design:

  • Add a new endpoint like /crate/:crate/warnings.json that provides warnings for the crate (e.g. latest version failed to build, latest version built but some targets failed, anything else we might want to add in the future)
  • Add a small drop-down widget to the top-bar for showing these warnings
    • in the widget have a button to add the current crate to the list of crates to check, this simply stores the crate name into local storage
    • on page load (maybe with a delay between re-requests stored in local storage) grab the list of subscribed crates and poll their warnings endpoints, showing some kind of notification bubble in the widget if any have a warning
  • Potentially: have some integration with crate owners, so you can subscribe to see all warnings for crates you own (or maintain through a proxy owner like rust-lang-owner) without having to manually go subscribe when you publish a new crate (this might have issues around cacheability, while the /crate/:crate/warnings.json can be heavily cached in the CDN).

Nemo157 avatar Feb 29 '24 15:02 Nemo157

I like the idea, though the impl probably depends on #1011 too, right?

syphar avatar Feb 29 '24 18:02 syphar

For adding more warnings like some targets failed, yes, for the UI part and just an initial "the last build failed" warning no, that should be possible now.

Nemo157 avatar Feb 29 '24 18:02 Nemo157

coming from a discussion on IRLO:

Owners might want to have email notifications for build failures, perhaps implemented via crates.io?

syphar avatar Mar 06 '24 12:03 syphar