@alliance-droid/status-feedback-system 4.1.0 → 4.1.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.1.1
4
+
5
+ ### Fixed
6
+
7
+ - `<FeedbackSidebar>`: removed the divider between the **Status** and **Sort By** selects so they read as one filter group, and gave the group consistent padding (`px-5 py-2` + `space-y-3`) so the labels line up with the "All" filter above and the dropdowns aren't flush to the rail edge. Styling only — no behavior change.
8
+
9
+ ### Changed
10
+
11
+ - Raised the `@alliance-droid/svelte-component-library` peer dependency to `>=1.3.2`. Earlier versions (e.g. 1.1.21) are incompatible with Svelte `5.56+` and trigger `target.exclude.has is not a function` when board components render. Consumers should be on `1.3.2` or later.
12
+
13
+ ## 4.1.0
14
+
15
+ ### Added
16
+
17
+ - `createAuthTokenGetter(options?)` — a shared client accessor for the bearer token the board's status controls send (the `getAuthToken` for `createFeedbackBoard`). Fetches a same-origin token endpoint (`/auth/access-token` by default), caches until just before expiry, single-flights, and returns `null` on failure. Replaces the per-app copy of this helper.
18
+
19
+ ## 4.0.3
20
+
21
+ ### Fixed
22
+
23
+ - Board status: the transitions read (`GET /api/board/feedback/[id]/transitions`) now returns `200` with `{ canManage: false, targets: [] }` for signed-in users without management rights, instead of `403` — keeping the browser console clean. The client gates the status control on `canManage`. (Requires the matching `status-feedback-admin` deploy.)
24
+
25
+ ## 4.0.2
26
+
27
+ ### Fixed
28
+
29
+ - The status control is shown only to users the backend actually authorizes (Admin / ProductOwner), resolved via a one-time privilege probe — not merely whenever a `getAuthToken` getter is provided.
30
+
31
+ ## 4.0.1
32
+
33
+ ### Fixed
34
+
35
+ - Corrected the `getAuthToken` token-type docs to specify an **access token** scoped to `status-feedback-admin` (an id token is rejected by the backend).
36
+ - `loadMore` failures are now surfaced (`board.loadMoreError`) with a Retry instead of failing silently.
37
+
38
+ ## 4.0.0
39
+
40
+ ### Added
41
+
42
+ - **Inline status management**: signed-in Admin / ProductOwner users can change a feedback item's status from the board (status badge → menu), via a `getAuthToken` bearer-token bridge to the `status-feedback-admin` backend. Authorization (per-project access + the status state machine, with reason prompts on declines/reopens) is enforced server-side.
43
+
44
+ ### Changed (BREAKING)
45
+
46
+ - Removed the all-in-one `FeedbackBoard` component. Compose the board from the exported parts instead — `createFeedbackBoard` + `FeedbackSidebar` / `FeedbackList` / `FeedbackDetail` / `FeedbackSubmitForm`. See [docs/custom-feedback-integration.md](docs/custom-feedback-integration.md).
47
+ - Feedback categories are system-owned (**Bug** / **Feature Request**): `<FeedbackSubmitForm>` no longer accepts a `categories` prop and the board no longer accepts `submitCategories`. Use `categoryConfig` to relabel / add icons.
48
+
3
49
  ## 3.0.0
4
50
 
5
51
  ### Changed (BREAKING)
@@ -60,24 +60,19 @@
60
60
 
61
61
  <Divider class="my-2" />
62
62
 
63
- <div class="space-y-3">
64
- <div class="mx-4">
65
- <Select
66
- label="Status"
67
- class="rounded-lg border-0 bg-surface-hover"
68
- options={statusOptions}
69
- bind:value={board.statusFilter}
70
- />
71
- </div>
72
- <Divider class="my-2" />
73
- <div class="mx-4">
74
- <Select
75
- label="Sort By"
76
- class="rounded-lg border-0 bg-surface-hover"
77
- options={sortOptions}
78
- bind:value={board.sortBy}
79
- />
80
- </div>
63
+ <div class="space-y-3 px-5 py-2">
64
+ <Select
65
+ label="Status"
66
+ class="rounded-lg border-0 bg-surface-hover"
67
+ options={statusOptions}
68
+ bind:value={board.statusFilter}
69
+ />
70
+ <Select
71
+ label="Sort By"
72
+ class="rounded-lg border-0 bg-surface-hover"
73
+ options={sortOptions}
74
+ bind:value={board.sortBy}
75
+ />
81
76
  </div>
82
77
  </aside>
83
78
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alliance-droid/status-feedback-system",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "type": "module",
5
5
  "description": "Drop-in system status pages and user feedback forms for SvelteKit apps",
6
6
  "svelte": "./dist/index.js",
@@ -25,11 +25,11 @@
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "peerDependencies": {
28
- "@alliance-droid/svelte-component-library": ">=1.0.0",
29
- "svelte": "^5.0.0"
28
+ "@alliance-droid/svelte-component-library": ">=1.3.2",
29
+ "svelte": "^5.48.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@alliance-droid/svelte-component-library": "^1.0.5",
32
+ "@alliance-droid/svelte-component-library": "^1.3.2",
33
33
  "@eslint/js": "^10.0.1",
34
34
  "@sveltejs/package": "^2.3.0",
35
35
  "@sveltejs/vite-plugin-svelte": "^6.0.0",