Skip to content

SeaShell 0.2.5

Latest

Choose a tag to compare

@voidharbor voidharbor released this 03 Aug 06:22

Lookout cards were refusing to be answered, and naming the wrong pane and sometimes the wrong
question while they did it. All three are fixed.

Cards no longer claim a picker is showing when they simply could not read the pane. A card
went look-only, printed answer in the pane — it's showing a picker and hid its send buttons
whenever the renderer's screen read came back empty. But an empty read means "could not parse
this", which is not the same claim as "a picker is on screen", and the two shared a branch. A
pane sitting at an ordinary input box would tell you to go deal with a picker that was not
there, and take away the buttons you needed.

Only a positive picker read does that now. Answering an unreadable screen is safe because the
renderer was never the guard: the approve path re-reads the screen from the main process's own
stream at the moment of the click, and refuses a real picker there.

A picker you answered a while ago no longer refuses writes forever. That same click-time
check reads a fixed budget of recent output, which can still contain a picker from earlier in
the session. With the pane quiet, nothing newer arrived to outrank it, so sends into a pane
plainly showing its input box were refused. Picker evidence older than the current screen is
history now. A picker showing right now still refuses, which is the half that matters.

Cards keep up with the pane. A waiting pane was read once per waiting spell and re-read
only after it stopped waiting. When an agent answered one question and immediately asked
another, the pane never stopped waiting, so the second question was never read and the card
went on naming the first. Panes are re-read continuously; only a question that actually
changed costs an update.

Cards show the pane, not an internal id. A card used to head with pane-6-336644. It now
shows what the pane's own header shows, numbered the same way: 2 · Improve README for quick onboarding. The id is still there if you hover.

macOS will complain on first open because the app is not signed with a paid Apple Developer
cert. The one-line fix is in the README.