@alliance-droid/status-feedback-system 2.3.2 → 3.0.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/CHANGELOG.md CHANGED
@@ -1,67 +1,78 @@
1
- # Changelog
2
-
3
- ## 2.3.2
4
-
5
- ### Changed
6
-
7
- - `<DevFeedback>` *Report Bug* form: when the consumer app's render-token endpoint is unreachable or returns an error, the form now shows paste-screenshot instructions ("Paste a screenshot to attach one — capture with ⌘⇧4 / Win+Shift+S, then ⌘V / Ctrl+V into the description") instead of the dead-end "Screenshot setup failed / Retry" panel. The previous panel offered a Retry button that could never succeed when the endpoint was simply not configured.
8
-
9
- ## 2.3.1
10
-
11
- ### Fixed
12
-
13
- - `<FeedbackSubmitForm>` paste-to-attach was missing from 2.3.0 (commit didn't land on main before merge). Now included.
14
-
15
- ## 2.3.0
16
-
17
- ### Added
18
-
19
- - `<FeedbackBoard>` submit form and reply threads: paste a screenshot from clipboard (Cmd/Ctrl+V) into the textarea. Pasted images are sent to the server as `metadata.pastedScreenshot` (submit form) or `pastedImage` (reply). Existing responses with `imageUrl` render inline on reload.
20
- - `FeedbackResponse.imageUrl` field for persisted image rendering.
21
-
22
- ## 2.2.0
23
-
24
- ### Added
25
-
26
- - `<DevFeedback>` *Report Bug* form: paste a screenshot from clipboard (Cmd/Ctrl+V) into the description textarea. Pasted images attach to the resulting ADO work item. When both a pasted image and a server-side capture are available, the pasted image wins.
27
- - `<PasteImageInput>` shared component exported from the package root for consumers that want to build their own paste-to-attach inputs.
28
-
29
- ## 2.0.0
30
-
31
- ### Breaking Changes
32
-
33
- - `userEmail` prop on `DevFeedback` is now **required** (was optional). Pass the authenticated user's email; pass an empty string when no user is signed in.
34
- - Widget renders nothing (no bubble, no context menu) when `userEmail` is empty. The previous lock-screen UI for unauthenticated users is removed.
35
- - Anonymous feedback submission is no longer possible through the widget.
36
-
37
- ### Added
38
-
39
- - Dev-mode console warning when `userEmail` is empty, to surface misconfigurations in consumer apps.
40
-
41
- ## 1.3.0
42
-
43
- - Add composable FeedbackBoard components (FeedbackSidebar, FeedbackList, FeedbackItem, FeedbackDetail, FeedbackSubmitForm)
44
- - Add `createFeedbackBoard()` reactive state manager
45
- - Add voting and response support to board API client
46
- - Add FeedbackBoard all-in-one component
47
-
48
- ## 1.2.0
49
-
50
- - Add DevFeedback component (auto-detect dev/staging, right-click context menu, screenshot capture)
51
- - Add DevOnboardingToast for first-time setup
52
- - Add environment detection utilities
53
-
54
- ## 1.1.0
55
-
56
- - Add FeedbackButton component (floating feedback trigger)
57
- - Add StatusBanner component (compact status bar)
58
- - Add public feedback board API methods (getBoard, vote, getResponses)
59
-
60
- ## 1.0.0
61
-
62
- - Initial release
63
- - StatusPage component (self-fetching and pass-through modes)
64
- - FeedbackForm component
65
- - Shared components: StatusIndicator, UptimeBar, IncidentTimeline, SystemCard
66
- - API client: createStatusClient()
67
- - Full TypeScript types
1
+ # Changelog
2
+
3
+ ## 3.0.0
4
+
5
+ ### Changed (BREAKING)
6
+
7
+ - `<DevFeedback>` no longer auto-detects the environment. The `enabled` prop is now **required** and is the single gate: the widget shows only when `enabled` is `true` and `userEmail` is non-empty. Wire `enabled` to your own rule — typically a role/permission check (e.g. `enabled={userHasFeedbackRole}`). The `PUBLIC_FEEDBACK_ENABLED` env var and the localhost / `*.local` / Vercel-preview heuristics are removed.
8
+ - Activation is now reactive: a role check that resolves after mount arms the widget, and disabling it tears the listeners back down.
9
+
10
+ ### Migration
11
+
12
+ - Replace environment / `PUBLIC_FEEDBACK_ENABLED` enabling with an explicit `enabled`. For "dev only", pass `enabled={import.meta.env.DEV}` (or your framework's dev flag). For role-based access, see [docs/role-based-access.md](docs/role-based-access.md).
13
+
14
+ ## 2.3.2
15
+
16
+ ### Changed
17
+
18
+ - `<DevFeedback>` *Report Bug* form: when the consumer app's render-token endpoint is unreachable or returns an error, the form now shows paste-screenshot instructions ("Paste a screenshot to attach one — capture with ⌘⇧4 / Win+Shift+S, then ⌘V / Ctrl+V into the description") instead of the dead-end "Screenshot setup failed / Retry" panel. The previous panel offered a Retry button that could never succeed when the endpoint was simply not configured.
19
+
20
+ ## 2.3.1
21
+
22
+ ### Fixed
23
+
24
+ - `<FeedbackSubmitForm>` paste-to-attach was missing from 2.3.0 (commit didn't land on main before merge). Now included.
25
+
26
+ ## 2.3.0
27
+
28
+ ### Added
29
+
30
+ - `<FeedbackBoard>` submit form and reply threads: paste a screenshot from clipboard (Cmd/Ctrl+V) into the textarea. Pasted images are sent to the server as `metadata.pastedScreenshot` (submit form) or `pastedImage` (reply). Existing responses with `imageUrl` render inline on reload.
31
+ - `FeedbackResponse.imageUrl` field for persisted image rendering.
32
+
33
+ ## 2.2.0
34
+
35
+ ### Added
36
+
37
+ - `<DevFeedback>` *Report Bug* form: paste a screenshot from clipboard (Cmd/Ctrl+V) into the description textarea. Pasted images attach to the resulting ADO work item. When both a pasted image and a server-side capture are available, the pasted image wins.
38
+ - `<PasteImageInput>` shared component exported from the package root for consumers that want to build their own paste-to-attach inputs.
39
+
40
+ ## 2.0.0
41
+
42
+ ### Breaking Changes
43
+
44
+ - `userEmail` prop on `DevFeedback` is now **required** (was optional). Pass the authenticated user's email; pass an empty string when no user is signed in.
45
+ - Widget renders nothing (no bubble, no context menu) when `userEmail` is empty. The previous lock-screen UI for unauthenticated users is removed.
46
+ - Anonymous feedback submission is no longer possible through the widget.
47
+
48
+ ### Added
49
+
50
+ - Dev-mode console warning when `userEmail` is empty, to surface misconfigurations in consumer apps.
51
+
52
+ ## 1.3.0
53
+
54
+ - Add composable FeedbackBoard components (FeedbackSidebar, FeedbackList, FeedbackItem, FeedbackDetail, FeedbackSubmitForm)
55
+ - Add `createFeedbackBoard()` reactive state manager
56
+ - Add voting and response support to board API client
57
+ - Add FeedbackBoard all-in-one component
58
+
59
+ ## 1.2.0
60
+
61
+ - Add DevFeedback component (auto-detect dev/staging, right-click context menu, screenshot capture)
62
+ - Add DevOnboardingToast for first-time setup
63
+ - Add environment detection utilities
64
+
65
+ ## 1.1.0
66
+
67
+ - Add FeedbackButton component (floating feedback trigger)
68
+ - Add StatusBanner component (compact status bar)
69
+ - Add public feedback board API methods (getBoard, vote, getResponses)
70
+
71
+ ## 1.0.0
72
+
73
+ - Initial release
74
+ - StatusPage component (self-fetching and pass-through modes)
75
+ - FeedbackForm component
76
+ - Shared components: StatusIndicator, UptimeBar, IncidentTimeline, SystemCard
77
+ - API client: createStatusClient()
78
+ - Full TypeScript types
package/LICENSE CHANGED
@@ -1,11 +1,11 @@
1
- Copyright (c) 2026 Alliance Technical Group. All rights reserved.
2
-
3
- This software and associated documentation files (the "Software") are the
4
- proprietary property of Alliance Technical Group. No part of the Software may
5
- be reproduced, distributed, or transmitted in any form or by any means,
6
- including photocopying, recording, or other electronic or mechanical methods,
7
- without the prior written permission of Alliance Technical Group.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1
+ Copyright (c) 2026 Alliance Technical Group. All rights reserved.
2
+
3
+ This software and associated documentation files (the "Software") are the
4
+ proprietary property of Alliance Technical Group. No part of the Software may
5
+ be reproduced, distributed, or transmitted in any form or by any means,
6
+ including photocopying, recording, or other electronic or mechanical methods,
7
+ without the prior written permission of Alliance Technical Group.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.