Skip to content

Commit 81983b3

Browse files
chore: version packages (rc)
1 parent e15e870 commit 81983b3

153 files changed

Lines changed: 26953 additions & 89 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/pre.json

Lines changed: 296 additions & 0 deletions
Large diffs are not rendered by default.

examples/app-crm/CHANGELOG.md

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,172 @@
11
# @objectstack/example-crm
22

3+
## 4.0.92-rc.6
4+
5+
### Patch Changes
6+
7+
- 7e06f51: fix(example-crm): bind the three declared positions to `crm_sales_user` (#8060)
8+
9+
`examples/app-crm/src/security/sales-positions.ts` declared three positions
10+
(`sales_rep`, `sales_manager`, `finance_approver`) and a `crm_sales_user`
11+
permission set, but nothing ever joined them — the app seeded no
12+
`sys_position_permission_set` rows, and `crm_sales_user` was not marked
13+
`isDefault` (which would have granted every user, not just the three
14+
positions). A user assigned any of the three positions therefore resolved
15+
only the platform `everyone` baseline and was 403'd on every CRM object.
16+
17+
Mirrors `examples/app-showcase/src/security/bind-position-sets.ts`: a new
18+
`examples/app-crm/src/security/bind-position-sets.ts` binds the three
19+
positions to `crm_sales_user` imperatively on `kernel:bootstrapped` (a
20+
declarative seed can't do this — the seed loader runs before the security
21+
bootstrap creates the `sys_position`/`sys_permission_set` rows), wired via a
22+
new `onEnable` export in `objectstack.config.ts`.
23+
24+
Measured with `objectstack verify --app examples/app-crm/objectstack.config.ts
25+
--rls`: the three per-position probe personas went from 18-of-18
26+
`probe-blocked` (no object grant at all — the by-id-write class was never
27+
exercised) to 3 `probe-blocked` (one per persona: `crm_opportunity_line_item`,
28+
which `crm_sales_user` does not grant — a separate, pre-existing gap, not
29+
addressed here). Zero RLS holes introduced or found.
30+
31+
- c4624f0: fix(example-crm): grant `crm_opportunity_line_item` in `crm_sales_user`, matching its master `crm_opportunity` (#8164)
32+
33+
`crm_opportunity_line_item` is a master-detail CHILD of `crm_opportunity`
34+
(`sharingModel: 'controlled_by_parent'`, `inlineEdit: 'grid'` on the
35+
Opportunity form), but `crm_sales_user` — the app's only non-guest
36+
permission set — granted object-level CRUD on 5 CRM objects and never the
37+
line item. Record-level access always follows the master (ADR-0055), but
38+
object-level CRUD is a SEPARATE gate the platform never derives: every
39+
role-bound (non-admin) user, including the three positions this app ships
40+
to demonstrate selling, got a silent 403 the moment they tried to add or
41+
edit a product line on an Opportunity they otherwise fully own. The
42+
platform's own build-time lint (`security-master-detail-ungranted`) already
43+
flagged this independently.
44+
45+
Added `crm_opportunity_line_item` to `crm_sales_user`'s `objects` map with
46+
the exact same grant shape as its master `crm_opportunity`
47+
(`{ allowRead: true, allowCreate: true, allowEdit: true, allowDelete: false }`)
48+
— the line item's own access is meant to follow its master, not invent an
49+
independent policy.
50+
51+
Measured with `objectstack verify --app examples/app-crm/objectstack.config.ts
52+
--rls`: every position persona's `probeBlocked` count dropped from 1 (the
53+
line item, the sole remaining gap left open by #8060) to 0, with zero RLS
54+
holes introduced or found. The build's `security-master-detail-ungranted`
55+
warning for this object is gone.
56+
57+
- Updated dependencies [690ccf2]
58+
- Updated dependencies [333a374]
59+
- Updated dependencies [30536e3]
60+
- Updated dependencies [5823d59]
61+
- Updated dependencies [3140f9c]
62+
- Updated dependencies [9500ba4]
63+
- Updated dependencies [a8940e4]
64+
- Updated dependencies [76d74ec]
65+
- Updated dependencies [0e79785]
66+
- Updated dependencies [344a22a]
67+
- Updated dependencies [86f7a20]
68+
- Updated dependencies [c546c89]
69+
- Updated dependencies [627e65a]
70+
- Updated dependencies [b16dcb4]
71+
- Updated dependencies [22df871]
72+
- Updated dependencies [9c82146]
73+
- Updated dependencies [744b8f5]
74+
- Updated dependencies [37785ed]
75+
- Updated dependencies [7e5af5c]
76+
- Updated dependencies [9d1d9c7]
77+
- Updated dependencies [1007379]
78+
- Updated dependencies [4ff8abf]
79+
- Updated dependencies [e5bd2f6]
80+
- Updated dependencies [e38db3d]
81+
- Updated dependencies [2c1988c]
82+
- Updated dependencies [211abdb]
83+
- Updated dependencies [b3de0dd]
84+
- Updated dependencies [35b36f2]
85+
- Updated dependencies [19aaf4b]
86+
- Updated dependencies [0e4a7fb]
87+
- Updated dependencies [f505689]
88+
- Updated dependencies [76682cb]
89+
- Updated dependencies [606d577]
90+
- Updated dependencies [e906126]
91+
- Updated dependencies [08363a0]
92+
- Updated dependencies [444de5b]
93+
- Updated dependencies [3f7b4ff]
94+
- Updated dependencies [6a9dec6]
95+
- Updated dependencies [4dc1c7d]
96+
- Updated dependencies [baeb4f0]
97+
- Updated dependencies [29488cc]
98+
- Updated dependencies [08cd163]
99+
- Updated dependencies [7dc1067]
100+
- Updated dependencies [7674859]
101+
- Updated dependencies [b85cc54]
102+
- Updated dependencies [7a8476f]
103+
- Updated dependencies [518ca7a]
104+
- Updated dependencies [2d8dba3]
105+
- Updated dependencies [d62f8eb]
106+
- Updated dependencies [a7586cd]
107+
- Updated dependencies [4c5e80e]
108+
- Updated dependencies [4b5702a]
109+
- Updated dependencies [af05400]
110+
- Updated dependencies [d063a96]
111+
- Updated dependencies [fa48973]
112+
- Updated dependencies [cf7c694]
113+
- Updated dependencies [ddd0f06]
114+
- Updated dependencies [603cab8]
115+
- Updated dependencies [df95346]
116+
- Updated dependencies [591f675]
117+
- Updated dependencies [9051802]
118+
- Updated dependencies [2f8328c]
119+
- Updated dependencies [f293d45]
120+
- Updated dependencies [f067930]
121+
- Updated dependencies [97ace2a]
122+
- Updated dependencies [ef7b5ef]
123+
- Updated dependencies [9514767]
124+
- Updated dependencies [8813b90]
125+
- Updated dependencies [8f1851e]
126+
- Updated dependencies [b4b2c7d]
127+
- Updated dependencies [61ea810]
128+
- Updated dependencies [66d99ec]
129+
- Updated dependencies [cb43296]
130+
- Updated dependencies [91eddca]
131+
- Updated dependencies [b61afc1]
132+
- Updated dependencies [9b2d720]
133+
- Updated dependencies [95ef5c0]
134+
- Updated dependencies [97b6658]
135+
- Updated dependencies [0410522]
136+
- Updated dependencies [814db6d]
137+
- Updated dependencies [8dd98bf]
138+
- Updated dependencies [8a9c079]
139+
- Updated dependencies [cc3555e]
140+
- Updated dependencies [ea936f3]
141+
- Updated dependencies [69ac82c]
142+
- Updated dependencies [833ed84]
143+
- Updated dependencies [a18abf3]
144+
- Updated dependencies [86d2e5e]
145+
- Updated dependencies [c6a4eeb]
146+
- Updated dependencies [f450ae7]
147+
- Updated dependencies [5326b36]
148+
- Updated dependencies [e124711]
149+
- Updated dependencies [3bb9340]
150+
- Updated dependencies [9d4dfc4]
151+
- Updated dependencies [1059965]
152+
- Updated dependencies [ee264b2]
153+
- Updated dependencies [60b672e]
154+
- Updated dependencies [e654bfd]
155+
- Updated dependencies [6e6c872]
156+
- Updated dependencies [fa5758e]
157+
- Updated dependencies [ecf0bef]
158+
- Updated dependencies [3da3da5]
159+
- Updated dependencies [a0fdc56]
160+
- Updated dependencies [0dcbc11]
161+
- Updated dependencies [d88f3e9]
162+
- Updated dependencies [b9f930b]
163+
- Updated dependencies [289d04a]
164+
- Updated dependencies [c9b809f]
165+
- Updated dependencies [32386f8]
166+
- Updated dependencies [a1dd1e4]
167+
- @objectstack/runtime@17.0.0-rc.7
168+
- @objectstack/spec@17.0.0-rc.7
169+
3170
## 4.0.92-rc.5
4171

5172
### Patch Changes

examples/app-crm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-crm",
3-
"version": "4.0.92-rc.5",
3+
"version": "4.0.92-rc.6",
44
"description": "Minimal CRM example — a smoke-test workspace that exercises the metadata loading pipeline (objects → views → app → dashboard → hook → flow → seed). For a full-featured enterprise CRM see https://github.com/objectstack-ai/hotcrm.",
55
"license": "Apache-2.0",
66
"private": true,

0 commit comments

Comments
 (0)