fix: errors and warnings in make livehtml#109
fix: errors and warnings in make livehtml#109pmigueld wants to merge 3 commits intov2-odoo19-doc-refreshfrom
make livehtml#109Conversation
pmigueld
commented
Feb 3, 2026
Summary of ChangesHello @pmigueld, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly improves the stability and consistency of the documentation build process. It tackles several technical warnings and errors encountered during Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a wide range of fixes to address errors and warnings during the documentation build process (make livehtml). The changes include adding compatibility shims for dependencies like werkzeug, making the build more robust against missing tools like graphviz, and fixing numerous broken links and image references across the documentation. Many markdown code block specifiers have been corrected for better syntax highlighting.
My review has identified a couple of areas for improvement. There's an issue with invalid nested HTML comments used to hide missing images in docs/config_guide/drims/alerts.md, which should be corrected for better readability and to avoid potential rendering problems. More importantly, several files in docs/technical_reference/programs/ have been updated to reference a g2p_programs module path, which appears to contradict the V2 migration strategy of standardizing on the spp.* namespace. This inconsistency should be clarified.
Overall, these are valuable changes that significantly improve the documentation's build health. Addressing the identified issues will further enhance the quality and maintainability of the documentation.
| .. currentmodule:: odoo.addons.g2p_programs.models.managers.cycle_manager | ||
|
|
||
| :mod:`odoo.addons.spp_programs.models.managers.cycle_manager` provides the class :class:`BaseCycleManager` define the interface | ||
| :mod:`odoo.addons.g2p_programs.models.managers.cycle_manager` provides the class :class:`BaseCycleManager` define the interface |
| .. currentmodule:: odoo.addons.g2p_programs.models.managers.eligibility_manager | ||
|
|
||
| The eligibility manager verifies if a :term:`beneficiary<beneficiary>` is eligible for a given program. The :term:`eligibility<eligibility>` | ||
| determination can be based on data stored in OpenSPP or on an external system using API calls. | ||
|
|
||
| :mod:`odoo.addons.spp_programs.models.managers.eligibility_manager` provides the class :class:`BaseEligibilityManager` define | ||
| :mod:`odoo.addons.g2p_programs.models.managers.eligibility_manager` provides the class :class:`BaseEligibilityManager` define |
| .. currentmodule:: odoo.addons.g2p_programs.models.managers.entitlement_manager | ||
|
|
||
| The entitlement manager determines what a :term:`beneficiary<beneficiary>` is entitled to for a given cycle. | ||
|
|
||
|
|
||
| :mod:`odoo.addons.spp_programs.models.managers.entitlement_manager` provides the class :class:`BaseEntitlementManager` define | ||
| :mod:`odoo.addons.g2p_programs.models.managers.entitlement_manager` provides the class :class:`BaseEntitlementManager` define |
| .. currentmodule:: odoo.addons.g2p_programs.models.managers.notification_manager | ||
|
|
||
| The notification managers allow notifying :term:`beneficiaries<beneficiaries>` of some events happening in the programs or cycles. | ||
|
|
||
| :mod:`odoo.addons.spp_programs.models.managers.notification_manager` provides the class :class:`BaseNotificationManager` define | ||
| :mod:`odoo.addons.g2p_programs.models.managers.notification_manager` provides the class :class:`BaseNotificationManager` define |
| .. currentmodule:: odoo.addons.g2p_programs.models.managers.program_manager | ||
|
|
||
| The program manager determines which registrants/groups are included in the program. | ||
|
|
||
|
|
||
| :mod:`odoo.addons.spp_programs.models.managers.program_manager` provides the class :class:`BaseProgramManager` define | ||
| :mod:`odoo.addons.g2p_programs.models.managers.program_manager` provides the class :class:`BaseProgramManager` define |
| try: | ||
| from werkzeug.routing import NumberConverter # noqa: F401 | ||
| except (ImportError, AttributeError): | ||
| # Patch werkzeug.routing to add the missing NumberConverter class | ||
| import werkzeug.routing | ||
| class NumberConverter(werkzeug.routing.BaseConverter): | ||
| """Compatibility shim for werkzeug < 2.3""" | ||
| regex = r'\d+' | ||
| num_convert = int | ||
| def __init__(self, map, fixed_digits=0, min=None, max=None, signed=False): | ||
| super().__init__(map) | ||
| self.fixed_digits = fixed_digits | ||
| self.min = min | ||
| self.max = max | ||
| self.signed = signed | ||
| werkzeug.routing.NumberConverter = NumberConverter | ||
| _logger.info("Patched werkzeug.routing.NumberConverter for Odoo compatibility") |
There was a problem hiding this comment.
While this patch for werkzeug.routing.NumberConverter is a clever and necessary workaround for building the documentation with newer dependencies, it's worth noting that monkey-patching a library like this can be fragile. It might be beneficial to add a comment pointing to an upstream issue or discussion in Odoo or Werkzeug if one exists, to track a more permanent solution. This would help future maintainers understand the context and eventually remove the patch when it's no longer needed.
docs/config_guide/drims/alerts.md
Outdated
| <!-- <!-- TODO: Add screenshot: DRIMS settings section --> | ||
| <!--  --> --> |
There was a problem hiding this comment.
The nested HTML comment syntax <!-- <!-- ... --> --> is invalid and can cause rendering issues in some markdown parsers. This pattern appears multiple times in this file. Please use standard, non-nested HTML comments for better readability and compatibility.
| <!-- <!-- TODO: Add screenshot: DRIMS settings section --> | |
| <!--  --> --> | |
| <!-- TODO: Add screenshot: DRIMS settings section --> | |
| <!--  --> |
|
this looks good to me, 14 warnings left as per testing WARNING: the sphinxcontrib.video extension does not declare if it is safe for parallel reading, assuming it isn't - please ask the extension author to check and make it explicit .. graphviz:: /home/markp/openspp-docs-screenshots/documentation/docs/glossary.rst:75: WARNING: duplicate term description of Beneficiary, other instance in reference/glossary/humanitarian |
|


