Skip to content

Add cooldown support for Hex#70

Merged
andrew merged 1 commit intomainfrom
add-hex-cooldown
Apr 6, 2026
Merged

Add cooldown support for Hex#70
andrew merged 1 commit intomainfrom
add-hex-cooldown

Conversation

@andrew
Copy link
Copy Markdown
Contributor

@andrew andrew commented Apr 6, 2026

Decode the Hex registry protobuf format (/packages/{name}), filter releases by fetching timestamps from the Hex HTTP API (hex.pm/api/packages/{name}), and re-encode without the original signature.

Uses protowire for low-level encoding/decoding of the Signed wrapper, Package, and Release protobuf messages. Timestamps come from the inserted_at field in the JSON API response. Both fetches run concurrently. If the API is unavailable, the protobuf is proxied unfiltered.

Since the proxy re-encodes the payload without the original signature, users need to disable registry signature verification with HEX_NO_VERIFY_REPO_ORIGIN=1 or configure the repo with no_verify: true.

Decode the Hex registry protobuf format, filter releases by fetching
timestamps from the Hex HTTP API (hex.pm/api/packages/{name}), and
re-encode without the original signature.

The protobuf handling uses protowire for low-level encoding/decoding
of the Signed wrapper, Package, and Release messages. Timestamps come
from the inserted_at field in the JSON API response.

Since the proxy re-encodes the payload without the original signature,
users need to disable registry signature verification.
@andrew andrew force-pushed the add-hex-cooldown branch from 72338d3 to 43a164e Compare April 6, 2026 12:19
@andrew andrew merged commit 3bccc01 into main Apr 6, 2026
5 checks passed
@andrew andrew deleted the add-hex-cooldown branch April 6, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant