Frozen snapshot: silos-stable#774
Open
jthrilly wants to merge 5134 commits into
Open
Conversation
Providers (components/Providers) already wraps DialogProvider, and both Fresco and Storybook render children inside Providers. The four removed usages nested a second DialogProvider underneath: - InterviewShell (Fresco renders inside Providers) - StoryInterviewShell (Storybook preview decorator uses Providers) - ProtocolSchemas.stories decorator - ArrayField.stories decorator Dialog library's own documentation stories and unit tests keep their explicit DialogProvider — those are scoped by design.
- Remove unused disableSync prop from StoryInterviewShell and all story call sites. Sync is now always a no-op in stories. - Extract shared isValidAssetType guard to lib/interviewer/contract/assets.ts so live (mapInterviewPayload) and preview (page.tsx) share one source of truth for the Prisma-to-ResolvedAsset type coercion.
Dialogs opened during an interview (e.g. pedigree wizard steps) render components that call useSelector. DialogProvider renders its dialogs at its own location in the tree, not where useDialog() is called — so a single app-root DialogProvider (in components/Providers) leaves dialog content mounting OUTSIDE the Redux Provider that lives inside InterviewShell, causing 'could not find react-redux context value' at the first useSelector call. The two-level nesting is intentional: outer DialogProvider for app dialogs, inner one inside the Redux Provider for interview-scoped dialogs. Restored in both InterviewShell and StoryInterviewShell with an explanatory comment.
suggested by mapbox docs
…e or clear move session token to useRef, generate fresh uuid after retreive, clear, and resetKey changes. avoids unpredictable billing
Bumps [uuid](https://github.com/uuidjs/uuid) from 13.0.0 to 14.0.0. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](uuidjs/uuid@v13.0.0...v14.0.0) --- updated-dependencies: - dependency-name: uuid dependency-version: 14.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@prisma/adapter-neon](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-neon) from 7.7.0 to 7.8.0. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/7.8.0/packages/adapter-neon) --- updated-dependencies: - dependency-name: "@prisma/adapter-neon" dependency-version: 7.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) from 3.1029.0 to 3.1037.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1037.0/packages/s3-request-presigner) --- updated-dependencies: - dependency-name: "@aws-sdk/s3-request-presigner" dependency-version: 3.1037.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) from 6.5.0 to 6.7.0. - [Release notes](https://github.com/webpro-nl/knip/releases) - [Commits](https://github.com/webpro-nl/knip/commits/knip@6.7.0/packages/knip) --- updated-dependencies: - dependency-name: knip dependency-version: 6.7.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mapbox-gl](https://github.com/mapbox/mapbox-gl-js) from 3.21.0 to 3.22.0. - [Release notes](https://github.com/mapbox/mapbox-gl-js/releases) - [Changelog](https://github.com/mapbox/mapbox-gl-js/blob/main/CHANGELOG.md) - [Commits](mapbox/mapbox-gl-js@v3.21.0...v3.22.0) --- updated-dependencies: - dependency-name: mapbox-gl dependency-version: 3.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
- Add isDevelopment flag to interviewer contract; host wrappers source it from env.NODE_ENV, removing direct process.env reads (and lint disables) inside lib/interviewer - Memoize Redux store creation in InterviewShell and ref-anchor onSync so inline host callbacks don't trigger store recreation on re-render - Replace VersionedProtocol with CurrentProtocol throughout runtime code: contract type narrows to schema 8, protocol selectors drop their defensive casts, and previewProtocol now uses the same JSON-parsing Prisma extension as protocol (factored into a shared helper) - Storybook payload bridge imports the shared isValidAssetType instead of redefining validAssetTypes locally - Rewrite getAssetManifest reduce as Object.fromEntries
…_yarn/next/mapbox-gl-3.22.0 build(deps): bump mapbox-gl from 3.21.0 to 3.22.0
…_yarn/next/knip-6.7.0 build(deps-dev): bump knip from 6.5.0 to 6.7.0
…_yarn/next/aws-sdk/s3-request-presigner-3.1037.0 build(deps): bump @aws-sdk/s3-request-presigner from 3.1029.0 to 3.1037.0
…_yarn/next/prisma/adapter-neon-7.8.0 build(deps): bump @prisma/adapter-neon from 7.7.0 to 7.8.0
…_yarn/next/uuid-14.0.0 build(deps): bump uuid from 13.0.0 to 14.0.0
…p, add tests Agent-Logs-Url: https://github.com/complexdatacollective/Fresco/sessions/b63f6a96-4573-40d2-8c19-7be4c77934e7 Co-authored-by: jthrilly <1387940+jthrilly@users.noreply.github.com>
Move lib/pedigree-layout into lib/interviewer/Interfaces/FamilyPedigree since the FamilyPedigree stage is its only consumer.
…arch-token Use UUIDv4 for mapbox search session_token
- Bump @aws-sdk/client-s3 to match @aws-sdk/s3-request-presigner (private-handlers type collision between divergent SDK versions) - Drop unused exports flagged by knip; convert NodeShapes and ParentEdgeSchema to plain type definitions since neither was used at runtime - Ignore .worktrees/** in eslint to fix lint OOM and spurious errors
pnpm 10+ resolves the global bin directory as `$PNPM_HOME/bin`, but pnpm/action-setup sets PNPM_HOME to `.../node_modules/.bin` (already a bin dir), so `pnpm add -g` ends up writing to `.bin/bin` which isn't on PATH. Using `npm install -g` sidesteps the issue since setup-node puts npm's global bin on PATH.
v2 of the shared action fixes the pnpm 10+ global-bin-dir issue by configuring `pnpm config set global-bin-dir "$PNPM_HOME"`, which lets `pnpm add -g` work again. Revert the netlify workflow's npm workaround back to `pnpm add -g netlify-cli` accordingly. Pinned to commit SHA per shared-action best practice.
…ols-meta feat(api): add protocols-meta endpoint
`mode: delete-on-completion` posts a comment that auto-deletes when the job ends, so it requires `message` or `file-path`. The intent here is to remove any prior failure comment when this run succeeds — that's `mode: delete`, which works by `comment-tag` alone.
…push Two related changes for the next-branch (sandbox-dev) Netlify project, which has auto-builds disabled and is fed exclusively via API trigger: 1. Add scripts/netlify-deploy.sh — triggers a build via the Netlify API, then polls /deploys/<id> until a terminal state. Exits non-zero on error/failed/rejected/skipped/canceled or on timeout, so the CI step actually fails when the underlying deploy fails (previously the curl fire-and-forget reported success even for broken deploys). 2. Add netlify-deploy-production.yml — fires on push to next and calls the same script to trigger a production-context build. Netlify's own `pnpm build:platform` command runs migrations + initialization, so the workflow itself does no DB setup. Also restrict the preview workflow to PRs whose base is next, so it doesn't fire for PRs targeting main (which use a different deploy path).
With auto-builds re-enabled, Netlify deploys pushes to next directly via its git integration. The explicit API-triggered production workflow is redundant. Preview workflow + scripts/netlify-deploy.sh stay (still used to trigger and gate-on-outcome for PR previews).
Netlify auto-deploys pushes to next, but Netlify notifications on this project don't support production-deploy events. Add a workflow that fires on push to next, finds the deploy by commit SHA, polls it to a terminal state, and reports the outcome as a real GitHub Actions check (so it shows up alongside other PR/commit checks and can be marked required). The new scripts/netlify-await-deploy.sh handles the two-phase polling: discovery (deploy may not exist immediately after push) then state polling. Shares no code with scripts/netlify-deploy.sh by design — the trigger flow and the observe flow are short enough that a shared polling helper is more friction than the ~25 line duplication.
- Bump @codaco/fresco-ui to 2.11.0, @codaco/interview to 1.0.0-alpha.21, @codaco/protocol-validation to 11.6.0, @codaco/shared-consts to 5.1.0 - Add @codaco/protocol-utilities (synthetic interview generation split out of @codaco/interview); import generateNetwork from there - Source StageMetadataSchema from @codaco/shared-consts (now regular zod, not zod/mini) — it's no longer exported from @codaco/interview - Replace local components/DataTable with @codaco/fresco-ui/DataTable; keep the nuqs URL-state wrappers under components/DataTable/nuqs - Inline the small ColumnFiltersStateSchema in useClientDataTable, its only consumer - Drop @faker-js/faker, luxon, @types/luxon — only used by the removed DataTable stories and date filter
…wing fresco-ui's TableCell hard-codes whitespace-nowrap on every td. The activity feed's free-form message text couldn't wrap, forcing the column wider than the available space and showing a horizontal scrollbar. Wrap the cell content in a div with whitespace-normal so the text wraps; nowrap on the td still does its job for badge/timestamp columns.
Bumps [fflate](https://github.com/101arrowz/fflate) from 0.8.2 to 0.8.3. - [Release notes](https://github.com/101arrowz/fflate/releases) - [Changelog](https://github.com/101arrowz/fflate/blob/master/CHANGELOG.md) - [Commits](101arrowz/fflate@v0.8.2...v0.8.3) --- updated-dependencies: - dependency-name: fflate dependency-version: 0.8.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.22.0 to 4.22.3. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.22.0...v4.22.3) --- updated-dependencies: - dependency-name: tsx dependency-version: 4.22.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…_yarn/next/fflate-0.8.3 build(deps-dev): bump fflate from 0.8.2 to 0.8.3
…_yarn/next/tsx-4.22.2 build(deps-dev): bump tsx from 4.22.0 to 4.22.3
- Update minor/patch deps (AWS SDK, base-ui, motion, posthog, storybook, vitest, sass, etc.) to newest policy-compliant versions - Bump chromatic 16->17 and concurrently 9->10 (major) - Update @codaco/* packages: fresco-ui 2.11.1, interview alpha.22, protocol-validation 11.6.1, tailwind-config alpha.19 - Migrate toast calls from 'type' to 'variant' prop (fresco-ui 2.11.1 API change) - Add minimumReleaseAgeExclude entries for freshly-published @codaco packages
- @codaco/fresco-ui 2.11.1 -> 2.11.2 - @codaco/interview 1.0.0-alpha.22 -> 1.0.0-alpha.23 - @codaco/network-exporters 1.0.2 -> 1.0.3 - Refresh minimumReleaseAgeExclude entries, prune stale versions
Include the acting user in the details of admin-triggered activity feed events (interview/token/participant/protocol/user deletion and creation, data export, synthetic data) so the feed can be used to audit user activity. Participant-driven interview events are left unchanged. Add an "Export CSV" button next to the type filter that downloads the entire activity feed (timestamp, type, details) via a new getActivitiesForExport server action, mirroring the participants export.
…-upload-reliability fix(import): make large protocol uploads reliable + import UX
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR backs a frozen Netlify deployment of the
silos-stablebranch.silos-stableis pinned to the head ofnextat the time of branching (commit057be822).next— future pushes tonextwill not update this branch or its deployment.silos-stable-base, an isolated branch pointing at the repo's root commit, so the diff is self-contained and this PR does not imply merging intomain.Do not merge — this is a tracking/deploy artifact only.
🤖 Generated with Claude Code