mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-06 22:09:44 +02:00
* fix(issues): store start_date/due_date as DATE, not timestamp (MUL-2925) These fields are calendar days (the pickers offer no time-of-day), but were stored as TIMESTAMPTZ. A client serializing local midnight via toISOString() folded its timezone into the instant, so the day shifted by the local offset (GH #3618). Migrate the columns to DATE and parse/serialize date-only "YYYY-MM-DD". ParseCalendarDate still accepts legacy RFC3339 (truncated to the UTC day) so older clients keep working. Co-authored-by: multica-agent <github@multica.ai> * fix(issues): render start_date/due_date as timezone-stable calendar days (MUL-2925) Pickers now emit date-only "YYYY-MM-DD" (local calendar day) instead of toISOString(), and every read formats via the shared @multica/core/issues/date helpers with timeZone:"UTC" so the day never shifts with the viewer's offset. The Gantt's existing UTC bucketing is now correct. Covers web/desktop pickers, quick-set menu, list/board/detail/activity, and the mobile due-date picker. Co-authored-by: multica-agent <github@multica.ai> * fix(issues): address date-only review — loud-fail ambiguous dates, finish display sweep (MUL-2925) Review follow-ups on #3692: - ParseCalendarDate no longer silently truncates a legacy non-midnight RFC3339 to the wrong UTC day; it accepts only YYYY-MM-DD or an exact UTC-midnight instant and rejects ambiguous ones loudly. Adds util unit tests. - migration 112 pins the TIMESTAMPTZ->DATE conversion to UTC explicitly via AT TIME ZONE 'UTC' (was session-timezone dependent); down migration too. - Convert remaining date-change display sites to formatDateOnly: inbox detail label (web) and mobile activity + inbox labels (were new Date()+local format). - CLI --start-date/--due-date help now says YYYY-MM-DD, not RFC3339. Co-authored-by: multica-agent <github@multica.ai> --------- Co-authored-by: J <j@multica.ai> Co-authored-by: multica-agent <github@multica.ai>
132 lines
5.1 KiB
JSON
132 lines
5.1 KiB
JSON
{
|
|
"name": "@multica/core",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint .",
|
|
"test": "vitest run"
|
|
},
|
|
"exports": {
|
|
".": "./index.ts",
|
|
"./markdown": "./markdown/index.ts",
|
|
"./types": "./types/index.ts",
|
|
"./types/*": "./types/*.ts",
|
|
"./api": "./api/index.ts",
|
|
"./api/client": "./api/client.ts",
|
|
"./api/schema": "./api/schema.ts",
|
|
"./api/schemas": "./api/schemas.ts",
|
|
"./api/ws-client": "./api/ws-client.ts",
|
|
"./config": "./config/index.ts",
|
|
"./auth": "./auth/index.ts",
|
|
"./workspace": "./workspace/index.ts",
|
|
"./workspace/queries": "./workspace/queries.ts",
|
|
"./workspace/mutations": "./workspace/mutations.ts",
|
|
"./workspace/hooks": "./workspace/hooks.ts",
|
|
"./workspace/avatar-url": "./workspace/avatar-url.ts",
|
|
"./issues": "./issues/index.ts",
|
|
"./issues/queries": "./issues/queries.ts",
|
|
"./issues/mutations": "./issues/mutations.ts",
|
|
"./issues/timeline-sort": "./issues/timeline-sort.ts",
|
|
"./issues/date": "./issues/date.ts",
|
|
"./issues/ws-updaters": "./issues/ws-updaters.ts",
|
|
"./issues/config": "./issues/config/index.ts",
|
|
"./issues/config/status": "./issues/config/status.ts",
|
|
"./issues/config/priority": "./issues/config/priority.ts",
|
|
"./issues/stores": "./issues/stores/index.ts",
|
|
"./issues/stores/view-store-context": "./issues/stores/view-store-context.tsx",
|
|
"./issues/stores/*": "./issues/stores/*.ts",
|
|
"./inbox": "./inbox/index.ts",
|
|
"./inbox/queries": "./inbox/queries.ts",
|
|
"./inbox/mutations": "./inbox/mutations.ts",
|
|
"./inbox/ws-updaters": "./inbox/ws-updaters.ts",
|
|
"./notification-preferences": "./notification-preferences/index.ts",
|
|
"./notification-preferences/queries": "./notification-preferences/queries.ts",
|
|
"./notification-preferences/mutations": "./notification-preferences/mutations.ts",
|
|
"./chat": "./chat/index.ts",
|
|
"./chat/queries": "./chat/queries.ts",
|
|
"./chat/mutations": "./chat/mutations.ts",
|
|
"./runtimes": "./runtimes/index.ts",
|
|
"./runtimes/queries": "./runtimes/queries.ts",
|
|
"./runtimes/mutations": "./runtimes/mutations.ts",
|
|
"./runtimes/hooks": "./runtimes/hooks.ts",
|
|
"./runtimes/custom-pricing-store": "./runtimes/custom-pricing-store.ts",
|
|
"./dashboard": "./dashboard/index.ts",
|
|
"./dashboard/queries": "./dashboard/queries.ts",
|
|
"./agents": "./agents/index.ts",
|
|
"./agents/queries": "./agents/queries.ts",
|
|
"./agents/derive-presence": "./agents/derive-presence.ts",
|
|
"./agents/use-agent-presence": "./agents/use-agent-presence.ts",
|
|
"./agents/visibility-label": "./agents/visibility-label.ts",
|
|
"./agents/stores": "./agents/stores/index.ts",
|
|
"./squads": "./squads/index.ts",
|
|
"./squads/stores": "./squads/stores/index.ts",
|
|
"./permissions": "./permissions/index.ts",
|
|
"./projects": "./projects/index.ts",
|
|
"./projects/queries": "./projects/queries.ts",
|
|
"./projects/mutations": "./projects/mutations.ts",
|
|
"./projects/config": "./projects/config.ts",
|
|
"./labels": "./labels/index.ts",
|
|
"./labels/queries": "./labels/queries.ts",
|
|
"./labels/mutations": "./labels/mutations.ts",
|
|
"./autopilots": "./autopilots/index.ts",
|
|
"./autopilots/queries": "./autopilots/queries.ts",
|
|
"./autopilots/mutations": "./autopilots/mutations.ts",
|
|
"./pins": "./pins/index.ts",
|
|
"./pins/queries": "./pins/queries.ts",
|
|
"./pins/mutations": "./pins/mutations.ts",
|
|
"./billing": "./billing/index.ts",
|
|
"./billing/queries": "./billing/queries.ts",
|
|
"./billing/mutations": "./billing/mutations.ts",
|
|
"./github": "./github/index.ts",
|
|
"./github/queries": "./github/queries.ts",
|
|
"./feedback": "./feedback/index.ts",
|
|
"./feedback/mutations": "./feedback/mutations.ts",
|
|
"./realtime": "./realtime/index.ts",
|
|
"./navigation": "./navigation/index.ts",
|
|
"./modals": "./modals/index.ts",
|
|
"./onboarding": "./onboarding/index.ts",
|
|
"./paths": "./paths/index.ts",
|
|
"./hooks": "./hooks.tsx",
|
|
"./hooks/*": "./hooks/*.ts",
|
|
"./query-client": "./query-client.ts",
|
|
"./provider": "./provider.tsx",
|
|
"./logger": "./logger.ts",
|
|
"./utils": "./utils.ts",
|
|
"./constants/*": "./constants/*.ts",
|
|
"./platform": "./platform/index.ts",
|
|
"./analytics": "./analytics/index.ts",
|
|
"./i18n": "./i18n/index.ts",
|
|
"./i18n/react": "./i18n/react.ts",
|
|
"./i18n/browser": "./i18n/browser.ts",
|
|
"./skills": "./skills/index.ts",
|
|
"./skills/frontmatter": "./skills/frontmatter.ts"
|
|
},
|
|
"dependencies": {
|
|
"@formatjs/intl-localematcher": "catalog:",
|
|
"@tanstack/react-query": "catalog:",
|
|
"@tanstack/react-query-devtools": "^5.96.2",
|
|
"i18next": "catalog:",
|
|
"posthog-js": "catalog:",
|
|
"react-i18next": "catalog:",
|
|
"yaml": "catalog:",
|
|
"zod": "catalog:",
|
|
"zustand": "catalog:"
|
|
},
|
|
"peerDependencies": {
|
|
"react": "catalog:"
|
|
},
|
|
"devDependencies": {
|
|
"@multica/eslint-config": "workspace:*",
|
|
"@multica/tsconfig": "workspace:*",
|
|
"@testing-library/react": "catalog:",
|
|
"@types/react": "catalog:",
|
|
"jsdom": "catalog:",
|
|
"react": "catalog:",
|
|
"react-dom": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|