Skip to content

Chore/20260428#591

Merged
SvenVw merged 15 commits into
developmentfrom
chore/20260428
Apr 29, 2026
Merged

Chore/20260428#591
SvenVw merged 15 commits into
developmentfrom
chore/20260428

Conversation

@SvenVw
Copy link
Copy Markdown
Collaborator

@SvenVw SvenVw commented Apr 28, 2026

Summary by CodeRabbit

  • Chores

    • Updated pnpm to 10.33.2 across workflows/manifests and tightened workspace dependency resolution; updated various dependencies and tooling.
    • Consolidated React Email package usage and adjusted email-related dependencies; added npm hoist pattern for typedoc-like packages.
  • Documentation

    • Added fdm-agents docs tag and included it in TypeDoc; updated Docusaurus/TypeDoc and JSDoc config.
  • Bug Fixes

    • Improved Microsoft sign-in error handling and made social profile mapping more tolerant of missing fields.
  • New Features

    • Added two fdm-calculator exports for callers.

@SvenVw SvenVw self-assigned this Apr 28, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 28, 2026

Warning

Rate limit exceeded

@SvenVw has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 18 minutes and 49 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 3a824ccb-3774-453e-9884-ee7410bf3ab0

📥 Commits

Reviewing files that changed from the base of the PR and between 505e221 and 5f6cd42.

📒 Files selected for processing (6)
  • fdm-app/app/components/blocks/email/farm-invitation-cancelled.tsx
  • fdm-app/app/components/blocks/email/farm-invitation-role-updated.tsx
  • fdm-app/app/components/blocks/email/farm-invitation.tsx
  • fdm-app/app/components/blocks/email/invitation.tsx
  • fdm-app/app/components/blocks/email/layout.tsx
  • fdm-app/app/components/blocks/email/welcome.tsx
📝 Walkthrough

Walkthrough

Updates pnpm pins across CI and manifests, migrates React Email imports to react-email, bumps multiple dependencies, exposes two fdm-calculator exports, includes fdm-agents/fdm-rvo in TypeDoc/Docusaurus, tightens pnpm workspace rules, and makes Microsoft social-login mapping tolerant while surfacing a specific signin error.

Changes

