Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
callstack
/
agent-device
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
316
Star
4.9k
Code
Issues
90
Pull requests
12
Discussions
Actions
Projects
Security and quality
1
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
fix(remote): renew the lease while an artifact upload runs (#2946)
- #2990
#2990
Merged
thymikee
merged 21 commits into
main
callstack/agent-device:main
from
fix/2946-upload-lease-heartbeat
callstack/agent-device:fix/2946-upload-lease-heartbeat
Copy head branch name to clipboard
Sep 28, 2026
Conversation
Commits
21
(21)
Checks
Files changed
Merged
fix(remote): renew the lease while an artifact upload runs (#2946)
#2990
thymikee
merged 21 commits into
main
callstack/agent-device:main
from
fix/2946-upload-lease-heartbeat
callstack/agent-device:fix/2946-upload-lease-heartbeat
Copy head branch name to clipboard
Commits
Commits on Sep 28, 2026
fix(lease): renew a heartbeat with no ttl for the window the lease already carries
Show description for f1d3c54
thymikee
committed
f1d3c54
View commit details
Copy full SHA for f1d3c54
Browse repository at this point
fix(remote): renew the lease while an artifact upload runs on the caller's side
Show description for d7ba497
thymikee
committed
d7ba497
View commit details
Copy full SHA for d7ba497
Browse repository at this point
fix(lease): renew an admitted request for the window its lease carries
Show description for 3b243c5
thymikee
committed
3b243c5
View commit details
Copy full SHA for 3b243c5
Browse repository at this point
fix(remote): beat to the lease's own window and stop the upload with it
Show description for 284f114
thymikee
committed
284f114
View commit details
Copy full SHA for 284f114
Browse repository at this point
chore(gates): ack the upload wire digests the abort signal moved
Show description for 5ad1893
thymikee
committed
5ad1893
View commit details
Copy full SHA for 5ad1893
Browse repository at this point
fix(remote): treat a beat the daemon rejects on its own terms as terminal
Show description for d248f35
thymikee
committed
d248f35
View commit details
Copy full SHA for d248f35
Browse repository at this point
test(remote): drop the connection-close wait that hung the cancellation test
Show description for 690a9ef
thymikee
committed
690a9ef
View commit details
Copy full SHA for 690a9ef
Browse repository at this point
fix(remote): reject an aborted upload with the reason it was aborted
Show description for 2599af0
thymikee
committed
2599af0
View commit details
Copy full SHA for 2599af0
Browse repository at this point
chore(gates): ack the two upload digests the abort-reason fix moved
Show description for 0ac97d2
thymikee
committed
0ac97d2
View commit details
Copy full SHA for 0ac97d2
Browse repository at this point
fix(remote): give each lease beat a budget and prove the beat on the real route
Show description for 998a894
thymikee
committed
998a894
View commit details
Copy full SHA for 998a894
Browse repository at this point
refactor(remote): move the lease beat to its own module
Show description for 7add99f
thymikee
committed
7add99f
View commit details
Copy full SHA for 7add99f
Browse repository at this point
chore(gates): record the lease-beat module's type-only read of the wire request
Show description for 361f2c5
thymikee
committed
361f2c5
View commit details
Copy full SHA for 361f2c5
Browse repository at this point
docs(leases): state what the first beat actually buys, and what an absent ttlMs keeps
Show description for 3f245ba
thymikee
committed
3f245ba
View commit details
Copy full SHA for 3f245ba
Browse repository at this point
test(remote): let the caller release the stalled upload, so the outcome is causal
Show description for 64c279d
thymikee
committed
64c279d
View commit details
Copy full SHA for 64c279d
Browse repository at this point
refactor(remote): fold the beat's thin wrappers into the one factory that needs them
Show description for f48bd0a
thymikee
committed
f48bd0a
View commit details
Copy full SHA for f48bd0a
Browse repository at this point
fix(remote): budget each beat from the window it protects, not the cadence
Show description for b18ed63
thymikee
committed
b18ed63
View commit details
Copy full SHA for b18ed63
Browse repository at this point
fix(remote): load the lease beat only for the request that can use it
Show description for 4961801
thymikee
committed
4961801
View commit details
Copy full SHA for 4961801
Browse repository at this point
test(remote): give the slow-beat scenario the lane's parallel-scenario timeout
Show description for d626124
thymikee
committed
d626124
View commit details
Copy full SHA for d626124
Browse repository at this point
test(remote): center the slow-beat number and un-detach the window doc
Show description for 0f7293b
thymikee
committed
0f7293b
View commit details
Copy full SHA for 0f7293b
Browse repository at this point
test(remote): state the beat's transport cap, and fail the slow case on its cause
Show description for 4ca3281
thymikee
committed
4ca3281
View commit details
Copy full SHA for 4ca3281
Browse repository at this point
test(remote): settle the slow-beat count on arrivals instead of a wall clock
Show description for ba9dad1
thymikee
committed
ba9dad1
View commit details
Copy full SHA for ba9dad1
Browse repository at this point
You can’t perform that action at this time.