Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e0f5811
reduce safari commands to use only one js block each
ryanwhitney Jul 2, 2025
b056fe4
avoid duplicate batch status updates
ryanwhitney Jul 3, 2025
ece1d2a
add Icon Composer icon for iOS 26
ryanwhitney Jul 3, 2025
c3299a4
Remove padding that cut off edge of control screen
ryanwhitney Jul 3, 2025
e04c95f
speed up platform checks, volume changes, work on adaptive timeout
ryanwhitney Jul 3, 2025
9e5dba6
pool commands and stop volume from triggering errors
ryanwhitney Jul 3, 2025
7b06d56
update action scripts to be injected within status
ryanwhitney Jul 3, 2025
3f2d4d7
implement dedicated channels
ryanwhitney Jul 4, 2025
fe86a55
applescript streaming WIP -- currently working on refresh
ryanwhitney Jul 4, 2025
d6a927b
all apps except safari and TV working with streaming shell
ryanwhitney Jul 5, 2025
59969eb
get tv working with streaming and local files
ryanwhitney Jul 5, 2025
17d72fb
get safari working
ryanwhitney Jul 5, 2025
7e4bb1c
get permissions and all apps working + remove legacy methods
ryanwhitney Jul 5, 2025
a07289a
improve parsing to handle quick commands
ryanwhitney Jul 7, 2025
c77a30c
switch to 1 app channel with combined running/status scripts, improve…
ryanwhitney Jul 7, 2025
3d94645
improve logging
ryanwhitney Jul 7, 2025
ebb53e0
rate limit TV actions and improve channel stability
ryanwhitney Jul 7, 2025
c394ab6
implement heartbeat and connection lost handling
ryanwhitney Jul 7, 2025
4db6581
remove unused functions
ryanwhitney Jul 7, 2025
5ed849c
ensure proper reset on background + refactor and cleanup
ryanwhitney Jul 7, 2025
0534219
ensure connection cleanup when moving back to connectionsView
ryanwhitney Jul 7, 2025
f775326
lower volume debounce
ryanwhitney Jul 7, 2025
b4c5851
make status logs redact more
ryanwhitney Jul 7, 2025
d7eb363
fix broken handling of not running cases that killed the whole channel
ryanwhitney Jul 7, 2025
4988edd
use fewer emoji in logs
ryanwhitney Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Control.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.10;
MARKETING_VERSION = 1.11;
PRODUCT_BUNDLE_IDENTIFIER = ryanwhitney.MacControl;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
Expand Down Expand Up @@ -365,7 +365,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.10;
MARKETING_VERSION = 1.11;
PRODUCT_BUNDLE_IDENTIFIER = ryanwhitney.MacControl;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
Expand Down
3 changes: 3 additions & 0 deletions Control/AppIcon.icon/Assets/pause.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions Control/AppIcon.icon/Assets/play.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions Control/AppIcon.icon/icon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"color-space-for-untagged-svg-colors" : "display-p3",
"fill" : {
"linear-gradient" : [
"display-p3:0.13592,0.14828,0.15995,1.00000",
"display-p3:0.03829,0.04706,0.07131,1.00000"
]
},
"groups" : [
{
"layers" : [
{
"blend-mode" : "normal",
"fill" : {
"automatic-gradient" : "extended-srgb:0.15686,0.80392,0.25490,1.00000"
},
"glass" : true,
"hidden" : false,
"image-name" : "play.svg",
"name" : "play",
"opacity" : 0.7,
"position" : {
"scale" : 1.25,
"translation-in-points" : [
-190.5546875,
2.578125
]
}
}
],
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.5
}
},
{
"layers" : [
{
"blend-mode" : "normal",
"fill" : {
"solid" : "extended-srgb:0.15686,0.80392,0.25490,1.00000"
},
"glass" : true,
"hidden" : false,
"image-name" : "play.svg",
"name" : "play",
"opacity" : 1,
"position" : {
"scale" : 1.25,
"translation-in-points" : [
-190.5546875,
2.578125
]
}
},
{
"fill" : {
"solid" : "display-p3:0.23220,0.25000,0.28526,1.00000"
},
"image-name" : "pause.svg",
"name" : "pause",
"opacity" : 1,
"position" : {
"scale" : 1.2,
"translation-in-points" : [
212.7578125,
0
]
}
}
],
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.5
}
}
],
"supported-platforms" : {
"circles" : [
"watchOS"
],
"squares" : "shared"
}
}
2 changes: 2 additions & 0 deletions Control/Components/PlatformControlPanel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ struct PlatformControl: View {
}
.onAppear {
Task {
// Wait until the initial batch update has completed
guard controller.hasCompletedInitialUpdate else { return }
await controller.updateState(for: platform)
}
}
Expand Down
Loading