Attempt to fix the password prompt #2

This commit is contained in:
2026-01-01 22:57:57 -05:00
parent ed517502e2
commit 86228fd047

View File

@ -263,11 +263,38 @@ local function MonitorRemoteIris()
utils.log("ALERT: Remote iris moving: " .. remoteIrisState .. "%")
end
-- If remote has computer and iris just became fully closed, wait for password request
-- If remote has computer and iris just became fully closed, check for password request
if state.remoteHasComputer and remoteIrisState == 100 and (not lastIrisState or lastIrisState < 100) then
utils.log("Remote iris closed and computer detected - waiting for password request")
utils.log("Remote iris closed and computer detected - checking for password request")
-- Wait briefly for password request message
-- Check if password was already requested during initial connection
if state.remotePasswordRequired then
utils.log("Password already requested - showing password prompt")
local password = HandlePasswordEntry()
-- Wait for response
local function WaitForResponse()
sleep(3) -- Wait up to 3 seconds for response
return nil
end
local result = parallel.waitForAny(GetMessage, WaitForResponse)
if result == 1 then
local response = state.lastReceivedMessage
state.lastReceivedMessage = nil
if response == "IRIS_OPEN" then
display.showPasswordResult(true)
utils.log("Password accepted - iris opened")
-- Continue monitoring, iris state will update
elseif response == "IRIS_DENIED" then
display.showPasswordResult(false)
utils.log("Password rejected")
end
end
else
-- Wait briefly for password request message if not already received
utils.log("Waiting for password request message")
local function WaitForPasswordRequest()
sleep(2) -- Wait up to 2 seconds for password request
return nil
@ -305,6 +332,7 @@ local function MonitorRemoteIris()
end
end
end
end
-- Re-check iris state after password attempt
remoteIrisState = transceiver.checkConnectedShielding()