Skip to content

Update Effect dependencies to 4.0.0-beta.103 and fix SchemaIssue API - #73

Merged
fwal merged 1 commit into
mainfrom
claude/latest-effect-beta-update-9miwcy
Aug 5, 2026
Merged

Update Effect dependencies to 4.0.0-beta.103 and fix SchemaIssue API#73
fwal merged 1 commit into
mainfrom
claude/latest-effect-beta-update-9miwcy

Conversation

@fwal

@fwal fwal commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

This PR updates the Effect library dependencies to version 4.0.0-beta.103 and adapts the codebase to breaking changes in the SchemaIssue.Forbidden API.

Key Changes

  • Updated Effect library dependencies (effect, @effect/atom-react, @effect/platform-browser, @effect/vitest) from 4.0.0-beta.99 to 4.0.0-beta.103
  • Removed unused Option import from packages/effect-firebase/src/lib/firestore/schema/timestamp.ts
  • Removed unused Option import from packages/effect-firebase/src/lib/firestore/model/datetime.ts
  • Updated SchemaIssue.Forbidden constructor calls to match new API:
    • Changed from new SchemaIssue.Forbidden(Option.some(input), { message: '...' })
    • To new SchemaIssue.Forbidden({ message: '...' })
    • Applied in both timestamp.ts and datetime.ts files

Implementation Details

The SchemaIssue.Forbidden constructor signature changed in the new Effect version, no longer requiring the first parameter (previously an Option of the input value). This simplifies error construction while maintaining the error message context.

https://claude.ai/code/session_01XbBpyYCQ1uyHAkiwdApVkZ

Summary by CodeRabbit

  • Bug Fixes

    • Improved consistency when reporting invalid Firestore date and server-timestamp values.
    • Preserved existing validation error messages and failure behavior.
  • Chores

    • Updated Effect libraries and related tooling to newer beta releases, supporting improved compatibility and stability.

Bump effect, @effect/atom-react, @effect/platform-browser, and
@effect/vitest from 4.0.0-beta.99 to 4.0.0-beta.103 in the pnpm
catalog. Adapt to the SchemaIssue.Forbidden constructor change,
which no longer takes the actual value as its first argument.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XbBpyYCQ1uyHAkiwdApVkZ
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1b07b10b-8459-40ab-aa6b-45f5dd90d522

📥 Commits

Reviewing files that changed from the base of the PR and between 988fec1 and 5cd66bd.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • packages/effect-firebase/src/lib/firestore/model/datetime.ts
  • packages/effect-firebase/src/lib/firestore/schema/timestamp.ts
  • pnpm-workspace.yaml

📝 Walkthrough

Walkthrough

The workspace updates selected Effect packages from beta.99 to beta.103. Firestore datetime and timestamp schemas adopt the revised SchemaIssue.Forbidden construction and remove unused Option imports.

Changes

Effect beta.103 compatibility

Layer / File(s) Summary
Effect catalog upgrade
pnpm-workspace.yaml
The catalog updates selected Effect package versions from 4.0.0-beta.99 to 4.0.0-beta.103.
Firestore Forbidden construction updates
packages/effect-firebase/src/lib/firestore/model/datetime.ts, packages/effect-firebase/src/lib/firestore/schema/timestamp.ts
The schemas remove unused Option imports and use message-only SchemaIssue.Forbidden construction. Existing error messages remain unchanged.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: enhancement

Poem

A rabbit checks the schema with care,
No unused Option is hiding there.
Beta.103 hops into view,
Forbidden takes its form anew.
The timestamps keep their message true.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes both the Effect dependency updates and the SchemaIssue API changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@fwal fwal self-assigned this Aug 5, 2026
@fwal fwal added the dependencies Pull requests that update a dependency file label Aug 5, 2026
@fwal fwal added this to the 1.0 milestone Aug 5, 2026
@greptile-apps

greptile-apps Bot commented Aug 5, 2026

Copy link
Copy Markdown

Greptile Summary

This PR upgrades the Effect dependency family from 4.0.0-beta.99 to beta.103 and adapts Firestore timestamp decoding to the revised SchemaIssue.Forbidden constructor.

  • Updates Effect catalog and lockfile resolutions across the workspace.
  • Removes obsolete Option arguments and imports from timestamp schemas.
  • Leaves Vitest 4.0.9 paired with an @effect/vitest release that requires Vitest 4.1 or newer.

Confidence Score: 4/5

The incompatible @effect/vitest and Vitest versions should be aligned before merging.

The dependency upgrade records @effect/vitest 4.0.0-beta.103, whose declared Vitest peer range starts at 4.1.0, while every workspace installation still resolves Vitest 4.0.9.

Files Needing Attention: pnpm-workspace.yaml and pnpm-lock.yaml

Important Files Changed

Filename Overview
pnpm-workspace.yaml Upgrades the Effect catalog, but the new @effect/vitest version is incompatible with the workspace's existing Vitest 4.0.9 pin.
pnpm-lock.yaml Resolves Effect beta.103 consistently while recording an unmet @effect/vitest peer requirement for Vitest ^4.1.0.
packages/effect-firebase/src/lib/firestore/model/datetime.ts Correctly updates SchemaIssue.Forbidden construction and removes the now-unused Option import.
packages/effect-firebase/src/lib/firestore/schema/timestamp.ts Correctly updates SchemaIssue.Forbidden construction and removes the now-unused Option import.

Fix All in Claude Code

Reviews (1): Last reviewed commit: "Update effect packages to 4.0.0-beta.103" | Re-trigger Greptile

Comment thread pnpm-workspace.yaml
@fwal
fwal merged commit 4b0701d into main Aug 5, 2026
7 checks passed
@fwal
fwal deleted the claude/latest-effect-beta-update-9miwcy branch August 5, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 core dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants