Repository navigation
chore(deps): upgrade @objectstack to 9.9.1 - #64
Merged
Merged
Conversation
Bump all @objectstack/* dependencies from ^9.8.0 to ^9.9.1 across every template and the `all` composition workspace. Verified locally: - pnpm typecheck, build, format:check, and -r test all pass. - Composed + booted the `all` env (41 objects, 30 flows, 9 apps); server reaches "Server is ready" + "seeded on empty DB" with no sys-table errors. - Browser-verified all 9 apps (compliance, content, contracts, expense, helpdesk, hr, procurement, pm, todo): dashboards, list views, grouping, lookups, and rollups render against seed data. 9.9.1 adds a new `liveness-dead-property` build lint flagging no-op object `enable.*` flags (trackHistory/files/feeds/activities); these are warnings only and are left for a focused follow-up cleanup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
os-zhuang
added a commit
that referenced
this pull request
Jun 18, 2026
…oard captions (#65) Follow-up to the 9.9.1 upgrade (#64). Three template-side improvements surfaced by booting the `all` env and verifying every app in the browser. 1. Remove dead `enable.*` object flags (112 across all 9 templates). 9.9.1 added a `liveness-dead-property` lint: object-level `enable.trackHistory|files|feeds|activities` are no-ops. History is per-field (`Field.trackHistory`, plugin-audit / ADR-0052); comments, attachments and activities live on the `sys_*` objects. Stale JSDoc/ description references updated to match. Build now emits zero warnings. 2. Fix seed-validation failures that aborted records at boot. 9.9.x now evaluates `field == null` script rules on insert (previously skipped when the field was omitted). Two rules require an OPTIONAL sys_user lookup that seed/import/automation paths cannot populate — reference seeds resolve by natural-key string and there is no seed-time user to point at (the admin is minted post-boot via better-auth): - compliance_assessment.completed_requires_assessor - content_piece.in_review_requires_assignee Both downgraded error → warning (the fields are optional; this stays a UI data-quality signal without hard-blocking inserts). Fixes 4 rejected compliance assessments + 2 content pieces (and 2 CTAs that cascaded off the dropped pieces). Verified: compliance_assessment 5, content_piece 14, content_cta 14; fresh boot logs zero ERROR lines. 3. Humanize dashboard KPI captions. Dataset measures used the raw alias as their label (`control_count`, `sum_total_value`, `task_count`), which the metric widgets render as the caption under the number. Gave every measure a readable label (Controls, Total Value, Tasks, …) across all datasets. Verified in the browser across all 9 apps (login admin@objectos.ai): boots clean, captions read e.g. "Controls"/"Total Value", previously-rejected records present. Note: todo's "My Work" dashboard is empty for the admin BY DESIGN — it is a personal dashboard filtered to `{current_user_id}`, and seeds cannot assign the human admin (no seed-time user reference). Left unchanged. The compliance "Assessments Completed by Month" chart still renders "No rows" despite the data now existing and the cube returning it — a pre-existing analytics time-series/date-bucketing behavior, not template-fixable here. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.
What
Upgrade all
@objectstack/*dependencies from^9.8.0→^9.9.1across every template and theallcomposition workspace.Verification (build passing ≠ it works — booted it)
pnpm typecheck,pnpm build,pnpm format:check,pnpm -r testall pass@objectlab/all): 9 apps · 41 objects · 30 flowsallenv on a fresh DB →Server is ready+seeded on empty DB, zerosys_*errors on a clean single-instance startadmin@objectos.ai): dashboards, list views, status grouping, lookups, and rollups all render against seed dataNotes / follow-ups (not blocking, left out of this PR)
liveness-dead-propertylint (9.9.x): ~112 warnings across all templates for no-op object flagsenable.trackHistory/enable.files/enable.feeds/enable.activities. Per-fieldField.trackHistoryand thesys_*objects are the live mechanisms. Worth a focused cleanup PR.compliance_assessment+ 2content_piece+ 2content_ctaseed records are rejected at boot (rule_violation/piece required). This leaves the compliance "Assessments Completed by Month" chart empty.control_count,sum_total_value,task_count) as the unit label, and chart titles stay in English under zh-CN dashboards.todo_taskrows have no assignee, so the default "My Work" dashboard shows 0/0/0 for the admin even though 16 tasks exist.🤖 Generated with Claude Code