fix: improve reliability and room disambiguation#13
Conversation
- Fix hardcoded version path in work-update.md command template; use glob-based dynamic resolution instead of pinned version - Improve room disambiguation: when an exact name match has no alias but other rooms also contain the search term, return all candidates for user disambiguation instead of silently picking the wrong room - Add IPv4 preference fallback for WSL2 environments where IPv6 routes are unreachable (errno 101/113); stdlib http.py retries with IPv4-preferred DNS, E2EE scripts reorder getaddrinfo results - Suppress noisy matrix-nio megolm/crypto warnings unless --debug; set nio/peewee loggers to ERROR level by default - Add source repository info to SKILL.md so agents and users know where to find and contribute to the skill source code
Summary of ChangesHello, 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 enhances the robustness and user experience of the Matrix communication skill by addressing several critical issues. It introduces dynamic skill path resolution, refines room disambiguation logic, and implements an IPv4 preference for improved network reliability in WSL2 environments. Additionally, it reduces log verbosity for a cleaner user experience and clarifies source repository information for contributors. Highlights
Changelog
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 several fixes to improve reliability, including dynamic skill path resolution, better room disambiguation, and an IPv4 fallback for networking. My review focuses on improving the implementation of these fixes. I've pointed out an issue with error handling in the IPv4 fallback logic that could mask debug information. I've also suggested refactoring duplicated code for setting up networking and logging across multiple scripts into a shared library to improve maintainability. Finally, I noted that one script unconditionally suppresses logs, which should be made conditional for easier debugging, consistent with other scripts.
Fix 28 pre-existing ruff check violations: - Remove unused imports (json, struct, F401 suppressions) - Remove unused variables (target_device, decrypted) - Replace bare except with except Exception - Auto-fix import sorting and other lint rules Apply ruff format to all 21 Python scripts for consistent style.
- Fix retry error reporting in http.py: capture OSError as e2 instead of returning original error e (review comment on misleading errors) - Add --debug flag to matrix-e2ee-setup.py so logging suppression is conditional, consistent with all other E2EE scripts - Extract prefer_ipv4() and suppress_nio_logging() into _lib/utils.py to eliminate duplication across 5 E2EE scripts
Summary
Fixes 5 issues discovered during a real usage session in WSL2:
1.11.0version inwork-update.mdcommand template with glob-based resolution that finds the latest installed versionENETUNREACH(errno 101/113). Stdlibhttp.pyretries with IPv4-preferred DNS resolution; all E2EE scripts reordergetaddrinforesults to prefer IPv4--debugTest plan
work-update.mdglob resolves to correct skill directory on a fresh install--debugstill shows full nio crypto output