getobsrv 0.8.0 → 0.9.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.
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' blob: data:" />
6
6
  <title>Obsrv</title>
7
- <script type="module" crossorigin src="./assets/index-Cgx8iixu.js"></script>
8
- <link rel="stylesheet" crossorigin href="./assets/index-BeroS4wv.css">
7
+ <script type="module" crossorigin src="./assets/index-CpeTWcl6.js"></script>
8
+ <link rel="stylesheet" crossorigin href="./assets/index-CasW01OP.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -9,6 +9,7 @@ exports.defaultControlFilePath = defaultControlFilePath;
9
9
  exports.presetApplyError = presetApplyError;
10
10
  exports.profileApplyError = profileApplyError;
11
11
  exports.viewModeApplyError = viewModeApplyError;
12
+ exports.panesApplyError = panesApplyError;
12
13
  exports.pixelExactApplyError = pixelExactApplyError;
13
14
  exports.parseClick = parseClick;
14
15
  exports.parseHighlight = parseHighlight;
@@ -48,6 +49,7 @@ exports.CONTROL_COMMANDS = [
48
49
  'setPreset',
49
50
  'setProfile',
50
51
  'setViewMode',
52
+ 'setPanes',
51
53
  'captureVisible',
52
54
  // v0.5 drive controls (spec §14 "Drive controls").
53
55
  'scroll',
@@ -151,6 +153,9 @@ function profileApplyError(id) {
151
153
  function viewModeApplyError(v) {
152
154
  return v === '1:1' || v === 'fit' ? null : `setViewMode payload must be { mode: '1:1' | 'fit' }`;
153
155
  }
156
+ function panesApplyError(v) {
157
+ return v === 'both' || v === 'target' ? null : `setPanes payload must be { panes: 'both' | 'target' }`;
158
+ }
154
159
  function pixelExactApplyError(v) {
155
160
  return typeof v === 'boolean' ? null : 'setPixelExact payload must be { on: boolean }';
156
161
  }
@@ -222,5 +227,11 @@ function parseControlStatus(raw) {
222
227
  return null;
223
228
  if (mode !== 'url' && mode !== 'image')
224
229
  return null;
225
- return { version, url, presetId, profileId, viewMode, mode };
230
+ // An app older than this field is common — the MCP server ships on npm and
231
+ // the app ships as a DMG, so they update independently. Absent defaults;
232
+ // present-but-wrong is still a malformed status.
233
+ const panes = raw.panes ?? 'both';
234
+ if (panes !== 'both' && panes !== 'target')
235
+ return null;
236
+ return { version, url, presetId, profileId, viewMode, panes, mode };
226
237
  }
@@ -153,10 +153,17 @@ function parseUiState(raw) {
153
153
  return null;
154
154
  if (mode !== 'url' && mode !== 'image')
155
155
  return null;
156
+ // A renderer older than this field cannot exist (both ship in one app), but
157
+ // the report is validated like any other payload: absent defaults to both,
158
+ // present-but-wrong drops the whole report.
159
+ const panes = raw.panes ?? 'both';
160
+ if (panes !== 'both' && panes !== 'target')
161
+ return null;
156
162
  return {
157
163
  presetId,
158
164
  profileId,
159
165
  viewMode,
166
+ panes,
160
167
  mode,
161
168
  targetBounds: parseRect(raw.targetBounds),
162
169
  canvasBounds: parseRect(raw.canvasBounds),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "getobsrv",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "See your site the way 1x screens see it",
5
5
  "main": "./out/main/index.js",
6
6
  "bin": {
@@ -42,6 +42,7 @@
42
42
  "@vitest/browser": "^3.2.7",
43
43
  "electron-builder": "^26.15.3",
44
44
  "electron-vite": "^3.1.0",
45
+ "lucide-react": "^1.34.0",
45
46
  "playwright": "^1.62.1",
46
47
  "typescript": "^5.9.3",
47
48
  "vite": "^6.4.3",