readthedocs / sphinx_rtd_theme

Sphinx theme from Read the Docs
https://sphinx-rtd-theme.readthedocs.io/
MIT License
4.78k stars 1.73k forks source link

Version switch appears even though I only have one version #1613

Closed dracos closed 9 hours ago

dracos commented 3 weeks ago

An empty switcher (I don't know if language or version) is now appearing on https://ukcovid19inquiry.dracos.co.uk/ even though I only have one version and one language:

image

The docs at https://sphinx-rtd-theme.readthedocs.io/en/stable/configuring.html#confval-version_selector say "It only appears when there are more than 1 active version." and "It only appears when there is more than 1 active language."

I presumably can set version_selector and language_selector to False in the config, but the documentation made me think I did not have to do this. (I have already removed display_version as my builds started failing.)

humitos commented 3 weeks ago

IIRC, we decided to always show the version selector, even if there was only one version to keep consistency when there were more than one and also to show the name of the current version, but I'm not 100% sure. If that's the case, we should update the documentation. @agjohnson what should be the correct behavior here?

So, it should be showing the current active version in your project, but I saw there may be an error in the API response because .versions.active == [], but .versions.current.active == true. Your project should have at least one active version, otherwise it shouldn't serve that version 🤔

$ curl -s 'https://ukcovid19inquiry.dracos.co.uk/_/addons/?client-version=0.18.0&api-version=1&project-slug=uk-covid19-inquiry-hearings&version-slug=latest' | jq '.versions'
{
  "active": [],
  "current": {
    "active": true,
    "aliases": [],
    "built": true,
    "downloads": {},
    "hidden": false,
    "id": 16390072,
    "identifier": "main",
    "privacy_level": "public",
    "ref": null,
    "slug": "latest",
    "type": "branch",
    "urls": {
      "dashboard": {
        "edit": "https://readthedocs.org/projects/uk-covid19-inquiry-hearings/version/latest/edit/"
      },
      "documentation": "https://ukcovid19inquiry.dracos.co.uk/",
      "vcs": "https://github.com/dracos/uk-covid19-inquiry/tree/main/"
    },
    "verbose_name": "latest"
  }
}
agjohnson commented 3 weeks ago

Yeah, I feel we'd always want the version there for consistency. If we do away with anything, it could just be a string without the dropdown icon, but I feel this text should always be there if the feature is enabled on the theme.

We should make sure the documentation communicates how to disable these dropdowns if the project doesn't want them.

humitos commented 1 day ago

I took a deeper look at this and I was able to find the bug in the API response. I opened a PR to fix this issue at https://github.com/readthedocs/readthedocs.org/pull/11727 and it will be deployed next week.

With that change, your project should look like our own documentation:

Peek 2024-10-30 12-49

humitos commented 1 day ago

From this issue there are other extra tasks we can work on:

humitos commented 9 hours ago

This is already fixed and it will be deployed in the next week.