Skip to content

store split 4#29166

Merged
chrisnojima-zoom merged 18 commits intonojima/HOTPOT-next-670-clean-2from
nojima/ZCLIENT-store-split-4
Apr 23, 2026
Merged

store split 4#29166
chrisnojima-zoom merged 18 commits intonojima/HOTPOT-next-670-clean-2from
nojima/ZCLIENT-store-split-4

Conversation

@chrisnojima-zoom
Copy link
Copy Markdown
Contributor

No description provided.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

* modal header

* remove tracker store

* pinentry

* unlock

* archive

This comment was marked as outdated.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 110 out of 124 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +108 to 110
const {cancelLabel, prompt, retryLabel, showTyping, submitLabel, type, windowTitle} = popupState
const show = type !== T.RPCGen.PassphraseType.none && !!showTyping
const darkMode = useColorScheme() === 'dark'
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pinentry window is only shown when type !== PassphraseType.none && !!showTyping. showTyping is a Feature object and may be undefined depending on the daemon response; gating visibility on it can suppress the pinentry UI entirely. The show/hide condition should depend on whether a passphrase is being requested (i.e., type !== PassphraseType.none), and showTyping should only control whether the input is masked/visible inside the window.

Copilot uses AI. Check for mistakes.
Comment thread shared/tracker/model.tsx
Comment on lines +71 to +103
const rpcRowColorToColor = (color: T.RPCGen.Identify3RowColor): T.Tracker.AssertionColor => {
switch (color) {
case T.RPCGen.Identify3RowColor.blue:
return 'blue'
case T.RPCGen.Identify3RowColor.red:
return 'red'
case T.RPCGen.Identify3RowColor.black:
return 'black'
case T.RPCGen.Identify3RowColor.green:
return 'green'
case T.RPCGen.Identify3RowColor.gray:
return 'gray'
case T.RPCGen.Identify3RowColor.yellow:
return 'yellow'
case T.RPCGen.Identify3RowColor.orange:
return 'orange'
}
}

const rpcRowStateToAssertionState = (state: T.RPCGen.Identify3RowState): T.Tracker.AssertionState => {
switch (state) {
case T.RPCGen.Identify3RowState.checking:
return 'checking'
case T.RPCGen.Identify3RowState.valid:
return 'valid'
case T.RPCGen.Identify3RowState.error:
return 'error'
case T.RPCGen.Identify3RowState.warning:
return 'warning'
case T.RPCGen.Identify3RowState.revoked:
return 'revoked'
}
}
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rpcRowColorToColor and rpcRowStateToAssertionState don't have a default case, so at runtime an unexpected enum value will return undefined even though the return types are non-optional. This can leak undefined into Assertion.color / Assertion.state and cause downstream rendering issues. Add an explicit default branch (and optionally log) to ensure a safe fallback value.

Copilot uses AI. Check for mistakes.
@chrisnojima-zoom chrisnojima-zoom merged commit cb7e14c into nojima/HOTPOT-next-670-clean-2 Apr 23, 2026
@chrisnojima-zoom chrisnojima-zoom deleted the nojima/ZCLIENT-store-split-4 branch April 23, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants