From 4815c3a7f695f9804c0c8b85daec801760878c34 Mon Sep 17 00:00:00 2001 From: dirtydishes Date: Mon, 25 May 2026 14:32:04 -0400 Subject: [PATCH] stop tracking xcode user state --- .beads/interactions.jsonl | 1 + .beads/issues.jsonl | 1 + .../UserInterfaceState.xcuserstate | Bin 29246 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 13914 -> 0 bytes 4 files changed, 2 insertions(+) delete mode 100644 Dreamio.xcodeproj/project.xcworkspace/xcuserdata/kell.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 Dreamio.xcworkspace/xcuserdata/kell.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/.beads/interactions.jsonl b/.beads/interactions.jsonl index ad9b02b..32e8e02 100644 --- a/.beads/interactions.jsonl +++ b/.beads/interactions.jsonl @@ -37,3 +37,4 @@ {"id":"int-99b3cb8b","kind":"field_change","created_at":"2026-05-25T16:54:58.390731Z","actor":"dirtydishes","issue_id":"dreamio-2ju","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Fixed by preserving OpenSubtitles subtitle display metadata through VLC external track attachment and adding display-name tests."}} {"id":"int-697dc66d","kind":"field_change","created_at":"2026-05-25T17:01:32.697187Z","actor":"dirtydishes","issue_id":"dreamio-0lt","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"not implementing now; user asked only to move previous work to the audio-track-selection branch"}} {"id":"int-c9b3bcd7","kind":"field_change","created_at":"2026-05-25T17:48:09.142384Z","actor":"dirtydishes","issue_id":"dreamio-ejh","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Fixed by preserving known external subtitle display names for generic VLC subtitle tracks and expanding language-code aliases."}} +{"id":"int-12bf46aa","kind":"field_change","created_at":"2026-05-25T18:31:50.873069Z","actor":"dirtydishes","issue_id":"dreamio-kdf","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Tracked Xcode user interface state files were removed from the git index, and existing ignore rules now cover regenerated xcuserdata files."}} diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 7345a0a..58596f1 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -24,6 +24,7 @@ {"_type":"issue","id":"dreamio-l68","title":"Add native playback for direct debrid streams","description":"Implement a WKWebView JavaScript bridge that detects direct-file debrid media URLs and routes unsupported containers to a native player backend, initially MobileVLCKit, while preserving normal Stremio Web playback for compatible streams.","status":"closed","priority":1,"issue_type":"feature","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-25T03:13:19Z","created_by":"dirtydishes","updated_at":"2026-05-25T03:20:17Z","started_at":"2026-05-25T03:13:28Z","closed_at":"2026-05-25T03:20:17Z","close_reason":"Implemented native direct-stream bridge, classification, MobileVLCKit backend wiring, CocoaPods workflow docs, and turn documentation. Full iOS build is blocked locally by missing CocoaPods and iPhoneOS SDK.","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"dreamio-tnv","title":"Fix iOS bundle identifier install failure","description":"Xcode built Dreamio.app without a valid CFBundleIdentifier, causing device install to fail with CoreDeviceError 3000/3002. Investigate project bundle settings, fix the source configuration, validate the app bundle Info.plist, and document the change.","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-25T01:23:00Z","created_by":"dirtydishes","updated_at":"2026-05-25T01:25:36Z","started_at":"2026-05-25T01:23:07Z","closed_at":"2026-05-25T01:25:36Z","close_reason":"Added bundle metadata to Info.plist and validated processed app bundle identifier.","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"dreamio-4yn","title":"Build WKWebView MVP shell","description":"Create the first Dreamio MVP implementation: a minimal iOS WKWebView wrapper around hosted Stremio Web, with configuration, launch behavior, diagnostics, and documentation for real-device viability testing.","acceptance_criteria":"App project exists; WKWebView loads hosted Stremio Web; external/new-window navigation is handled; basic diagnostics and manual test documentation exist; quality gates are run or documented.","status":"closed","priority":1,"issue_type":"feature","owner":"dishes@dpdrm.com","created_at":"2026-05-24T14:55:12Z","created_by":"dirtydishes","updated_at":"2026-05-24T14:59:44Z","closed_at":"2026-05-24T14:59:44Z","close_reason":"Implemented the MVP WKWebView iOS shell, added run and validation documentation, and recorded current validation limits.","dependency_count":0,"dependent_count":0,"comment_count":0} +{"_type":"issue","id":"dreamio-kdf","title":"Stop tracking Xcode user state","description":"Xcode user interface state files are machine-specific and currently tracked, which causes noisy local modifications and pull conflicts. Remove tracked xcuserstate files from the git index while keeping ignore rules in place.","status":"closed","priority":2,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-25T18:31:36Z","created_by":"dirtydishes","updated_at":"2026-05-25T18:31:51Z","started_at":"2026-05-25T18:31:39Z","closed_at":"2026-05-25T18:31:51Z","close_reason":"Tracked Xcode user interface state files were removed from the git index, and existing ignore rules now cover regenerated xcuserdata files.","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"dreamio-0lt","title":"add audio track selection","description":"Add native player support for viewing and switching available audio tracks during playback.","status":"closed","priority":2,"issue_type":"feature","owner":"dishes@dpdrm.com","created_at":"2026-05-25T17:00:53Z","created_by":"dirtydishes","updated_at":"2026-05-25T17:01:33Z","closed_at":"2026-05-25T17:01:33Z","close_reason":"not implementing now; user asked only to move previous work to the audio-track-selection branch","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"dreamio-2ju","title":"Show OpenSubtitles languages in caption tracks","description":"Preserve external subtitle metadata after VLC attaches OpenSubtitles tracks so the captions menu shows useful language labels instead of generic VLC track names.","status":"closed","priority":2,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-25T16:52:44Z","created_by":"dirtydishes","updated_at":"2026-05-25T16:54:58Z","started_at":"2026-05-25T16:52:49Z","closed_at":"2026-05-25T16:54:58Z","close_reason":"Fixed by preserving OpenSubtitles subtitle display metadata through VLC external track attachment and adding display-name tests.","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"dreamio-h5n","title":"Throttle VLC subtitle reapply during buffering","description":"VLC subtitle auto-selection currently reapplies the same subtitle track on every buffering state notification, producing noisy logs and unnecessary repeated player writes. Limit state-driven reapply to meaningful selection recovery or state transitions while preserving delayed retries after initial auto-selection.","status":"closed","priority":2,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-25T15:06:48Z","created_by":"dirtydishes","updated_at":"2026-05-25T15:09:02Z","started_at":"2026-05-25T15:06:55Z","closed_at":"2026-05-25T15:09:02Z","close_reason":"Limited VLC auto-subtitle reapply to real selection recovery while keeping bounded delayed startup confirmations.","dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/Dreamio.xcodeproj/project.xcworkspace/xcuserdata/kell.xcuserdatad/UserInterfaceState.xcuserstate b/Dreamio.xcodeproj/project.xcworkspace/xcuserdata/kell.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index a775c5b0e42b79db79d1661e315de7e1dab1ec77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29246 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 Mr^MgzcR}a>0AaGBWdHyG