Skip to content

fix: datepicker dropdown navigation + JSF logging + build heap#1134

Merged
hamzaremote merged 4 commits into
mainfrom
fix/datepicker-jsf-polish
Jul 3, 2026
Merged

fix: datepicker dropdown navigation + JSF logging + build heap#1134
hamzaremote merged 4 commits into
mainfrom
fix/datepicker-jsf-polish

Conversation

@hamzaremote

@hamzaremote hamzaremote commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Standalone infrastructure improvements, no new flows.

  • JSF: pass muteLogging: true to modify() to suppress generic library noise; forward any returned warnings to console.warn so they remain actionable.
  • Build: raise Node heap to 8192 MB for production tsup builds to prevent OOM on larger bundles.
  • DatePicker: add captionLayout="dropdown" with year range derived from min/max date
    constraints. The arrow-only navigation is impractical for fields like date of birth where
    the valid range spans decades — a dropdown lets users jump directly to the right year.
    Also fix defaultMonth to follow the current field value rather than always jumping to minDate.
    Add CSS for the unstyled month/year select elements that the dropdown mode relies on.

Test plan

  • Open a date field (e.g. in ContractAmendment or CreateCompany) — calendar header should show month/year dropdowns instead of prev/next arrows
  • Verify selecting a year/month from the dropdowns jumps the calendar correctly
  • Verify a pre-filled date field opens the calendar on the correct month (not on minDate)
  • Run npm run ci — should pass cleanly

Note

Low Risk
UX, logging, and build tooling changes with no auth, security, or data-path modifications.

Overview
Date picker fields now use month/year dropdown navigation instead of arrow-only paging, with fromYear/toYear derived from minDate/maxDate (or sensible defaults). Opening the calendar uses the current value’s month when set, otherwise maxDate or minDate—fixing the prior behavior that always opened on minDate. Global CSS styles the react-day-picker dropdown selects used by that layout.

Headless form setup passes muteLogging: true into modify() and logs returned jsfModify warnings via console.warn so schema issues stay visible without library noise.

Production build sets NODE_OPTIONS='--max-old-space-size=8192' (matching dev) to reduce OOM risk during tsup.

Reviewed by Cursor Bugbot for commit 7c5376b. Bugbot is set up for automated code reviews on this repo. Configure here.

hamzaremote and others added 3 commits July 1, 2026 18:06
Add captionLayout="dropdown" with year range derived from min/max date
constraints. Fix defaultMonth to follow the current field value rather
than always jumping to minDate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pass muteLogging: true to suppress the generic remote-json-schema-form-kit
noise; forward any warnings to console.warn so they remain actionable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prevents OOM on larger bundles during tsup builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c7410cb. Configure here.

Comment thread src/components/form/fields/default/DatePickerFieldDefault.tsx Outdated
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Metric Current Previous Change Status
Total (gzip) 224.75 kB 224.04 kB +714 B (+0.3%) 🔴
Total (raw) 607.96 kB 606.31 kB +1.65 kB (+0.3%) 🔴
CSS (gzip) 21.45 kB 20.89 kB +567 B (+2.7%) 🔴
CSS (raw) 110.5 kB 109.09 kB +1.41 kB (+1.3%) 🔴

Size Limits

  • ✅ Total gzipped: 224.75 kB / 250 kB (89.9%)
  • ✅ Total raw: 607.96 kB / 650 kB (93.5%)
  • ✅ CSS gzipped: 21.45 kB / 25 kB (85.8%)

Largest Files (Top 5)

  1. chunk-Y3CJRZLA.js - 14 kB (0 B (0%))
  2. styles.css - 10.73 kB (+283 B (+2.7%))
  3. index.css - 10.73 kB (+284 B (+2.7%))
  4. chunk-T2BG3KNL.js - 6.43 kB (new)
  5. index.js - 6.33 kB (0 B (0%))
View All Files (341 total)
File Size (gzip) Change
chunk-Y3CJRZLA.js 14 kB 0 B (0%)
styles.css 10.73 kB +283 B (+2.7%)
index.css 10.73 kB +284 B (+2.7%)
chunk-T2BG3KNL.js 6.43 kB new
index.js 6.33 kB 0 B (0%)
chunk-BYDNNJHZ.js 6.08 kB 0 B (0%)
chunk-G2LZFGZA.js 5.31 kB 0 B (0%)
chunk-I2F6TCSU.js 4.76 kB 0 B (0%)
chunk-WXVWJCE2.js 4.57 kB new
chunk-S4QKVG2B.js 3.89 kB 0 B (0%)

✅ Bundle size check passed

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

📊 Coverage Report

⚠️ Coverage decreased

Metric Current Previous Change Status
Lines 88.39% 88.42% -0.03% 🔴
Statements 87.80% 87.83% -0.03% 🔴
Functions 84.72% 84.88% -0.16% 🔴
Branches 79.75% 79.70% +0.05% 🟢

Detailed Breakdown

Lines Coverage
  • Covered: 3845 / 4350
  • Coverage: 88.39%
  • Change: -0.03% (3 lines)
Statements Coverage
  • Covered: 3906 / 4449
  • Coverage: 87.80%
  • Change: -0.03% (3 statements)
Functions Coverage
  • Covered: 1042 / 1230
  • Coverage: 84.72%
  • Change: -0.16% (-2 functions)
Branches Coverage
  • Covered: 2414 / 3027
  • Coverage: 79.75%
  • Change: +0.05% (11 branches)

✅ Coverage check passed

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Deploy preview for adp-cost-calculator ready!

Project:adp-cost-calculator
Status: ✅  Deploy successful!
Preview URL:https://adp-cost-calculator-e4vqshwby-remotecom.vercel.app
Latest Commit:7c5376b

Deployed with vercel-action

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Deploy preview for remote-flows ready!

Project:remote-flows
Status: ✅  Deploy successful!
Preview URL:https://remote-flows-4ld98whzc-remotecom.vercel.app
Latest Commit:7c5376b

Deployed with vercel-action

…n range

If minDate is after currentYear + 10, or if maxDate is before minDate,
the year select would have an empty or inverted range. Math.max(fromYear, ...)
ensures the dropdown always includes at least the minimum year.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hamzaremote hamzaremote merged commit 1acd1d7 into main Jul 3, 2026
11 checks passed
@hamzaremote hamzaremote deleted the fix/datepicker-jsf-polish branch July 3, 2026 14:16
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