@limekex/bugreport-widget-sdk 0.2.0 โ†’ 0.2.2

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/README.md CHANGED
@@ -1,11 +1,21 @@
1
- # @bugreport/widget-sdk
1
+ # @limekex/bugreport-widget-sdk
2
2
 
3
3
  Reusable browser SDK for embedding the Stage Bug Reporter widget into staging/UAT applications.
4
4
 
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @limekex/bugreport-widget-sdk
9
+ # or
10
+ pnpm add @limekex/bugreport-widget-sdk
11
+ # or
12
+ yarn add @limekex/bugreport-widget-sdk
13
+ ```
14
+
5
15
  ## Usage
6
16
 
7
17
  ```ts
8
- import { initBugReporter } from '@bugreport/widget-sdk';
18
+ import { initBugReporter } from '@limekex/bugreport-widget-sdk';
9
19
 
10
20
  initBugReporter({
11
21
  apiBaseUrl: 'https://bugreport.betait.no',
@@ -14,10 +24,11 @@ initBugReporter({
14
24
  appVersion: '1.2.3',
15
25
  commitSha: process.env.VITE_COMMIT_SHA,
16
26
  currentUser: { id: 'tester-001', email: 'tester@example.com', role: 'qa' },
27
+ requireAuth: true, // Optional: require testers to log in
17
28
  });
18
29
  ```
19
30
 
20
- This injects a floating **๐Ÿ› Report bug** button into the page. Clicking it opens the bug report modal (placeholder).
31
+ This injects a floating **๐Ÿ› Report bug** button into the page. Clicking it opens the bug report modal.
21
32
 
22
33
  ## Config
23
34
 
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * Lightweight console error capture utility.
3
3
  *
4
- * Hooks into `console.error` for the lifetime of the current page to collect
5
- * recent errors. This data is attached to bug reports as `optionalClientErrors`.
4
+ * Captures errors from multiple sources:
5
+ * - Explicit `console.error()` calls
6
+ * - Uncaught exceptions (via window.onerror)
7
+ * - Unhandled promise rejections
8
+ *
9
+ * This data is attached to bug reports as `optionalClientErrors`.
6
10
  *
7
11
  * Privacy rules (from docs/TECHNICAL_SPEC.md):
8
12
  * - Only errors from the *current page lifetime* are captured.
@@ -17,7 +21,10 @@ export interface CapturedError {
17
21
  timestamp: string;
18
22
  }
19
23
  /**
20
- * Installs the console.error hook.
24
+ * Installs error capture hooks for:
25
+ * - console.error() calls
26
+ * - Uncaught exceptions
27
+ * - Unhandled promise rejections
21
28
  *
22
29
  * Call once during SDK initialisation (`initBugReporter`).
23
30
  * Safe to call multiple times โ€” subsequent calls are no-ops.
@@ -1 +1 @@
1
- {"version":3,"file":"consoleCapture.d.ts","sourceRoot":"","sources":["../../src/utils/consoleCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAGvD;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"consoleCapture.d.ts","sourceRoot":"","sources":["../../src/utils/consoleCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAwC9C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAGvD;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * Lightweight console error capture utility.
3
3
  *
4
- * Hooks into `console.error` for the lifetime of the current page to collect
5
- * recent errors. This data is attached to bug reports as `optionalClientErrors`.
4
+ * Captures errors from multiple sources:
5
+ * - Explicit `console.error()` calls
6
+ * - Uncaught exceptions (via window.onerror)
7
+ * - Unhandled promise rejections
8
+ *
9
+ * This data is attached to bug reports as `optionalClientErrors`.
6
10
  *
7
11
  * Privacy rules (from docs/TECHNICAL_SPEC.md):
8
12
  * - Only errors from the *current page lifetime* are captured.
@@ -17,20 +21,52 @@ const MAX_STACK_LENGTH = 1000;
17
21
  const errorBuffer = [];
18
22
  let hooked = false;
19
23
  /**
20
- * Installs the console.error hook.
24
+ * Installs error capture hooks for:
25
+ * - console.error() calls
26
+ * - Uncaught exceptions
27
+ * - Unhandled promise rejections
21
28
  *
22
29
  * Call once during SDK initialisation (`initBugReporter`).
23
30
  * Safe to call multiple times โ€” subsequent calls are no-ops.
24
31
  */
25
32
  export function installConsoleErrorHook() {
26
- if (hooked || typeof console === 'undefined')
33
+ if (hooked || typeof console === 'undefined' || typeof window === 'undefined')
27
34
  return;
28
35
  hooked = true;
36
+ // Hook console.error
29
37
  const originalError = console.error.bind(console);
30
38
  console.error = (...args) => {
31
39
  originalError(...args);
32
40
  captureError(args);
33
41
  };
42
+ // Capture uncaught exceptions
43
+ window.addEventListener('error', (event) => {
44
+ const message = event.message || 'Uncaught exception';
45
+ const error = event.error instanceof Error ? event.error : new Error(message);
46
+ captureErrorObject(error, event.filename, event.lineno, event.colno);
47
+ });
48
+ // Capture unhandled promise rejections
49
+ window.addEventListener('unhandledrejection', (event) => {
50
+ const reason = event.reason;
51
+ let message = 'Unhandled promise rejection';
52
+ let stack;
53
+ if (reason instanceof Error) {
54
+ message = reason.message;
55
+ stack = reason.stack;
56
+ }
57
+ else if (typeof reason === 'string') {
58
+ message = reason;
59
+ }
60
+ else {
61
+ try {
62
+ message = JSON.stringify(reason);
63
+ }
64
+ catch {
65
+ message = String(reason);
66
+ }
67
+ }
68
+ addToBuffer(message, stack);
69
+ });
34
70
  }
35
71
  /**
36
72
  * Returns a JSON-serialised snapshot of the current error buffer.
@@ -65,8 +101,23 @@ function captureError(args) {
65
101
  const stack = args.find((a) => a instanceof Error && a.stack)
66
102
  ? (args.find((a) => a instanceof Error).stack ?? undefined)
67
103
  : undefined;
104
+ addToBuffer(raw, stack);
105
+ }
106
+ function captureErrorObject(error, filename, lineno, colno) {
107
+ let message = error.message || 'Error';
108
+ // Add location info if available
109
+ if (filename) {
110
+ message += ` at ${filename}`;
111
+ if (lineno)
112
+ message += `:${lineno}`;
113
+ if (colno)
114
+ message += `:${colno}`;
115
+ }
116
+ addToBuffer(message, error.stack);
117
+ }
118
+ function addToBuffer(message, stack) {
68
119
  const entry = {
69
- message: raw.slice(0, MAX_MESSAGE_LENGTH),
120
+ message: message.slice(0, MAX_MESSAGE_LENGTH),
70
121
  stack: stack?.slice(0, MAX_STACK_LENGTH),
71
122
  timestamp: new Date().toISOString(),
72
123
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consoleCapture.js","sourceRoot":"","sources":["../../src/utils/consoleCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAQ9B,MAAM,WAAW,GAAoB,EAAE,CAAC;AACxC,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,MAAM,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO;IACrD,MAAM,GAAG,IAAI,CAAC;IAEd,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACrC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,oBAAoB;IAClC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,IAAe;IACnC,MAAM,GAAG,GAAG,IAAI;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,YAAY,KAAK;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK,CAAW,CAAC,KAAK,IAAI,SAAS,CAAC;QACtE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,KAAK,GAAkB;QAC3B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QACzC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;QACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAExB,0DAA0D;IAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACpC,WAAW,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consoleCapture.js","sourceRoot":"","sources":["../../src/utils/consoleCapture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Screenshot Region Selector
3
+ *
4
+ * Allows users to select a specific region of the screen to capture,
5
+ * or capture the full screen.
6
+ */
7
+ export type ScreenshotMode = 'fullscreen' | 'region';
8
+ export interface RegionSelection {
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ }
14
+ /**
15
+ * Shows a region selector overlay and returns the selected region.
16
+ * Returns null if user cancels.
17
+ */
18
+ export declare function selectScreenRegion(): Promise<RegionSelection | null>;
19
+ /**
20
+ * Captures a specific region of the screen.
21
+ */
22
+ export declare function captureRegion(region: RegionSelection): Promise<string | null>;
23
+ //# sourceMappingURL=regionSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regionSelector.d.ts","sourceRoot":"","sources":["../../src/utils/regionSelector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAqH1E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4CnF"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Screenshot Region Selector
3
+ *
4
+ * Allows users to select a specific region of the screen to capture,
5
+ * or capture the full screen.
6
+ */
7
+ /**
8
+ * Shows a region selector overlay and returns the selected region.
9
+ * Returns null if user cancels.
10
+ */
11
+ export async function selectScreenRegion() {
12
+ return new Promise((resolve) => {
13
+ const overlay = document.createElement('div');
14
+ overlay.id = '__bugreport-region-selector__';
15
+ overlay.style.cssText = `
16
+ position: fixed;
17
+ inset: 0;
18
+ background: rgba(0, 0, 0, 0.5);
19
+ z-index: 2147483647;
20
+ cursor: crosshair;
21
+ user-select: none;
22
+ `;
23
+ const instructions = document.createElement('div');
24
+ instructions.style.cssText = `
25
+ position: fixed;
26
+ top: 20px;
27
+ left: 50%;
28
+ transform: translateX(-50%);
29
+ background: white;
30
+ padding: 12px 20px;
31
+ border-radius: 8px;
32
+ font-family: system-ui, -apple-system, sans-serif;
33
+ font-size: 14px;
34
+ box-shadow: 0 4px 12px rgba(0,0,0,0.3);
35
+ z-index: 2147483648;
36
+ pointer-events: none;
37
+ `;
38
+ instructions.textContent = 'Click and drag to select a region, or press ESC to cancel';
39
+ const selectionBox = document.createElement('div');
40
+ selectionBox.style.cssText = `
41
+ position: fixed;
42
+ border: 2px solid #3b82f6;
43
+ background: rgba(59, 130, 246, 0.1);
44
+ display: none;
45
+ pointer-events: none;
46
+ z-index: 2147483648;
47
+ `;
48
+ document.body.appendChild(overlay);
49
+ document.body.appendChild(instructions);
50
+ document.body.appendChild(selectionBox);
51
+ let startX = 0;
52
+ let startY = 0;
53
+ let isSelecting = false;
54
+ const cleanup = () => {
55
+ overlay.remove();
56
+ instructions.remove();
57
+ selectionBox.remove();
58
+ };
59
+ const handleMouseDown = (e) => {
60
+ startX = e.clientX;
61
+ startY = e.clientY;
62
+ isSelecting = true;
63
+ selectionBox.style.display = 'block';
64
+ selectionBox.style.left = startX + 'px';
65
+ selectionBox.style.top = startY + 'px';
66
+ selectionBox.style.width = '0px';
67
+ selectionBox.style.height = '0px';
68
+ };
69
+ const handleMouseMove = (e) => {
70
+ if (!isSelecting)
71
+ return;
72
+ const currentX = e.clientX;
73
+ const currentY = e.clientY;
74
+ const left = Math.min(startX, currentX);
75
+ const top = Math.min(startY, currentY);
76
+ const width = Math.abs(currentX - startX);
77
+ const height = Math.abs(currentY - startY);
78
+ selectionBox.style.left = left + 'px';
79
+ selectionBox.style.top = top + 'px';
80
+ selectionBox.style.width = width + 'px';
81
+ selectionBox.style.height = height + 'px';
82
+ };
83
+ const handleMouseUp = (e) => {
84
+ if (!isSelecting)
85
+ return;
86
+ isSelecting = false;
87
+ const currentX = e.clientX;
88
+ const currentY = e.clientY;
89
+ const left = Math.min(startX, currentX);
90
+ const top = Math.min(startY, currentY);
91
+ const width = Math.abs(currentX - startX);
92
+ const height = Math.abs(currentY - startY);
93
+ cleanup();
94
+ // Require minimum 20x20 pixel selection
95
+ if (width < 20 || height < 20) {
96
+ resolve(null);
97
+ return;
98
+ }
99
+ resolve({ x: left, y: top, width, height });
100
+ };
101
+ const handleKeyDown = (e) => {
102
+ if (e.key === 'Escape') {
103
+ cleanup();
104
+ resolve(null);
105
+ }
106
+ };
107
+ overlay.addEventListener('mousedown', handleMouseDown);
108
+ overlay.addEventListener('mousemove', handleMouseMove);
109
+ overlay.addEventListener('mouseup', handleMouseUp);
110
+ document.addEventListener('keydown', handleKeyDown);
111
+ });
112
+ }
113
+ /**
114
+ * Captures a specific region of the screen.
115
+ */
116
+ export async function captureRegion(region) {
117
+ try {
118
+ // Import the full page screenshot utility which handles html2canvas loading
119
+ const { capturePageScreenshot } = await import('./screenshotCapture');
120
+ // Capture the full page first
121
+ const fullPageDataUrl = await capturePageScreenshot();
122
+ if (!fullPageDataUrl)
123
+ return null;
124
+ // Create an image from the data URL
125
+ const img = new Image();
126
+ await new Promise((resolve, reject) => {
127
+ img.onload = resolve;
128
+ img.onerror = reject;
129
+ img.src = fullPageDataUrl;
130
+ });
131
+ // Create a new canvas with just the selected region
132
+ const regionCanvas = document.createElement('canvas');
133
+ const scale = img.width / window.innerWidth;
134
+ regionCanvas.width = region.width * scale;
135
+ regionCanvas.height = region.height * scale;
136
+ const ctx = regionCanvas.getContext('2d');
137
+ if (!ctx)
138
+ return null;
139
+ ctx.drawImage(img, region.x * scale, region.y * scale, region.width * scale, region.height * scale, 0, 0, region.width * scale, region.height * scale);
140
+ return regionCanvas.toDataURL('image/png');
141
+ }
142
+ catch (err) {
143
+ console.error('Failed to capture region:', err);
144
+ return null;
145
+ }
146
+ }
147
+ //# sourceMappingURL=regionSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regionSelector.js","sourceRoot":"","sources":["../../src/utils/regionSelector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/widget/modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAmQD,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,CA+DpF;AAED,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAU3D"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/widget/modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAc/D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAgTD,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,CAqEpF;AAED,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAU3D"}
@@ -3,6 +3,8 @@ import { submitReport, getAuthToken, getTesterInfo } from '../utils/apiClient';
3
3
  import { capturePageScreenshot } from '../utils/screenshotCapture';
4
4
  import { openAnnotationEditor } from './annotationEditor';
5
5
  import { initAuthModal, openAuthModal } from './authModal';
6
+ import { getCollectedErrors } from '../utils/consoleCapture';
7
+ import { selectScreenRegion, captureRegion } from '../utils/regionSelector';
6
8
  const SUCCESS_AUTO_CLOSE_DELAY_MS = 4000;
7
9
  const MODAL_ID = '__bugreport_modal__';
8
10
  const OVERLAY_ID = '__bugreport_overlay__';
@@ -148,6 +150,14 @@ function injectStyles() {
148
150
  }
149
151
  .__br_capture_btn:hover { background: #e5e7eb; border-color: #9ca3af; }
150
152
  .__br_capture_btn:disabled { opacity: 0.5; cursor: not-allowed; }
153
+ .__br_capture_btn_secondary {
154
+ background: #fff;
155
+ border-color: #d1d5db;
156
+ }
157
+ .__br_capture_btn_secondary:hover {
158
+ background: #f9fafb;
159
+ border-color: #9ca3af;
160
+ }
151
161
  .__br_capture_preview {
152
162
  margin-top: 8px;
153
163
  max-width: 100%;
@@ -159,6 +169,43 @@ function injectStyles() {
159
169
  font-size: 12px;
160
170
  color: #9ca3af;
161
171
  }
172
+
173
+ /* โ”€โ”€ Console errors section โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
174
+ .__br_console_errors {
175
+ margin-top: 8px;
176
+ padding: 10px;
177
+ background: #fef2f2;
178
+ border: 1px solid #fecaca;
179
+ border-radius: 6px;
180
+ max-height: 150px;
181
+ overflow-y: auto;
182
+ }
183
+ .__br_console_errors_title {
184
+ font-size: 11px;
185
+ font-weight: 600;
186
+ color: #991b1b;
187
+ margin-bottom: 6px;
188
+ text-transform: uppercase;
189
+ letter-spacing: 0.5px;
190
+ }
191
+ .__br_console_error_item {
192
+ font-size: 12px;
193
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
194
+ color: #7f1d1d;
195
+ margin-bottom: 4px;
196
+ padding: 4px 6px;
197
+ background: #fff;
198
+ border-radius: 4px;
199
+ word-break: break-word;
200
+ }
201
+ .__br_console_error_item:last-child {
202
+ margin-bottom: 0;
203
+ }
204
+ .__br_no_errors {
205
+ font-size: 11px;
206
+ color: #6b7280;
207
+ font-style: italic;
208
+ }
162
209
 
163
210
  /* โ”€โ”€ Status messages โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
164
211
  .__br_status_success {
@@ -298,10 +345,14 @@ export function openModal(config, callbacks) {
298
345
  document.addEventListener('keydown', handleEscKey);
299
346
  // โ”€โ”€ Focus trap โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
300
347
  trapFocus(modal);
301
- // โ”€โ”€ Screenshot capture button โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
302
- const captureBtn = document.getElementById('__br_capture_btn__');
303
- captureBtn?.addEventListener('click', async () => {
304
- await handleCaptureScreenshot(captureBtn);
348
+ // โ”€โ”€ Screenshot capture buttons โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
349
+ const captureFullscreenBtn = document.getElementById('__br_capture_fullscreen__');
350
+ const captureRegionBtn = document.getElementById('__br_capture_region__');
351
+ captureFullscreenBtn?.addEventListener('click', async () => {
352
+ await handleCaptureScreenshot(captureFullscreenBtn, 'fullscreen');
353
+ });
354
+ captureRegionBtn?.addEventListener('click', async () => {
355
+ await handleCaptureScreenshot(captureRegionBtn, 'region');
305
356
  });
306
357
  // โ”€โ”€ Form submission โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
307
358
  const form = document.getElementById('__bugreport_form__');
@@ -349,20 +400,41 @@ function handleEscKey(e) {
349
400
  if (e.key === 'Escape')
350
401
  closeModal();
351
402
  }
352
- async function handleCaptureScreenshot(captureBtn) {
403
+ async function handleCaptureScreenshot(captureBtn, mode = 'fullscreen') {
353
404
  const preview = document.getElementById('__br_capture_preview__');
354
405
  const fileInput = document.getElementById('__br_screenshot__');
355
406
  const captureContainer = document.getElementById('__br_capture_data__');
407
+ const originalText = captureBtn.textContent;
356
408
  captureBtn.setAttribute('disabled', 'true');
357
- captureBtn.textContent = '๐Ÿ“ธ Capturingโ€ฆ';
409
+ captureBtn.textContent = mode === 'region' ? 'โœ‚๏ธ Select region...' : '๐Ÿ“ธ Capturing...';
358
410
  try {
359
- // Hide the modal overlay temporarily so it's not in the screenshot
360
- const overlay = document.getElementById(OVERLAY_ID);
361
- if (overlay)
362
- overlay.style.display = 'none';
363
- const dataUrl = await capturePageScreenshot();
364
- if (overlay)
365
- overlay.style.display = '';
411
+ let dataUrl = null;
412
+ if (mode === 'region') {
413
+ // Show region selector
414
+ const region = await selectScreenRegion();
415
+ if (!region) {
416
+ // User cancelled
417
+ captureBtn.removeAttribute('disabled');
418
+ captureBtn.textContent = originalText;
419
+ return;
420
+ }
421
+ // Hide modal before capturing
422
+ const overlay = document.getElementById(OVERLAY_ID);
423
+ if (overlay)
424
+ overlay.style.display = 'none';
425
+ dataUrl = await captureRegion(region);
426
+ if (overlay)
427
+ overlay.style.display = '';
428
+ }
429
+ else {
430
+ // Fullscreen capture
431
+ const overlay = document.getElementById(OVERLAY_ID);
432
+ if (overlay)
433
+ overlay.style.display = 'none';
434
+ dataUrl = await capturePageScreenshot();
435
+ if (overlay)
436
+ overlay.style.display = '';
437
+ }
366
438
  if (dataUrl && preview && captureContainer) {
367
439
  // Open annotation editor
368
440
  openAnnotationEditor({
@@ -383,11 +455,12 @@ async function handleCaptureScreenshot(captureBtn) {
383
455
  });
384
456
  }
385
457
  }
386
- catch {
458
+ catch (err) {
459
+ console.error('Screenshot capture failed:', err);
387
460
  // Silently fail โ€” the user can still upload manually
388
461
  }
389
462
  captureBtn.removeAttribute('disabled');
390
- captureBtn.textContent = '๐Ÿ“ธ Capture screen';
463
+ captureBtn.textContent = originalText;
391
464
  }
392
465
  async function handleSubmit(form, config, callbacks) {
393
466
  setFormState(form, 'loading');
@@ -484,6 +557,52 @@ function setFormState(form, state, message) {
484
557
  statusEl.textContent = `โŒ ${message ?? 'Something went wrong. Please try again.'}`;
485
558
  }
486
559
  }
560
+ function buildConsoleErrorsSection() {
561
+ const errorsJson = getCollectedErrors();
562
+ if (!errorsJson) {
563
+ return `
564
+ <div class="__br_field">
565
+ <label class="__br_label">Recent errors & exceptions</label>
566
+ <div class="__br_console_errors">
567
+ <p class="__br_no_errors">No recent errors detected</p>
568
+ </div>
569
+ <p class="__br_hint">We automatically capture console.error(), uncaught exceptions, and promise rejections</p>
570
+ </div>
571
+ `;
572
+ }
573
+ let errors = [];
574
+ try {
575
+ errors = JSON.parse(errorsJson);
576
+ }
577
+ catch {
578
+ return '';
579
+ }
580
+ const errorItems = errors
581
+ .slice(0, 5) // Show max 5 errors in UI
582
+ .map(err => {
583
+ const time = new Date(err.timestamp).toLocaleTimeString();
584
+ const shortMessage = err.message.length > 100
585
+ ? err.message.substring(0, 100) + '...'
586
+ : err.message;
587
+ return `<div class="__br_console_error_item">${time}: ${escapeHtml(shortMessage)}</div>`;
588
+ })
589
+ .join('');
590
+ return `
591
+ <div class="__br_field">
592
+ <label class="__br_label">Recent errors & exceptions (${errors.length} captured)</label>
593
+ <div class="__br_console_errors">
594
+ <div class="__br_console_errors_title">Will be included in bug report:</div>
595
+ ${errorItems}
596
+ </div>
597
+ <p class="__br_hint">Errors, exceptions, and rejections are automatically captured to help with debugging</p>
598
+ </div>
599
+ `;
600
+ }
601
+ function escapeHtml(text) {
602
+ const div = document.createElement('div');
603
+ div.textContent = text;
604
+ return div.innerHTML;
605
+ }
487
606
  function buildFormHtml() {
488
607
  // Generate random math challenge
489
608
  const num1 = Math.floor(Math.random() * 10) + 1; // 1-10
@@ -544,18 +663,21 @@ function buildFormHtml() {
544
663
  <div class="__br_field">
545
664
  <label class="__br_label">Screenshot (optional)</label>
546
665
  <div class="__br_screenshot_row">
547
- <button id="__br_capture_btn__" type="button" class="__br_capture_btn">๐Ÿ“ธ Capture screen</button>
666
+ <button id="__br_capture_fullscreen__" type="button" class="__br_capture_btn">๐Ÿ“ธ Full screen</button>
667
+ <button id="__br_capture_region__" type="button" class="__br_capture_btn __br_capture_btn_secondary">โœ‚๏ธ Select region</button>
548
668
  <span class="__br_or_divider">or</span>
549
669
  <input id="__br_screenshot__" name="screenshot" type="file"
550
670
  accept="image/png,image/jpeg,image/webp,image/gif"
551
- style="font-size:13px;color:#374151;max-width:200px;" />
671
+ style="font-size:13px;color:#374151;max-width:160px;" />
552
672
  </div>
553
673
  <input id="__br_capture_data__" type="hidden" value="" />
554
674
  <img id="__br_capture_preview__" alt="Captured screenshot preview"
555
675
  class="__br_capture_preview" style="display:none;" />
556
- <p class="__br_hint">PNG, JPG, WebP or GIF ยท max 5 MB</p>
676
+ <p class="__br_hint">Full screen or select a region ยท PNG, JPG, WebP or GIF ยท max 5 MB</p>
557
677
  </div>
558
678
 
679
+ ${buildConsoleErrorsSection()}
680
+
559
681
  <div class="__br_field">
560
682
  <label for="__br_notes__" class="__br_label">Additional notes (optional)</label>
561
683
  <textarea id="__br_notes__" name="notes" rows="2"
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/widget/modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/widget/modal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limekex/bugreport-widget-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Browser SDK for embedding the Stage Bug Reporter widget into staging/UAT applications",
5
5
  "keywords": [
6
6
  "bug-reporter",