René's URL Explorer Experiment


Title: Fix timeout resets to use the call-time clock by Kayvan-Zahiri · Pull Request #756 · linode/linode_api4-python · GitHub

Open Graph Title: Fix timeout resets to use the call-time clock by Kayvan-Zahiri · Pull Request #756 · linode/linode_api4-python

X Title: Fix timeout resets to use the call-time clock by Kayvan-Zahiri · Pull Request #756 · linode/linode_api4-python

Description: 📝 Description TimeoutContext.start() currently captures datetime.now() in its default argument when polling.py is imported. Calling start() later reuses that old timestamp and can leave an expired context expired, contrary to the documented reset behavior. Use None as the default and evaluate the current time inside start(). Preserve caller-supplied timestamps. Clarify when the default timestamp is evaluated. This is an external community contribution without an internal TPT ticket. Please apply the documented community-contribution label for the CI title exemption; no ticket identifier has been invented. Target: dev. ✔️ How to Test The regression uses a controlled clock to expire a context, restart it, and repeat the restart at a later time. An explicit-start-time control preserves backdated behavior. Before: regression fails, control passes. After: make test-unit passes all 519 mocked tests. make lint completes successfully, including wheel/sdist builds, full Black/isort/autoflake checks, pylint and Twine metadata validation. Pylint reports existing deprecated/unrecognized configuration-option warnings while returning success and rating source 10/10. Generated version.py is restored after the build. git diff --check passes. Python3.12/macOS with declared extras in an isolated environment. No live integration/smoke tests, credentials, cloud resource creation or full Python/OS matrix.

Open Graph Description: 📝 Description TimeoutContext.start() currently captures datetime.now() in its default argument when polling.py is imported. Calling start() later reuses that old timestamp and can leave an expired ...

X Description: 📝 Description TimeoutContext.start() currently captures datetime.now() in its default argument when polling.py is imported. Calling start() later reuses that old timestamp and can leave an expired ...

