Skip to content

feat: finalize boneyard capture#106

Merged
prem22k merged 8 commits into
mainfrom
develop
Apr 20, 2026
Merged

feat: finalize boneyard capture#106
prem22k merged 8 commits into
mainfrom
develop

Conversation

@prem22k
Copy link
Copy Markdown
Collaborator

@prem22k prem22k commented Apr 20, 2026

Description

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing functionality)
  • Documentation update
  • Refactor (no functional changes)
  • CI/CD changes

Related Issues

Screenshots (if applicable)

Testing

  • Tested on Windows
  • Tested on macOS
  • Tested on Linux
  • Unit tests added/updated
  • Manual testing completed

Checklist

  • Code follows project coding standards
  • Self-review of code performed
  • Comments added for complex logic
  • Documentation updated (if applicable)
  • All tests pass locally
  • No new warnings or errors introduced

Copilot AI review requested due to automatic review settings April 20, 2026 09:59
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
zync Error Error Apr 20, 2026 2:09pm

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR appears to finalize the Boneyard “capture” integration on the frontend by committing generated bones JSON + a runtime registry, while also updating build/tooling (Vite/TS config) and tightening backend /api/users/sync security + new-user notification behavior (with updated Jest coverage).

Changes:

  • Add generated Boneyard bones JSON assets and an auto-generated registerBones() registry wired into the app.
  • Update build/tooling: bump Vite to v8, enable CSS minification setting, and silence TS deprecation warnings via ignoreDeprecations.
  • Backend: enforce UID mismatch protection on user sync and refactor “new user” notification dispatch to trigger only on insert; expand Jest tests accordingly.

Reviewed changes

Copilot reviewed 12 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
vite.config.ts Configures CSS minification for Vite builds.
tsconfig.json Suppresses TypeScript deprecation warnings.
tsconfig.app.json Suppresses TypeScript deprecation warnings for app config.
src/components/ui/skeletons/index.ts Removes legacy skeleton re-exports (now empty).
src/bones/registry.ts Adds auto-generated bones registry that calls registerBones().
src/bones/workspace-project-card.bones.json Adds generated bones capture data.
src/bones/task-list-item.bones.json Adds generated bones capture data.
src/bones/project-card-grid.bones.json Adds generated bones capture data.
src/bones/calendar-events-grid.bones.json Adds generated bones capture data.
package.json Upgrades Vite to v8.
package-lock.json Updates lockfile for Vite and related dependency graph changes.
backend/routes/userRoutes.js Adds UID mismatch protection and refactors “new user” notification dispatch logic.
backend/tests/user_sync_security.test.js Updates/expands Jest tests for the new /sync security + notification behavior.
backend/package.json Adds Jest as a backend dev dependency.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 160 to 164
status: 'online',
lastSeen: new Date(),
createdAt: new Date()
createdAt: new Date(),
welcomeNotificationSent: true
}
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

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

welcomeNotificationSent is being set to true inside $setOnInsert, before any notification/logging call is attempted. If sendZyncEmail / appendRow fails, the user record will still indicate notifications were sent, preventing any future retry logic and making the field misleading. Consider inserting with the default false and flipping it to true only after notifications are successfully dispatched (or removing the field if it is no longer used for idempotency).

Copilot uses AI. Check for mistakes.
Comment thread backend/package.json
"devDependencies": {
"@types/node": "^25.0.3",
"@types/pg": "^8.16.0",
"jest": "^30.3.0",
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

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

jest is added as a backend devDependency at ^30.3.0, while the repo’s root Jest runner is still 29.7.0 (see root package-lock.json). Since CI runs Jest from the repo root and only uses backend/node_modules for backend-only deps, adding a second Jest version increases install size and can create confusing resolution issues. Prefer removing Jest from backend/package.json (or aligning both packages on the same Jest major if the backend truly needs its own Jest runner).

Suggested change
"jest": "^30.3.0",

Copilot uses AI. Check for mistakes.
Comment thread vite.config.ts
entries: ['index.html'],
},
build: {
cssMinify: "esbuild",
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

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

build.cssMinify is set to "esbuild", but this repo pins esbuild to 0.25.x via package.json overrides while Vite 8 declares a peer range of ^0.27 || ^0.28. This can lead to build-time failures or subtle minification issues if Vite tries to load esbuild for CSS minification. Consider removing the override / bumping esbuild to a compatible version, or switching cssMinify to the Vite 8 default (e.g. lightningcss) instead of forcing esbuild.

Suggested change
cssMinify: "esbuild",
cssMinify: "lightningcss",

Copilot uses AI. Check for mistakes.
Comment thread package.json
"typescript": "^5.9.3",
"typescript-eslint": "^8.55.0",
"vite": "^5.4.19",
"vite": "^8.0.9",
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

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

Upgrading to Vite ^8.0.9 conflicts with the currently locked Storybook Vite builder tooling: @storybook/builder-vite (pulled via @storybook/react-vite) declares a peer dependency of vite ^4 || ^5 || ^6 in package-lock.json. This is likely to break npm run storybook / npm run build-storybook or at least produce peer-dep conflicts. Either upgrade Storybook packages to versions that support Vite 8, or keep Vite within the supported range.

Suggested change
"vite": "^8.0.9",
"vite": "^6.0.0",

Copilot uses AI. Check for mistakes.
…ents

Team Settings Refactor & Logo System
@prem22k prem22k merged commit 4f24e12 into main Apr 20, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants