It looks like mkdocstrings will fail out if it can't download the inv files.
Unless there's a setting where you can tell it "try, but if you can't grab
them just don't try and create links" the approach here seems reasonable and
has the same effect.
https://github.com/Textualize/textual/issues/2629#issuecomment-1566672594
for reference.
Yes, this does pretty much undo the "offline" part, but without this the
docs can't build if the builder doesn't have access to the insiders' edition
of mkdocs. Doing this as a first step to investigating if there's any
possible way to achieve what we want here:
- Anyone can build
- They can build offline
- They can build for maximum privacy
If not, this step at least hits the first requirement.
See #2629.
The test if a node was loaded wasn't being performed when loading the root.
This ensures that will happen. I suspect this is (no pun...) at the root of
the issue with https://github.com/Textualize/frogmouth/issues/50 even though
I can't see the route into how this happens, and can't recreate this at
will.
This feels like a worthwhile change to make anyway as it's a safer approach.
I'm struggling to recreate https://github.com/Textualize/frogmouth/issues/50
in a controlled way, but reviewing the code here makes me think that this is
a good idea anyway. While DirectoryTree should not end up in _populate_node
if a node has already been populated, it's also the case that it's an
all-or-nothing thing; it makes sense to clear out the children of the node
before populating it; at least in a belt-and-braces way.
* refactor(message): make control a property
* refactor(_tree): remove tree parameter on messages
* refactor(_directory_tree): remove tree parameter on message
* fix: tree message calls
* fix(_select): make Changed.control a property
* refactor(_on): control check
* refactor(_select): rename Changed.widget to select
* docs: changelog entry
* A few different types of validation
* Rename
* Fix test
* Updating validation framework
* Update lockfile
* Ensure validators can be None
* Reworking the API a little
* Convert Input.Changed to dataclass
* Add utility for getting failures as strings
* Update an example in Validator docstring
* Remove some redundant `pass`es
* Renaming variables
* Validating Input on submit, attaching result to Submitted event
* Testing various validation features
* Update snapshots and deps
* Styling unfocused -invalid Input differently
* Add snapshot test around input validation and associated styles
* Validation docs
* Tidying validation docs in Input widget reference
* Fix mypy issues
* Remove __bool__ from Failure, make validator field required
* Code review changes
* Improving error messages in Validators