Skip to content

introduce global anomalies, build queue length, + manual via CLI#3274

Merged
syphar merged 11 commits into
rust-lang:mainfrom
syphar:custom-warning
May 22, 2026
Merged

introduce global anomalies, build queue length, + manual via CLI#3274
syphar merged 11 commits into
rust-lang:mainfrom
syphar:custom-warning

Conversation

@syphar
Copy link
Copy Markdown
Member

@syphar syphar commented Apr 2, 2026

( updated description).

introduce "abnormality" to warn users about currently active issues.

Sources are (first version):

  1. automatic for a too long queue
  2. manual abnormaly in the database for the rest.

This is not for notifications, but only this kind of system status information. The topbar icon is a partial that is cached in the CDN. Notifications / alerts will be cached in the same way (partial + cdn) but shown via popup & discardable.

We cache the value for 10 minutes, so we won't have too many added database queries.

Topbar partial:
image

We also have the added detail status page with more explanation.

image

the queue warning is additionally shown on the queue page
image

The audit error is fixed in #3295

@syphar syphar self-assigned this Apr 2, 2026
@syphar syphar requested a review from a team as a code owner April 2, 2026 19:40
@github-actions github-actions Bot added the S-waiting-on-review Status: This pull request has been implemented and needs to be reviewed label Apr 2, 2026
@GuillaumeGomez
Copy link
Copy Markdown
Member

I think you're trying to fix two different problems here:

  1. docs.rs issues
  2. docs.rs changes

The first one needs to be there as long as the issue(s) are there. The second one being a notice, it should be discard-able by the user and attract attention a lot more. So your PR fits well for 1., but doesn't for 2. imo. 2. should most likely be a static element floating over the content.

What do you think?

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 4, 2026

I admit I didn't think much further than just making the old feature not hardcoded, so we can start showing something somewhere.

I don't think I can build either of the other approaches in the next week, but hopefully some time after that, depending on many other factors.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 4, 2026

I think you're trying to fix two different problems here:

1. docs.rs issues

2. docs.rs changes

The first one needs to be there as long as the issue(s) are there. The second one being a notice, it should be discard-able by the user and attract attention a lot more. So your PR fits well for 1., but doesn't for 2. imo. 2. should most likely be a static element floating over the content.

What do you think?

Right now I don't have an opinion on that (too tired / sick), how does crates.io do it?

Generally what you propose feels like it makes sense.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 4, 2026

general thought:

with my dayjob problems right now, I don't think I can spend time on any of the proposed other things in the next week or two (except when I'm lucky, not sure).

so I'm asking myself if we should use this first to make people aware of the new default-target change first?

@GuillaumeGomez
Copy link
Copy Markdown
Member

I can take over this PR and implement the missing parts if you want?

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 7, 2026

I can take over this PR and implement the missing parts if you want?

thanks for the offer!

My hunch is that you're right generally, but I want to think it through first when I'm a little better.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 7, 2026

( will set the compiled-in warning in a separate PR for the current change only)

@GuillaumeGomez
Copy link
Copy Markdown
Member

Sounds good to me. :)

@rustbot

This comment has been minimized.

@syphar syphar force-pushed the custom-warning branch 2 times, most recently from e2b4f07 to 0bc9736 Compare April 7, 2026 21:51
@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 7, 2026

@GuillaumeGomez I had another idea about multiple alerts, the separate page looked so empty with the information that was there..

what do you think?
image

It would collapse (so no dropdown) when there is only one alert.

Also now there is an example how the webserver now collects metrics from the builder-lib.

( not sure if I was too much into it and overengineered 😅 )

@GuillaumeGomez
Copy link
Copy Markdown
Member

GuillaumeGomez commented Apr 7, 2026

Well, I was kinda hoping to provide more information for each anomaly on the page. 😆

Like since how long it's happening, what's the impact to users, etc.

@rustbot

This comment has been minimized.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 8, 2026

Well, I was kinda hoping to provide more information for each anomaly on the page. 😆

Like since how long it's happening, what's the impact to users, etc.

Want to add a commit how you would imagine it?

@GuillaumeGomez
Copy link
Copy Markdown
Member

I can try. :)

@rustbot

This comment has been minimized.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 8, 2026

I just rebased to fix the conflicts, will leave it alone now @GuillaumeGomez

@GuillaumeGomez
Copy link
Copy Markdown
Member

I added the draft for the status page of docs.rs. It looks like this:

image

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 15, 2026

valid points, good idea, we can do that.

I assume that we merge the Abnormality and GlobalAlert things?

the abnormality only has the explanation & start-time on top?

@GuillaumeGomez
Copy link
Copy Markdown
Member

GlobalAlert is different: it's like the one you can see on crates.io currently. It's supposed to have a start and an end date so we know when to render it to users.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented Apr 15, 2026

will finish up this PR and ping you for the final review.

@syphar syphar marked this pull request as draft April 15, 2026 21:36
@rustbot

This comment has been minimized.

@syphar
Copy link
Copy Markdown
Member Author

syphar commented May 12, 2026

Not sure to agree with your approach. Why do you want them to be available in the topbar directly? It's one click in any case, whether we list abnormalities in the topbar or if we have a link to the docs.rs status page. I can add a JS part to add a ⚠️ symbol if there is a current abnormality but I don't think it's a good idea to list them directly in the topbar.

I just realized this is waiting for my answer 😅

I think I want something in the topbar that shows that something is wrong.

This is still the html partial, just returning the icon I presume.

@syphar syphar force-pushed the custom-warning branch 3 times, most recently from bcee266 to 13611a9 Compare May 12, 2026 21:48
@GuillaumeGomez
Copy link
Copy Markdown
Member

Also: no more global alert/message?

@syphar syphar requested a review from GuillaumeGomez May 12, 2026 21:57
@syphar
Copy link
Copy Markdown
Member Author

syphar commented May 12, 2026

@GuillaumeGomez
I

  • simplified the topbar partial
  • dropped the WarningsCache. The CDN can cache the partial, that's enough.
  • dropped the alert-severity for simplification

What do you think?

@syphar syphar marked this pull request as ready for review May 12, 2026 21:59
@rustbot

This comment has been minimized.

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 22, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@syphar syphar merged commit dfb3f9f into rust-lang:main May 22, 2026
9 of 11 checks passed
@syphar syphar deleted the custom-warning branch May 22, 2026 15:33
@github-actions github-actions Bot added S-waiting-on-deploy This PR is ready to be merged, but is waiting for an admin to have time to deploy it and removed S-waiting-on-review Status: This pull request has been implemented and needs to be reviewed labels May 22, 2026
@syphar syphar removed the S-waiting-on-deploy This PR is ready to be merged, but is waiting for an admin to have time to deploy it label May 23, 2026
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.

3 participants