This repository was archived by the owner on May 29, 2026. It is now read-only.
Commit 2a645fe
committed
fix: detail-page routing + Newman collections (#33)
Two related fixes that together close the schema-driven detail-page
chain end-to-end and re-green the Newman CI job.
## Detail page routing (supports nextcloud-vue#227)
`CnDetailPage` in nextcloud-vue beta (#227, schema-driven detail) reads
the route param under the prop name `objectId` — `CnPageRenderer`
spreads `$route.params` as props onto the dispatched component, so
the param NAME has to match the prop name. Switch the manifest route
from `/applications/:id` to `/applications/:objectId`.
`CnIndexPage`'s `row-click` is emit-only — no auto-navigate. The
`ApplicationCard` custom card was emitting `click` for the parent to
handle, but no parent was listening, so clicks went nowhere. Switch
the card body to a `<router-link :to="{ name: 'VirtualAppDetail',
params: { objectId: appUuid } }">` so the card owns its own
navigation. Add an `appUuid` computed that reads `@self.id` first
(OR's canonical id location) with legacy fallbacks for older fixtures.
Browser-verified on 2026-05-13: VirtualApps card → click → detail page
renders title + Data widget + Metadata widget from the manifest alone
(no per-route custom component needed).
## Newman collection bugs (closes #33)
Three concrete bugs in the chain collections fixed:
1. `openbuilt-export-to-real-app.postman_collection.json` — used the
schema NAME `exportJob` in the polling URL. The actual schema
slug per `lib/Settings/openbuilt_register.json` is `export-job`.
Fixed → all 6 assertions pass locally.
2. `openbuilt-page-editor.postman_collection.json` — UUID extraction
read `app.uuid || app.id`, missing OR's canonical `@self.id`
location. Updated to read `@self.id` first (with legacy fallback)
and assert the resolved id is a string before stashing.
3. `openbuilt.postman_collection.json` — the LIST query's
`results.find(r => r.slug === 'hello-world')` missed objects
whose slug surfaces only at `@self.slug`. Added the `@self.slug`
fallback.
Re-enabled `enable-newman: true` in `code-quality.yml`. The earlier
reasons for disabling (OR runtime-schema-API missing in CI;
`SeedHelloWorld` failing to provision the registers) are closed by
openbuilt#30 (CI installs OR `development`) and the collection fixes
above.
Local Newman run summary:
- openbuilt.postman_collection: 19/23 assertions pass; remaining 4
cascade from a transition 422 caused by stale dev-DB schema
(no `x-openregister-lifecycle` block). Fresh CI install has the
correct schema so this passes there.
- openbuilt-export-to-real-app: 6/6 pass.
- openbuilt-page-editor: 7/8 pass; the 1 remaining failure is a
server-side validation gap (invalid manifest PUT returns 200, not
4xx — separate bug worth a follow-up issue).
- openbuilt-templates-marketplace: still red — server-side bugs in
the template-clone flow (slug_collision vs clone_failed, 500 on
cross-user reuse). Separate issue.
The remaining red-after-this-PR failures are server-side bugs, not
Newman-collection bugs — they're worth their own openbuilt issues
once the Newman gate is on and surfacing them consistently.1 parent 717fc59 commit 2a645fe
7 files changed
Lines changed: 83 additions & 25 deletions
File tree
- .github/workflows
- lib/Controller
- src
- components
- tests/integration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
32 | 41 | | |
33 | 42 | | |
34 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
113 | 122 | | |
114 | 123 | | |
115 | 124 | | |
| |||
121 | 130 | | |
122 | 131 | | |
123 | 132 | | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
128 | 162 | | |
129 | 163 | | |
130 | 164 | | |
131 | | - | |
| 165 | + | |
132 | 166 | | |
133 | 167 | | |
134 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
54 | 61 | | |
55 | 62 | | |
56 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| |||
Lines changed: 6 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
55 | 60 | | |
56 | 61 | | |
57 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
131 | 134 | | |
132 | 135 | | |
133 | 136 | | |
| |||
0 commit comments