Service status indicators
describe the feature you'd like to see
Especially given YouTube's more recent attempts to restrict access to posted content, I think it would be useful for users to have an accessible way to see which services are operational.
I believe the "supported services" dropdown currently hides unavailable services, but I don't think this is very user-friendly as it's hard to notice what's missing. I do think the temporary modal for YouTube is informative, but suffers from waiting on Cloudflare turnstile (#1360) and needing a YouTube input first.
I think some way of including statuses in the "supported services" dropdown could easily make it more understandable which services are available.
additional context
I've made a Figma prototype of one way this could be done. It's just to pitch the idea, but I'm sure it could be made to match cobalt's design language better. The animations are only partly working for some reason.
https://github.com/user-attachments/assets/f47a047d-6370-4d10-8bea-d399299a6758
Images of prototype
This is a very interesting suggestion, and the Figma prototype illustrates it well. I'd be happy to work on this. Have you thought about how to check the status of supported services?
Since Cobalt is a monorepo, I think the cleanest way would be to add a dedicated /status endpoint to the backend. It could run lightweight test requests for each service using a known test URL, just to check if extraction is still working — without actually downloading anything.
These checks could be cached and refreshed every X minutes to avoid putting too much pressure on the services. That said, I'm a bit concerned about triggering rate limits or anti-bot mechanisms (especially from YouTube) if we ping them too often, even without downloads.
Still figuring out the best balance between freshness and safety, but this would allow the frontend to fetch live statuses and display them directly in the supported services dropdown, like your prototype suggests.
WDYT ?
I hadn't thought that deeply about implementation. status.cobalt.tools seems to periodically check the health of different functions on official backends. I had thought that could be utilised in some way, but it's not my area of expertise.
Could it make sense to have a separate, centralised API so that every user is not querying/putting unnecessary load on the backends just for the status? Or it only gets queried when the dropdown is opened?
Also, I think before putting effort into a PR, it would make sense to check if this is something that would get accepted first. Not saying it wouldn't, just that it would be good to check first.
Yes, having a separate centralized service that handles the status checks and exposes a public API sounds like a good idea, that way each user only queries that service, and we avoid hitting external platforms from every backend instance.
Totally agree, no point investing time into a PR before knowing if the idea aligns with the project's direction. It’s definitely worth confirming first.
Bump on this. Tried a bunch of links none of them are supported, so it's not obvious what IS supported.