@8bitbish/screenshot-service 1.2.2 → 1.2.3

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.
@@ -475,10 +475,10 @@
475
475
  <ul class="device-list" id="device-list"></ul>
476
476
  <div class="empty-state" id="device-empty" style="display: none"></div>
477
477
  <div class="dev-mode-banner" id="dev-mode-banner" style="display: none">
478
- <h4>Developer Mode needed</h4>
479
- <div id="dev-mode-banner-detail">Your iPhone needs Developer Mode turned on before screenshot capture will work.</div>
478
+ <h4>Finish on your iPhone</h4>
479
+ <div id="dev-mode-banner-detail">We've just unlocked the Developer Mode option in your iPhone's Settings. Apple requires you to flip the toggle yourself — it can't be done from this Mac when a passcode is set.</div>
480
480
  <ol>
481
- <li>On your iPhone: <strong>Settings → Privacy &amp; Security → Developer Mode</strong></li>
481
+ <li>On your iPhone, open <strong>Settings → Privacy &amp; Security → Developer Mode</strong> <em>(it's now visible)</em></li>
482
482
  <li>Toggle <strong>Developer Mode</strong> on</li>
483
483
  <li>Tap <strong>Restart</strong> when prompted</li>
484
484
  <li>After the iPhone reboots, tap <strong>Turn On</strong> and enter your passcode</li>
@@ -525,6 +525,7 @@
525
525
  let lastDevices = []; // most recent listDevices() result
526
526
  let pendingAddSnapshot = null; // Set<string> of device IDs at the moment user clicked "+ Add"
527
527
  let history = [];
528
+ const revealedUdids = new Set(); // UDIDs we've already called reveal-developer-mode on this session
528
529
 
529
530
  function show(name, label) {
530
531
  for (const k in screens) screens[k].classList.remove('active');
@@ -633,6 +634,18 @@
633
634
  async function refreshDeviceManager(justAddedIds = new Set()) {
634
635
  const devs = await window.wizard.listDevices();
635
636
  lastDevices = devs;
637
+
638
+ // Auto-reveal Developer Mode for any iPhone that needs it. The call tells iOS to
639
+ // surface the Developer Mode toggle in Settings → Privacy & Security so the user
640
+ // can actually find it (Apple hides this item until a Mac requests it). Once per
641
+ // session per device — re-running has no effect on the iPhone.
642
+ for (const d of devs) {
643
+ if (d.platform === 'ios' && d.developerMode === false && !revealedUdids.has(d.id)) {
644
+ revealedUdids.add(d.id);
645
+ window.wizard.enableIosDevMode(d.id).catch(() => {}); // best-effort, banner has the same info anyway
646
+ }
647
+ }
648
+
636
649
  const mine = devs.filter(d => d.platform === platform);
637
650
  const listEl = $('device-list');
638
651
  const emptyEl = $('device-empty');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@8bitbish/screenshot-service",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "Capture screenshots and recordings from connected iPhone and Android devices, with a built-in visual setup wizard.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",