Cohort / File(s) Summary
CI Workflows (pnpm)
\.github/workflows/deploy-docs-test.yml, \.github/workflows/deploy-docs.yml, \.github/workflows/release.yml, \.github/workflows/tests.yml, \.github/workflows/typecheck.yml
Bumped pnpm installer/version from 10.33.010.33.2.
Email components (react-email migration)
fdm-app/app/components/blocks/email/*.tsx, fdm-app/app/components/blocks/email/layout.tsx, fdm-app/app/lib/email.server.ts
Replaced imports from @react-email/components / @react-email/tailwind with react-email (added @react-email/ui/react-email deps); no rendering logic changes.
fdm-app package & deps
fdm-app/package.json
Bumped many deps (React, routing, Tailwind/Vite, Turf, Sentry, PostHog, etc.), removed scoped react-email packages, added react-email/@react-email/ui, updated packageManager to pnpm@10.33.2.
Monorepo & pnpm workspace
package.json, pnpm-workspace.yaml, .npmrc
Updated root dev tool versions, set packageManager to pnpm@10.33.2, enabled blockExoticSubdeps/strictDepBuilds, added public-hoist-pattern[]=*typedoc*, and extended pnpm.onlyBuiltDependencies.
Per-package packageManager / deps bumps
fdm-agents/package.json, fdm-core/package.json, fdm-calculator/package.json, fdm-data/package.json, fdm-rvo/package.json
Updated packageManager to pnpm@10.33.2 and bumped selected dependencies (e.g., @google/genai, posthog-node, globals, nanoid, @turf/*).
fdm-calculator — exports & JSDoc
fdm-calculator/src/index.ts, fdm-calculator/src/mineralization/builders.ts, fdm-calculator/src/mineralization/index.ts, fdm-calculator/src/*jsdoc*
Exported getMainCultivation and re-exported dynaResponseDataSchema; standardized several JSDoc param names; no runtime changes.
Microsoft social login & signin UI
fdm-core/src/authentication.ts, fdm-app/app/routes/signin._index.tsx
Microsoft profile mapping now tolerates alternate fields (email/mail, name/displayName, picture/image) and throws microsoft_no_email when email absent; signin route reads error query and shows a Microsoft-specific message.
Docs / TypeDoc / Docusaurus
fdm-docs/docusaurus.config.ts, fdm-docs/typedoc.json, fdm-docs/package.json, fdm-docs/tsconfig.json, tsconfig.typedoc.json, fdm-docs/blog/tags.yml
Added fdm-agents/fdm-rvo TypeDoc inputs, moved broken-markdown handling to markdown.hooks, adjusted future flag, bumped Docusaurus deps, added fdm-agents blog tag, and updated typedoc tsconfig includes.
Minor docs/JSDoc edits & changeset
fdm-core/src/cultivation.ts, fdm-core/src/index.ts, various JSDoc in fdm-calculator, .changeset/goofy-nails-shop.md
Small JSDoc tag/name corrections, updated module doc references, and added a changeset for patch releases noting Microsoft sign-in guidance.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant SignInPage
    participant OAuthProvider
    participant FdmCoreAuth
    participant AppServer

    User->>SignInPage: Click "Sign in with Microsoft"
    SignInPage->>OAuthProvider: Redirect / OAuth flow
    OAuthProvider->>SignInPage: Redirect callback with profile (may lack email)
    SignInPage->>AppServer: Callback POST (profile)
    AppServer->>FdmCoreAuth: Map profile (email←email|mail, name←name|displayName|email local-part, image←picture|image|null)
    alt email missing
        FdmCoreAuth-->>AppServer: Error "microsoft_no_email"
        AppServer-->>SignInPage: Redirect ?error=microsoft_no_email
        SignInPage->>User: Show Microsoft-specific guidance message
    else email present
        FdmCoreAuth-->>AppServer: Create/return user
        AppServer-->>SignInPage: Set session / redirect to app
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

fdm-app, fdm-core, fdm-data, fdm-calculator, fdm-docs, dependencies, branch:development

Suggested reviewers

  • BoraIneviNMI
  • gerardhros

Poem

🐰 I hopped through nodes and pnpm trees,
Swapped imports swift as springtime breeze,
Exposed a helper, guided sign-in light,
Told TypeDoc to include new sight,
A tiny rabbit leap for repo delights. 🌱

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Chore/20260428' is vague and generic, using a date stamp without describing what the actual changes accomplish or address. Replace with a descriptive title that summarizes the main changes, such as 'Update pnpm to 10.33.2 and upgrade dependencies' or 'Chore: Update pnpm version and refresh dependency versions'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/20260428

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
Review rate limit: 0/1 reviews remaining, refill in 18 minutes and 49 seconds.

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

@sentry
Copy link
Copy Markdown

sentry Bot commented Apr 28, 2026

Codecov Report

❌ Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
fdm-core/src/authentication.ts 0.00% 7 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
fdm-calculator/src/mineralization/builders.ts (1)

38-38: Resolve public export vs @internal TSDoc mismatch.

getMainCultivation is now part of the public API, but its docblock still marks it as internal. Please remove @internal (or keep it non-exported) to avoid contradictory generated docs.

Suggested doc fix
- * `@internal`
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@fdm-calculator/src/mineralization/builders.ts` at line 38, The TSDoc for the
exported function getMainCultivation is marked `@internal` which conflicts with it
being part of the public API; remove the `@internal` tag from the function's
docblock in builders.ts (or alternatively stop exporting getMainCultivation) so
the documentation and export visibility match—locate the doc comment immediately
above the getMainCultivation declaration and update it accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pnpm-workspace.yaml`:
- Around line 11-22: The dependency bumps (typescript, typedoc, vitest) are
breaking CI/tests; update configs and package listings to restore compatibility:
pin or adjust package entries for '@types/node' and other needed `@types` in the
workspace manifest, update tsconfig.json compilerOptions to override new
TypeScript 6 defaults (explicitly set "strict": false or desired value, "types":
["node"], "target" and "module" to your previous values and set
"moduleResolution" to "node" or "nodenext" per codebase), update vitest.config.*
to satisfy Vitest 4 changes (adjust coverage config, mocking settings and ensure
Node >=20 compatibility), and update TypeDoc config/options to match 0.28
path/README handling; then run type-check and full test suite across the
workspace packages (fdm-core, fdm-calculator, fdm-data, fdm-rvo) and fix any
resulting type/test failures before merging.

---

Nitpick comments:
In `@fdm-calculator/src/mineralization/builders.ts`:
- Line 38: The TSDoc for the exported function getMainCultivation is marked
`@internal` which conflicts with it being part of the public API; remove the
`@internal` tag from the function's docblock in builders.ts (or alternatively stop
exporting getMainCultivation) so the documentation and export visibility
match—locate the doc comment immediately above the getMainCultivation
declaration and update it accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 58adba12-9cb1-409c-a7d7-3423effeb872

📥 Commits

Reviewing files that changed from the base of the PR and between f73973f and 73b9ba1.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (37)
  • .github/workflows/deploy-docs-test.yml
  • .github/workflows/deploy-docs.yml
  • .github/workflows/release.yml
  • .github/workflows/tests.yml
  • .github/workflows/typecheck.yml
  • .npmrc
  • fdm-agents/package.json
  • fdm-app/app/components/blocks/email/farm-invitation-cancelled.tsx
  • fdm-app/app/components/blocks/email/farm-invitation-role-updated.tsx
  • fdm-app/app/components/blocks/email/farm-invitation.tsx
  • fdm-app/app/components/blocks/email/invitation.tsx
  • fdm-app/app/components/blocks/email/layout.tsx
  • fdm-app/app/components/blocks/email/magic-link.tsx
  • fdm-app/app/components/blocks/email/welcome.tsx
  • fdm-app/app/lib/email.server.ts
  • fdm-app/package.json
  • fdm-calculator/package.json
  • fdm-calculator/src/balance/nitrogen/index.ts
  • fdm-calculator/src/balance/organic-matter/index.ts
  • fdm-calculator/src/doses/calculate-dose.ts
  • fdm-calculator/src/doses/get-dose-field.ts
  • fdm-calculator/src/index.ts
  • fdm-calculator/src/mineralization/builders.ts
  • fdm-calculator/src/mineralization/index.ts
  • fdm-core/package.json
  • fdm-core/src/cultivation.ts
  • fdm-core/src/index.ts
  • fdm-data/package.json
  • fdm-docs/blog/tags.yml
  • fdm-docs/docusaurus.config.ts
  • fdm-docs/package.json
  • fdm-docs/tsconfig.json
  • fdm-docs/typedoc.json
  • fdm-rvo/package.json
  • package.json
  • pnpm-workspace.yaml
  • tsconfig.typedoc.json

Comment thread pnpm-workspace.yaml
@SvenVw SvenVw requested a review from BoraIneviNMI April 28, 2026 13:27
Copy link
Copy Markdown
Collaborator

@BoraIneviNMI BoraIneviNMI left a comment

Choose a reason for hiding this comment

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

Everything seems to be configured correctly.

@SvenVw SvenVw merged commit c7da915 into development Apr 29, 2026
12 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.

2 participants