@spree/docs 0.1.262 → 0.1.264

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.
@@ -12,7 +12,7 @@ Webhooks are built on top of Spree's [event system](events.md), providing:
12
12
  - **Multi-store support** - Each store has its own webhook endpoints
13
13
  - **Event filtering** - Subscribe to specific events or patterns with wildcards
14
14
  - **Secure delivery** - HMAC-SHA256 signatures for payload verification
15
- - **Failure handling** - Failed deliveries are recorded and can be re-sent, and an endpoint that keeps failing is disabled
15
+ - **Failure handling** - Failed deliveries are retried automatically and can be re-sent by hand, and an endpoint that keeps failing is disabled
16
16
  - **Full audit trail** - Track every delivery attempt with response codes and timing
17
17
 
18
18
  ## How Webhooks Work
@@ -269,7 +269,9 @@ end
269
269
 
270
270
  ### Failed Deliveries
271
271
 
272
- Spree sends each delivery once. Any response other than 2xx — including a timeout or a connection error — marks the delivery as failed, and Spree does not send it again on its own. To send a failed delivery again, re-send it from the delivery log (see below).
272
+ Any response other than 2xx — including a timeout or a connection error — marks the delivery as failed. Spree then sends it again, waiting longer before each try, up to 5 attempts in total over about six minutes. The delivery log shows the outcome of the latest attempt. Retries stop as soon as the endpoint is turned off.
273
+
274
+ Every attempt carries the same event `id`, so use it to ignore an event your receiver has already processed. To send a delivery again after the retries run out, re-send it from the delivery log (see below).
273
275
 
274
276
  If an endpoint fails 15 deliveries in a row, Spree disables it and emails the store staff. Fix the endpoint, then turn it back on by marking it active again.
275
277
 
@@ -68,7 +68,7 @@ import { usePermissions } from '@spree/dashboard'
68
68
 
69
69
  function AdminOnlyMenuItem() {
70
70
  const { permissions } = usePermissions()
71
- if (!permissions.can('manage', 'Spree::User')) return null
71
+ if (!permissions.can('manage', 'Spree::Customer')) return null
72
72
  return <DropdownMenuItem>…</DropdownMenuItem>
73
73
  }
74
74
  ```
@@ -229,6 +229,17 @@ import { spreeDashboardPlugin } from '@spree/dashboard/vite' // Vite plugin: Ta
229
229
  import '@spree/dashboard/styles.css' // the app's CSS entry
230
230
  ```
231
231
 
232
+ A host app that builds its own sign-in or onboarding screens, rather than mounting `<Dashboard />`, can reuse the dashboard's building blocks one module at a time without pulling in the app shell:
233
+
234
+ ```ts
235
+ import { AuthShell } from '@spree/dashboard/components/spree/auth-shell' // two-column sign-in layout
236
+ import { StoreSetupFields } from '@spree/dashboard/components/spree/store-setup-fields' // store name, country, language, currency
237
+ import { useAuthProviders, authCallbackErrorKey } from '@spree/dashboard/hooks/use-auth-providers' // password + SSO options, SSO error copy
238
+ import { loginFormSchema, resetPasswordFormSchema } from '@spree/dashboard/schemas/auth' // Zod schemas for the auth forms
239
+ ```
240
+
241
+ Their translations ship with `@spree/dashboard-core`, so they render translated as soon as its i18n instance is loaded.
242
+
232
243
  A few names exist in both re-exported packages — the design system ships a presentational component and the framework wraps it with data (`ResourceCombobox`, `StatusCard`, `Slot`, `DateRange`, `ResourceMultiAutocomplete`). The facade gives you the framework's version, which is the one an application wants. Reach past it when you want the presentational half:
233
244
 
234
245
  ```ts
@@ -63,7 +63,7 @@ When the consumer is a system you do not deploy your own code into, use a webhoo
63
63
 
64
64
  Each delivery is an HTTP POST carrying the event name and the same serialized payload. The endpoint's **signing secret is shown once when you create it**: store it in the receiving system and verify every request against it, so the receiver can prove the call came from your store.
65
65
 
66
- Deliveries are retried with exponential backoff, and the dashboard shows the attempt history per endpoint, which is where to look when a third party says they never received something.
66
+ Failed deliveries are retried with increasing delays, and the dashboard shows the delivery history per endpoint, which is where to look when a third party says they never received something.
67
67
 
68
68
  > **TIP:** Webhooks need no code in your app at all. Reach for a subscriber only when the reaction needs application context or credentials you would rather not hand to a third party. See [events](../core-concepts/events.md) and [webhooks](../core-concepts/webhooks.md).
69
69
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spree/docs",
3
- "version": "0.1.262",
3
+ "version": "0.1.264",
4
4
  "description": "Spree Commerce developer documentation for AI agents and local reference",
5
5
  "type": "module",
6
6
  "license": "CC-BY-4.0",