Skip to content

Normalize Zip Entry Date#37

Merged
cooper-grc merged 4 commits intomainfrom
cg/ts-fix
Feb 24, 2026
Merged

Normalize Zip Entry Date#37
cooper-grc merged 4 commits intomainfrom
cg/ts-fix

Conversation

@cooper-grc
Copy link
Copy Markdown
Collaborator

@cooper-grc cooper-grc commented Feb 23, 2026

Summary by cubic

Normalized zip entry dates to 1980-01-01 local midnight for deterministic archives and stable hashes. Files now use new Date('1980-01-01T00:00:00'); tests verify DOS timestamp consistency across timezones, confirm UTC-string drift, and were cleaned up.

Written for commit 17ff164. Summary will update on new commits.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="lib/sync.ts">

<violation number="1" location="lib/sync.ts:299">
P2: Using `new Date(0)` sets ZIP entry timestamps to 1970, which is before the ZIP format’s minimum supported date (1980). Some ZIP tools reject or clamp these timestamps, so this can produce archives that aren’t portable. Consider normalizing to a supported deterministic date such as 1980-01-01.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="lib/sync.ts">

<violation number="1" location="lib/sync.ts:299">
P2: Using a timezone-less date string makes the ZIP entry timestamp depend on the local timezone, which breaks deterministic hashing across machines. Use an explicit UTC timestamp instead.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="tests/sync.test.ts">

<violation number="1" location="tests/sync.test.ts:340">
P3: The test depends on a transitive/internal module (`compress-commons/lib/archivers/zip/util`) without declaring `compress-commons` as a dependency. This is brittle and can break when dependency layouts change (e.g., pnpm or archiver updates). Consider adding `compress-commons` as a devDependency or using a supported public API.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@cooper-grc cooper-grc merged commit 63e38a5 into main Feb 24, 2026
2 checks passed
@cooper-grc cooper-grc deleted the cg/ts-fix branch February 24, 2026 01:07
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