@wix/himalaya-cli 0.1155.0 → 0.1156.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/app-config.d.ts +16 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/app-module.d.ts +14 -6
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/provisioning-facts.d.ts +7 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/define-app.d.ts +8 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/wix-push-links.d.ts +81 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/sdui.mjs +9 -2
- package/dist/cli.mjs +2165 -1604
- package/guides/getting-started.md +3 -2
- package/guides/himi-skill.md +3 -2
- package/guides/push-cli-onboarding.md +82 -12
- package/guides/wix-site-to-himi-app.md +5 -0
- package/package.json +2 -2
|
@@ -324,8 +324,9 @@ Keys are transmitted to the authenticated backend for Branded/Ping custody, not
|
|
|
324
324
|
project settings or output. Enter Later to defer and continue building.
|
|
325
325
|
|
|
326
326
|
`notify status` is read-only and needs no key files; `--refresh` checks providers live.
|
|
327
|
-
Backend readiness does not prove notification delivery.
|
|
328
|
-
|
|
327
|
+
Backend readiness does not prove notification delivery. A successful setup turns push on in
|
|
328
|
+
`config.ts` (the Ping family included; notification routes are derived at every build); it does
|
|
329
|
+
not build a binary, register a device or send a notification.
|
|
329
330
|
Continue building and publishing app content. For a customer push test, use the
|
|
330
331
|
`himi dist --signing byo` flow below with existing signing assets and matching native configuration.
|
|
331
332
|
The default Wix-managed binary does not match the customer's Apple identity. After an uncertain
|
package/guides/himi-skill.md
CHANGED
|
@@ -353,8 +353,9 @@ Keys are transmitted to the authenticated backend for Branded/Ping custody, not
|
|
|
353
353
|
project settings or output. Enter Later to defer and continue building.
|
|
354
354
|
|
|
355
355
|
`notify status` is read-only and needs no key files; `--refresh` checks providers live.
|
|
356
|
-
Backend readiness does not prove notification delivery.
|
|
357
|
-
|
|
356
|
+
Backend readiness does not prove notification delivery. A successful setup turns push on in
|
|
357
|
+
`config.ts` (the Ping family included; notification routes are derived at every build); it does
|
|
358
|
+
not build a binary, register a device or send a notification.
|
|
358
359
|
Continue building and publishing app content. For a customer push test, use the
|
|
359
360
|
`himi dist --signing byo` flow below with existing signing assets and matching native configuration.
|
|
360
361
|
The default Wix-managed binary does not match the customer's Apple identity. After an uncertain
|
|
@@ -45,7 +45,8 @@ himi notify setup --content ./liftgear --target wix \
|
|
|
45
45
|
The APNs environment must match the signed app. The Android package must match its
|
|
46
46
|
Firebase client configuration; it need not equal the iOS bundle ID. Existing public
|
|
47
47
|
bindings come from `provisioning.json`; flags override them. Keep the build configuration
|
|
48
|
-
aligned with the selections.
|
|
48
|
+
aligned with the selections. A successful setup turns push on in `config.ts` (see
|
|
49
|
+
[Native push configuration](#native-push-configuration)); the command never builds a binary.
|
|
49
50
|
|
|
50
51
|
To also request Apple signing resources, add `--apple-signing`, `--asc-key-file`,
|
|
51
52
|
`--asc-key-id`, and `--asc-issuer-id`. The App Store Connect key is separate from the
|
|
@@ -82,13 +83,26 @@ repeats the provisioning POST automatically. Inspect status before retrying.
|
|
|
82
83
|
After setup, continue normal app development, validation, publish/preview/promote and
|
|
83
84
|
native distribution. Native push configuration, member authentication, device-token
|
|
84
85
|
registration and a delivery/tap test are still required; for the test, see
|
|
85
|
-
[Send a test notification](#send-a-test-notification). Setup
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
[Send a test notification](#send-a-test-notification). Setup turns push on in the app's
|
|
87
|
+
`config.ts` and picks the Ping family there (see
|
|
88
|
+
[Native push configuration](#native-push-configuration)); it does not send notifications or
|
|
89
|
+
verify phone delivery.
|
|
88
90
|
|
|
89
91
|
## Native push configuration
|
|
90
92
|
|
|
91
|
-
|
|
93
|
+
Once the setup is accepted (`ready`, or still `provisioning`), `himi notify setup` turns push on in
|
|
94
|
+
the app's own `config.ts`, once. Until it is on, the command does not report success.
|
|
95
|
+
It adds only what is missing and leaves what you wrote alone:
|
|
96
|
+
|
|
97
|
+
- a `push` block with no `routes`;
|
|
98
|
+
- `"push"` in `capabilities`;
|
|
99
|
+
- `siteId` in a `WixConsumerAuthProvider({ … })` login that has none.
|
|
100
|
+
|
|
101
|
+
It saves the original to `.himi/notify-setup-backup/`, checks the edit with
|
|
102
|
+
`himi validate --strict`, and puts the original back if the edit introduced an error. What it
|
|
103
|
+
cannot add safely, such as a login that is not a Wix member login or a `push` block of your own,
|
|
104
|
+
it prints as an instruction instead. `--dry-run` shows the planned edit without writing it, and
|
|
105
|
+
a second run changes nothing. The result:
|
|
92
106
|
|
|
93
107
|
```ts
|
|
94
108
|
auth: WixConsumerAuthProvider({
|
|
@@ -99,15 +113,12 @@ auth: WixConsumerAuthProvider({
|
|
|
99
113
|
bootAsVisitor: true,
|
|
100
114
|
}),
|
|
101
115
|
capabilities: ["push" /* , … */],
|
|
116
|
+
// Routes are derived at build time from provisioning.json and your screens; see himi validate.
|
|
102
117
|
push: {
|
|
103
118
|
registrar: "wix-ping",
|
|
104
119
|
pingAppName: "WixBrandedWebApp",
|
|
105
120
|
requestPermissionOnLaunch: true,
|
|
106
121
|
payloadAdapter: "wix-ping",
|
|
107
|
-
routes: [
|
|
108
|
-
{ match: "my-account/:site/stores/orders/:orderId",
|
|
109
|
-
link: "<scheme>://screen/<order-screen>?id={orderId}" },
|
|
110
|
-
],
|
|
111
122
|
},
|
|
112
123
|
```
|
|
113
124
|
|
|
@@ -119,13 +130,72 @@ push: {
|
|
|
119
130
|
Keep `siteId` in `auth` on the site `himi notify setup` configured. A changed `siteId` or
|
|
120
131
|
`clientId` ships with `himi push` like the rest of the config, and the app picks it up on
|
|
121
132
|
its next launch; until then iOS stops registering rather than register the old site.
|
|
122
|
-
|
|
123
|
-
link shape. A notification whose link matches no route opens the app without navigating.
|
|
124
|
-
`himi validate` warns when a route names a screen the app does not declare.
|
|
133
|
+
`himi validate` reports `push-auth-site` when the login is not a member login on that site.
|
|
125
134
|
- The `push` block ships with `himi push`; changing it needs no new binary. The binary still
|
|
126
135
|
has to carry the push entitlement: the `branded-lite` shell requests it, and the signing
|
|
127
136
|
profile must grant `aps-environment` (see the QA build notes below).
|
|
128
137
|
|
|
138
|
+
### Notification routes
|
|
139
|
+
|
|
140
|
+
Routes turn the Wix links inside notifications into the app's screens. When the `push` block
|
|
141
|
+
has no `routes` and `provisioning.json` lists the site's verticals (`himi site analyze --apply`
|
|
142
|
+
writes them), every build (`himi run`, `himi validate` and `himi push`) derives the routes from
|
|
143
|
+
the app's linkable screens: `navigation.linkableScreens`, or every screen when it lists none.
|
|
144
|
+
|
|
145
|
+
Routes are never written into `config.ts`, so adding or renaming a screen needs only the next
|
|
146
|
+
build. A notification gets a route only when its screen is certain: the screen `push.screens`
|
|
147
|
+
names, or else the destination's canonical screen id. Template apps already use those ids. The
|
|
148
|
+
site's verticals decide which destinations `himi validate` expects a screen for.
|
|
149
|
+
|
|
150
|
+
| Destination | Site vertical | Canonical screen | Opens |
|
|
151
|
+
|---|---|---|---|
|
|
152
|
+
| `store.order` | `store` | `himi_order` | the order |
|
|
153
|
+
| `bookings.session` | `bookings` | `himi_bookings` | the member's bookings |
|
|
154
|
+
| `groups.post` | `groups` | `himi_group` | the group |
|
|
155
|
+
| `forum.thread` | `forum` | `himi_forum_post` | the post |
|
|
156
|
+
| `forum.create` | `forum` | `himi_create_post` | the new-post screen |
|
|
157
|
+
| `blog.post` | `blog` | `himi_blog_post` | the post |
|
|
158
|
+
| `members.profile` | `members` | `himi_member` | the member |
|
|
159
|
+
| `events.event` | `events` | `himi_event` | the event |
|
|
160
|
+
| `galleries.shared` | `galleries` | `himi_galleries` | the gallery list |
|
|
161
|
+
| `galleries.album` | `galleries` | `himi_photo_album` | the album |
|
|
162
|
+
| `notifications.list` | `notifications` | `himi_notifications` | the notifications list |
|
|
163
|
+
|
|
164
|
+
For screens with other ids, name them in `push.screens`. It is for authoring only and is never
|
|
165
|
+
served:
|
|
166
|
+
|
|
167
|
+
```ts
|
|
168
|
+
push: {
|
|
169
|
+
// …
|
|
170
|
+
screens: {
|
|
171
|
+
"store.order": "my_order",
|
|
172
|
+
"bookings.session": "my_bookings",
|
|
173
|
+
"blog.post": { screenId: "article", paramKey: "slug" },
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
A screen that opens one item gets its id in the param named `id` when its linkable screen
|
|
179
|
+
declares one, otherwise in its only declared param key. When it declares several, name the one it
|
|
180
|
+
reads with `paramKey`. The key has to be one of the screen's `paramKeys`: a shell passes a screen
|
|
181
|
+
only the params its linkable screen declares.
|
|
182
|
+
|
|
183
|
+
`himi validate` lists, without failing even under `--strict`, each destination the site has that
|
|
184
|
+
no screen takes, with the fix, and the verticals Wix sends no member notification links for.
|
|
185
|
+
|
|
186
|
+
To write the table yourself, declare `routes`. A declared table, even an empty one, is used as
|
|
187
|
+
is:
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
routes: [
|
|
191
|
+
{ match: "my-account/:site/stores/orders/:orderId",
|
|
192
|
+
link: "<scheme>://screen/<order-screen>?id={orderId}" },
|
|
193
|
+
],
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
A notification whose link matches no route opens the app without navigating. `himi validate`
|
|
197
|
+
warns when a declared route names a screen the app does not declare.
|
|
198
|
+
|
|
129
199
|
**Customer push QA builds use `himi dist --signing byo`.** After publishing an approved
|
|
130
200
|
release, use a backend and reachable runner source that support the customer-signing flow.
|
|
131
201
|
Use the app owner's account for both logins and explicitly select the deployed customer target:
|
|
@@ -217,6 +217,11 @@ images stay as `static.wixstatic.com` URLs in descriptors — do not vendor
|
|
|
217
217
|
literals (`HIMALAYA.md` copy rule).
|
|
218
218
|
- **Auth** — `wix-consumer`; boot visitor unless a job needs members.
|
|
219
219
|
`himi docs wix-login-integration`. Members are **site members**.
|
|
220
|
+
- **Notifications** — give each vertical's detail screen its canonical id (`himi_order`,
|
|
221
|
+
`himi_event`, `himi_forum_post`, …) or name it in `push.screens`, and list it in
|
|
222
|
+
`navigation.linkableScreens` with the param it reads. After `himi notify setup`, every build
|
|
223
|
+
derives the notification routes from `provisioning.json` and those screens; `himi validate`
|
|
224
|
+
lists the ones still unrouted. `himi docs push-cli-onboarding`.
|
|
220
225
|
|
|
221
226
|
### 5. Prove it, then ship
|
|
222
227
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1156.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
|
|
6
6
|
"keywords": [
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"artifactId": "himalaya-cli"
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
|
-
"falconPackageHash": "
|
|
70
|
+
"falconPackageHash": "5d6bcf8d364821a37f27c35e0d3c50376b277479f44cc1e94d5c6729"
|
|
71
71
|
}
|