Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Handle unrepresentable Scheduling booking horizons safely

Closed
#1,193 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
api, backend

Research direction

Trace Scheduling availability handling for exact-time and arrival-window offerings, focusing on the Chrono date-addition path described in the reproduction. Add focused regression tests for the accepted upper boundary in both modes, then verify that an accepted horizon produces no panic and follows the chosen refusal or saturation behavior.

Written by the indexing model from the issue text.

Description

bug

What Happened

Scheduling policy validation accepts any nonzero u32 horizonDays. Availability later uses infallible Chrono addition for both exact-time and arrival-window offerings. An operator-authored value such as 4294967295 can therefore panic the availability request task when the computed date is outside Chrono's representable range.

The public availability query span is separately bounded, and callers cannot set the policy horizon. This requires malformed trusted configuration and does not bypass authorization or capacity checks.

Expected Behavior

Availability should never panic for a policy accepted by authoring validation. Use checked date arithmetic with a defined saturation/refusal behavior, or establish and validate a product-level maximum horizon for both scheduling modes.

Reproduction

  1. Author an otherwise valid exact-time or arrival-window offering with horizonDays: 4294967295.
  2. Start Scheduling and request availability for that offering.
  3. Observe Chrono's DateTime + TimeDelta overflowed panic path.

Add focused exact-time and arrival-window regression tests at the accepted upper boundary.

Environment

Found while reviewing PR #1092 at commit 68e3060fb. This is beta hardening for invalid operator configuration rather than a remote-input or ledger-integrity issue.

Dominant language
Rust
Stars
2
Forks
0
Avg merge
9h 14m
Merged PRs (30d)
241

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from registrystack/registry-stack

All issues in registrystack/registry-stack

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.