Skip to content

fix(proto): accept numeric epoch timestamps on Event and Breadcrumb - #344

Merged
ajianaz merged 4 commits into
developfrom
fix/309-numeric-timestamps
Oct 7, 2026
Merged

ajianaz merged 4 commits into
developfrom
fix/309-numeric-timestamps

Conversation

@ajianaz

@ajianaz ajianaz commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

What

New deserialize_timestamp in trapfall-proto used for Event.timestamp and Breadcrumb.timestamp. Accepts RFC3339 string, i64 or f64 epoch seconds; numbers are normalized to an RFC3339 UTC string, so storage is unchanged.

Why

Real Sentry JS/Python SDKs send numeric epoch timestamps. The Option<String> fields failed to deserialize, so the envelope parser dropped the event while the SDK still got HTTP 200. Refs #309 (the transaction parser still rejects RFC3339 string timestamps; that half remains open).

Testing

Unit tests for float, int, string, null/missing, breadcrumb, and a full envelope with numeric event and breadcrumb timestamps. cargo test -p trapfall_proto -p trapfall_ingest pass. Not yet validated against payloads captured from real SDKs (#299). Cargo/npm Audit failures are pre-existing on develop.

🤖 Generated with Claude Code

ajianaz and others added 4 commits October 7, 2026 14:57
Real Sentry JS/Python SDKs send epoch int/float timestamps; the
Option<String> field made envelope parsing fail and drop the event.
Add tolerant deserialize_timestamp (string, i64, f64) normalizing to
RFC3339 so storage is unchanged.

Fixes #309

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Resolves RUSTSEC-2026-0285 (rustls TLS 1.3 handshake) and the devalue,
source-map-js and undici advisories that fail the Security workflow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@ajianaz
ajianaz merged commit 2c6c7c0 into develop Oct 7, 2026
16 checks passed
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