Skip to content

chore: update nodriver to 0.50.6 and drop the obsolete encoding patch - #1344

Merged
1cu merged 1 commit into
mainfrom
chore/nodriver-0.50.6
Oct 15, 2026
Merged

1cu merged 1 commit into
mainfrom
chore/nodriver-0.50.6

Conversation

@1cu

@1cu 1cu commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Description

  • Update nodriver from 0.50.3 to 0.50.6.
  • 0.50.6 ships cdp/network.py as valid UTF-8, so our post-install encoding patch is obsolete and removed.
  • core/connection.py (incl. Connection.send) is unchanged between 0.50.3 and 0.50.6, so the flat-mode session retry patch for Chromium 148+ is still needed and still applied.

📋 Changes Summary

  • pyproject.toml / pdm.lock: nodriver==0.50.6 (lock updated with --update-reuse, only nodriver changes).
  • scripts/fix_nodriver.py: drop the cdp/network.py encoding fix; the Connection.send retry patch stays. On install the hook now reports connection.py -> fixed.
  • Other changes in 0.50.6 are regenerated CDP protocol modules (e.g. new ads.py, find_in_page.py) and __init__.py.

Tested locally with a fresh venv: format, lint and the full test suite (incl. browser integration tests) pass; a live read-only list run with Chromium 154 logged in and listed all ads, no -32601/retry in the log.

⚙️ Type of Change

  • 🐞 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (adds new functionality without breaking existing usage)
  • 💥 Breaking change (changes that might break existing user setups, scripts, or configurations)

✅ Checklist

  • I have reviewed my changes to ensure they meet the project's standards.
  • I have tested my changes and ensured that all tests pass (pdm run test).
  • I have formatted the code (pdm run format).
  • I have verified that linting passes (pdm run lint).
  • I have updated documentation where necessary. (Not needed.)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Summary by CodeRabbit

  • Chores
    • Updated the browser automation runtime to a newer version.
    • Removed an obsolete network encoding workaround; the runtime now handles this without the workaround.

@coderabbitai

coderabbitai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: Second-Hand-Friends/kleinanzeigen-bot/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 278af8a3-9730-409a-8b25-c632bf9570b7
📥 Commits

Reviewing files that changed from the base of the PR and between 8614eee and 6c3ddae.

⛔ Files ignored due to path filters: 1
  • pdm.lock is excluded by !**/*.lock, !pdm.lock and included by none
📒 Files selected for processing: 2
  • pyproject.toml
  • scripts/fix_nodriver.py

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.

📝 Walkthrough

The required nodriver version changes from 0.50.3 to 0.50.6. The patch script removes its network encoding fix and continues to patch nodriver/core/connection.py.

Changes: nodriver Update

Layer / File(s) Summary
Update nodriver dependency and patch script
pyproject.toml, scripts/fix_nodriver.py
The required nodriver version changes to 0.50.6. The script documentation describes the flat-mode session retry. The script removes the network encoding patch and its invocation, while retaining the connection patch.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 6c3dd

This change bumps nodriver to 0.50.6 and drops a workaround that the new release makes unnecessary. The connection retry patch is still in place, and no merge-blocking issue was found.

### Architecture Summary

Architecture risk: 🔵 Low · up to 6c3dd

The change affects 2 systems.

Changed systems: pyproject.toml, scripts

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — pyproject.toml (service) was modified; 1 changed file maps to changed impact.
  • observed — scripts (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in pyproject.toml: The required nodriver version changes from 0.50.3 to 0.50.6.
  • observed — Modified behavior in scripts/fix_nodriver.py: The module documentation removes the cdp/network.py encoding-fix description and replaces it with details of the flat-mode session retry, including the -32601 retry behavior and idempotency.
  • observed — Modified behavior in scripts/fix_nodriver.py: The _fix_network_encoding helper was removed. It previously read cdp/network.py, corrected the ± byte and encoding header when needed, and exited with an error on read or decoding failures.
  • observed — Modified behavior in scripts/fix_nodriver.py: main no longer includes nodriver/cdp/network.py and _fix_network_encoding in its patch list; it continues to process nodriver/core/connection.py.
Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (1 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the dependency update and removal of the obsolete encoding patch.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.10%. Comparing base (8614eee) to head (6c3ddae).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1344      +/-   ##
==========================================
- Coverage   92.11%   92.10%   -0.02%     
==========================================
  Files          50       50              
  Lines        7728     7728              
  Branches     1341     1341              
==========================================
- Hits         7119     7118       -1     
  Misses        400      400              
- Partials      209      210       +1     
Flag Coverage Δ
integration-tests 24.62% <ø> (-0.17%) ⬇️
smoke-tests 27.52% <ø> (ø)
unit-tests 91.60% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8614eee...6c3ddae. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@1cu
1cu merged commit c22087b into main Oct 15, 2026
28 checks passed
@1cu
1cu deleted the chore/nodriver-0.50.6 branch October 15, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant