iOS live-lane retry policy (from #3336 review): scope re-issue to declared reads, count absorbed misses, build wire-shape fixtures
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- ios, typescript
Hướng nghiên cứu
Start with test/integration/ios-simulator-e2e/live-harness.ts and trace how runStep sets the re-issue predicate; read resolveCommandRecordingEffect to identify the declared read effect. Then inspect runtime.ts and test/integration/ios-simulator-e2e-step-retry-policy.test.ts, including waitFailure(), for the miss-counting and fixture work. Done when retries are limited to observing steps, absorbed misses are countable, and fixtures reflect the wire response.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Why
Three follow-up notes from the human review of #3336 (reviewer comment 2026-10-08T22:38:43Z; the lane-policy layer shipped there is row 8's subject matter in #2491). None blocks the PR; all three outlive it, so they live here instead of a comment thread.
Scope
- Scope the re-issue predicate to declared reads.
runStepintest/integration/ios-simulator-e2e/live-harness.tsattachesisObservationPreventedStepMissto EVERY iOS step. Areplaystep's failure response is the failed step's OWN wire response passed through verbatim (readLastResponse()inpackages/replay-port/src/daemon-port/native-command.ts), so a nested wait'sretriable: true+details.reasonhoists to the top level and could re-run a whole script after earlier mutating steps. Today that is benign (every lane replay starts withopen --relaunchor launchApp clearState), and it cannot stack with thetestsuite's--retries: a scheduler-level suite failure is built aserrorResponse(code, message)withoutdetails/retriable(packages/replay-port/src/daemon-port/test-command.ts), and a completed-with-failures suite returns ok:true counts the harness asserts itself. The scoping rule the reviewer proposed: re-issue only steps whose command declares the read effect (resolveCommandRecordingEffect(step) === 'observes-app'), so hoisting can never reach a mutating step even after fixture changes. - Make absorbed misses countable. A re-issue that turns a step green records the first failure only inside
step-history.json(runtime.tsrunStep, issue > 1). One stderr line or JUnit annotation keyed on the typed reason (error.details.reason+retriable) would let #2491 count absorbed misses per class instead of grepping step histories. - Build the retry-policy fixtures from the wire, not by hand.
waitFailure()intest/integration/ios-simulator-e2e-step-retry-policy.test.tshand-writes the response shape. It currently matches the recorded payload (run 37356199982: top-levelretriable: true,details.reason: wait_runner_restart_exhausted), but building fixtures vianormalizeErroror a recorded CLI payload keeps them honest if the envelope moves.
Related: #2491, #3336.
- Ngôn ngữ chính
- TypeScript
- Star
- 4.9k
- Fork
- 328
- Merge trung bình
- 12 giờ 13 phút
- Pull request đã merge (30 ngày)
- 541
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/agent-device
-
settings clear-app-state fails with ENOENT … scandir '(null)' for iOS system apps such as SettingsCó thể đã có người làm @thymikee đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
callstack/agent-device#3305 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/agent-device#1869 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
install and reinstall from another session in the same daemon replace the app on a claimed deviceĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
callstack/agent-device#3345 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
callstack/agent-device#3342 · 7 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
macOS: decide the public surface for "do not activate this app" (the --foreground axis collision)Đang mởneeds-triage
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
callstack/agent-device#3338 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của callstack/agent-device
Issue tương tự
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
vectorize-io/hindsight#5457 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
beginner friendly community contributions-welcome good first issue hacktoberfest help wanted testing up-for-grabs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
lukilabs/beautiful-mermaid#160 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
rescript-lang/rescript-lang.org#1420 ·
Maintainer thường phản hồi trong vòng 2 ngày