Opengraph URL: https://github.com/linode/linode_api4-python/pull/756

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:6b6ce30a-db0a-3b60-981b-24b58e5c608f
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA7B6:AC868:2B4D283:38D4062:6AF9BB4B
html-safe-nonce1db33789ee8d0b32eee87034505c41ef69ad477e54a0423c82e1b136a9c380b9
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBN0I2OkFDODY4OjJCNEQyODM6MzhENDA2Mjo2QUY5QkI0QiIsInZpc2l0b3JfaWQiOiI0OTkxMjY3NDM4NzcxOTQ0MjY3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac94cdb2cebf884c5b3673815fecf1a4b6e30f544f0be1d5e1f07de524e108c0ef
hovercard-subject-tagpull_request:5043086820
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/linode/linode_api4-python/pull/756/files
twitter:imagehttps://avatars.githubusercontent.com/u/123409429?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/123409429?s=400&v=4
og:image:alt📝 Description TimeoutContext.start() currently captures datetime.now() in its default argument when polling.py is imported. Calling start() later reuses that old timestamp and can leave an expired ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None612d3e6ffd693e7ea8d9fcf452370995872baef31d825b1fedef704cd3d24ac7
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/linode/linode_api4-python git https://github.com/linode/linode_api4-python.git
octolytics-dimension-user_id5184305
octolytics-dimension-user_loginlinode
octolytics-dimension-repository_id55797611
octolytics-dimension-repository_nwolinode/linode_api4-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id55797611
octolytics-dimension-repository_network_root_nwolinode/linode_api4-python
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release072e34035c13c31543fba9f025cbbbda4210dae4
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/linode/linode_api4-python/pull/756/files#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Flinode%2Flinode_api4-python%2Fpull%2F756%2Ffiles
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Flinode%2Flinode_api4-python%2Fpull%2F756%2Ffiles
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=linode%2Flinode_api4-python
Reloadhttps://github.com/linode/linode_api4-python/pull/756/files
Reloadhttps://github.com/linode/linode_api4-python/pull/756/files
Reloadhttps://github.com/linode/linode_api4-python/pull/756/files
linodehttps://github.com/linode
linode_api4-pythonhttps://github.com/linode/linode_api4-python
Codehttps://github.com/linode/linode_api4-python
Issues1 (1)https://github.com/linode/linode_api4-python/issues
Pull requests7 (7)https://github.com/linode/linode_api4-python/pulls
Actionshttps://github.com/linode/linode_api4-python/actions
Projectshttps://github.com/linode/linode_api4-python/projects
Security and qualityhttps://github.com/linode/linode_api4-python/security
Insightshttps://github.com/linode/linode_api4-python/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Flinode%2Flinode_api4-python%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Flinode%2Flinode_api4-python%2Fissues%2Fnew%2Fchoose
Kayvan-Zahirihttps://github.com/Kayvan-Zahiri
linode:devhttps://github.com/linode/linode_api4-python/tree/dev
Kayvan-Zahiri:codex/reset-timeout-start-at-call-timehttps://github.com/Kayvan-Zahiri/linode_api4-python/tree/codex/reset-timeout-start-at-call-time
Conversation 0 https://github.com/linode/linode_api4-python/pull/756
Commits 1 https://github.com/linode/linode_api4-python/pull/756/commits
Checks 0 https://github.com/linode/linode_api4-python/pull/756/checks
Files changed https://github.com/linode/linode_api4-python/pull/756/files
Please reload this pagehttps://github.com/linode/linode_api4-python/pull/756/files
Fix timeout resets to use the call-time clock https://github.com/linode/linode_api4-python/pull/756/files#top
Show all changes 1 commit https://github.com/linode/linode_api4-python/pull/756/files
fd080b3 Fix timeout resets to use the call-time clock Kayvan-Zahiri Oct 28, 2026 https://github.com/linode/linode_api4-python/pull/756/commits/fd080b3fef37dc653194e8ec30779f305b0291c0
Clear filters https://github.com/linode/linode_api4-python/pull/756/files
Please reload this pagehttps://github.com/linode/linode_api4-python/pull/756/files
Please reload this pagehttps://github.com/linode/linode_api4-python/pull/756/files
polling.py https://github.com/linode/linode_api4-python/pull/756/files#diff-80f21cd369a707757c645745172ca6710d23a611249145aa92491a1bb65fb4fa
polling_test.py https://github.com/linode/linode_api4-python/pull/756/files#diff-ccf4fb92a3afcd0a2f3489394f6caa134f98117bdb903729bb26c34dfb4e02d2
https://github.com/linode/linode_api4-python/blob/dev/CODEOWNERS#L1
linode_api4/polling.pyhttps://github.com/linode/linode_api4-python/pull/756/files#diff-80f21cd369a707757c645745172ca6710d23a611249145aa92491a1bb65fb4fa
View file https://github.com/linode/linode_api4-python/blob/fd080b3fef37dc653194e8ec30779f305b0291c0/linode_api4/polling.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/linode/linode_api4-python/pull/756/{{ revealButtonHref }}
https://github.com/linode/linode_api4-python/pull/756/files#diff-80f21cd369a707757c645745172ca6710d23a611249145aa92491a1bb65fb4fa
https://github.com/linode/linode_api4-python/pull/756/files#diff-80f21cd369a707757c645745172ca6710d23a611249145aa92491a1bb65fb4fa
https://github.com/linode/linode_api4-python/blob/dev/CODEOWNERS#L1
test/unit/polling_test.pyhttps://github.com/linode/linode_api4-python/pull/756/files#diff-ccf4fb92a3afcd0a2f3489394f6caa134f98117bdb903729bb26c34dfb4e02d2
View file https://github.com/linode/linode_api4-python/blob/fd080b3fef37dc653194e8ec30779f305b0291c0/test/unit/polling_test.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/linode/linode_api4-python/pull/756/{{ revealButtonHref }}
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.