From 039a0f9d0c47d84fbaeb77a8518ffb3027988a31 Mon Sep 17 00:00:00 2001 From: BigBodyCobain <43977454+BigBodyCobain@users.noreply.github.com> Date: Wed, 10 Jun 2026 09:40:54 -0600 Subject: [PATCH] Remove dead Drop dashboard UI so Agent Shell frontend build passes. Dead Drop chat stays in Infonet Terminal; Mesh Chat dms tab is Agent Shell only. Co-authored-by: Cursor --- frontend/src/components/MeshChat/index.tsx | 806 +-------------------- 1 file changed, 8 insertions(+), 798 deletions(-) diff --git a/frontend/src/components/MeshChat/index.tsx b/frontend/src/components/MeshChat/index.tsx index 515e0f5..bf13cee 100644 --- a/frontend/src/components/MeshChat/index.tsx +++ b/frontend/src/components/MeshChat/index.tsx @@ -1492,778 +1492,7 @@ const MeshChat = React.memo(function MeshChat(props: MeshChatProps) { )} - {/* Dead Drop chat UI moved to Infonet Terminal → Messages */} - {false && !dashboardRestrictedTab && activeTab === 'dms' && ( - <> - {/* Sub-nav: Contacts | Inbox | Muted | (back to contacts from chat) */} -
- {dmView === 'chat' ? ( - <> - - - {selectedContact.slice(0, 16)} - - {(() => { - const c = contacts[selectedContact]; - if (!c) return null; - const trust = getContactTrustSummary(c); - if (trust?.transparencyConflict) { - return ( - - HISTORY CONFLICT - - ); - } - if (trust?.state === 'continuity_broken') { - return ( - - CONTINUITY BROKEN - - ); - } - if (trust?.state === 'mismatch') { - return ( - - PREKEY CHANGED - - ); - } - if (trust?.registryMismatch) { - return ( - - KEY MISMATCH - - ); - } - if (trust?.state === 'sas_verified') { - return ( - - SAS VERIFIED - - ); - } - if (trust?.state === 'invite_pinned') { - return ( - - INVITE PINNED - - ); - } - if (trust?.state === 'tofu_pinned') { - return ( - - TOFU ONLY - - ); - } - return null; - })()} - {(() => { - const c = contacts[selectedContact]; - if (!c) return null; - if (c.witness_count && c.witness_count > 0) { - return ( - - WITNESSED {c.witness_count} - - ); - } - return null; - })()} - {(() => { - const c = contacts[selectedContact]; - if (!c) return null; - if (c.vouch_count && c.vouch_count > 0) { - return ( - - VOUCHES {c.vouch_count} - - ); - } - return null; - })()} - - - - - - ) : ( - <> - - - - - - )} -
- {dmView === 'chat' && showSas && sasPhrase && ( -
- SAS: {sasPhrase} - {selectedContactInfo && - selectedContactTrustSummary?.state === 'invite_pinned' && ( -
- This contact was anchored by an imported signed invite. SAS is still useful - as an extra continuity check. -
- )} - {selectedContactInfo && - selectedContactTrustSummary?.state === 'tofu_pinned' && ( -
- First contact is still TOFU-only. Compare this phrase out of band before - treating the sender as verified. -
- )} - {selectedContactInfo && - selectedContactTrustSummary?.state !== 'sas_verified' && - selectedContactTrustSummary?.state !== 'mismatch' && - selectedContactTrustSummary?.state !== 'continuity_broken' && - !selectedContactTrustSummary?.transparencyConflict && ( -
- setSasConfirmInput(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter') { - e.preventDefault(); - void handleConfirmSelectedContactSas(); - } - }} - placeholder="Type the phrase you both confirmed" - className="flex-1 min-w-0 bg-black/30 border border-cyan-900/30 px-2 py-1 text-[12px] font-mono text-cyan-100 placeholder:text-cyan-700/70 focus:outline-none focus:border-cyan-600/60" - /> - -
- )} - {selectedContactInfo && - selectedContactTrustSummary?.state === 'continuity_broken' && - selectedContactTrustSummary?.rootMismatch && ( - <> -
- {`${rootWitnessContinuityLabel(selectedContactTrustSummary)} changed for this contact.`}{' '} - Compare the SAS phrase for the newly observed root, then recover only if - the ceremony checks out. -
-
- setSasConfirmInput(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter') { - e.preventDefault(); - void handleRecoverSelectedContactRootContinuity(); - } - }} - placeholder="Type the phrase you both confirmed for the new root" - className="flex-1 min-w-0 bg-black/30 border border-red-900/30 px-2 py-1 text-[12px] font-mono text-cyan-100 placeholder:text-red-700/70 focus:outline-none focus:border-red-600/60" - /> - -
- - )} - {selectedContactInfo?.remotePrekeyMismatch && ( -
- {selectedContactTrustSummary?.rootMismatch - ? `${rootWitnessContinuityLabel(selectedContactTrustSummary)} changed. Recover only after you compare the new SAS phrase out of band.` - : 'Acknowledge the changed fingerprint first, then compare and confirm SAS again.'} -
- )} -
- )} - - {activeTab === 'dms' && !secureDmBlocked && ( -
- - {dmTransportStatus.label} - - - {dmTransportMode === 'reticulum' - ? 'Direct private delivery active.' - : dmTransportMode === 'hidden' - ? 'Hidden transport active.' - : dmTransportMode === 'relay' - ? 'Relay fallback active.' - : dmTransportMode === 'ready' - ? 'Private lane ready.' - : 'Lower-trust mode.'} - -
- )} - - {activeTab === 'dms' && unresolvedSenderSealCount > 0 && ( -
-
- UNRESOLVED SEALED SENDERS -
-
- {unresolvedSenderSealCount} sealed-sender message - {unresolvedSenderSealCount === 1 ? '' : 's'} could not be mapped to a - trusted contact or verified sender key. Keep Wormhole reachable and refresh - contact trust before relying on them. -
-
- )} - - {activeTab === 'dms' && dmView === 'chat' && dmTrustHint && selectedContactInfo && ( -
-
-
-
- {dmTrustHint.title} -
-
{dmTrustHint.detail}
- {selectedContactInfo.remotePrekeyMismatch && ( -
- pinned {shortTrustFingerprint(selectedContactInfo.remotePrekeyFingerprint)} • observed{' '} - {shortTrustFingerprint(selectedContactInfo.remotePrekeyObservedFingerprint)} -
- )} - {!selectedContactInfo.remotePrekeyMismatch && - selectedContactInfo.remotePrekeyRootMismatch && ( -
- pinned root {shortTrustFingerprint(selectedContactInfo.remotePrekeyRootFingerprint)} • - observed root{' '} - {shortTrustFingerprint(selectedContactInfo.remotePrekeyObservedRootFingerprint)} -
- )} - {!selectedContactInfo.remotePrekeyMismatch && - selectedContactTrustSummary?.state === 'tofu_pinned' && - selectedContactInfo.remotePrekeyFingerprint && ( -
- first-sight pin {shortTrustFingerprint(selectedContactInfo.remotePrekeyFingerprint)} • - verify before sensitive use -
- )} - {!selectedContactInfo.remotePrekeyMismatch && - selectedContactTrustSummary?.state === 'invite_pinned' && - (selectedContactInfo.invitePinnedTrustFingerprint || - selectedContactInfo.remotePrekeyFingerprint) && ( -
- invite pin{' '} - {shortTrustFingerprint( - selectedContactInfo.invitePinnedTrustFingerprint || - selectedContactInfo.remotePrekeyFingerprint, - )}{' '} - • - {selectedContactTrustSummary?.rootAttested && - (selectedContactInfo.invitePinnedRootFingerprint || - selectedContactInfo.remotePrekeyRootFingerprint) - ? ` ${rootWitnessBadgeLabel(selectedContactTrustSummary).toLowerCase()} ${shortTrustFingerprint( - selectedContactInfo.invitePinnedRootFingerprint || - selectedContactInfo.remotePrekeyRootFingerprint, - )} •` - : ''}{' '} - imported out of band before first contact -
- )} - {selectedContactTrustSummary?.state === 'continuity_broken' && - selectedContactTrustSummary?.rootMismatch && ( -
- {`${rootWitnessContinuityLabel(selectedContactTrustSummary).toLowerCase()} broke for this contact.`}{' '} - Re-verify SAS or replace the signed invite before trusting the new - root. -
- )} - {selectedContactInfo.remotePrekeyTransparencyConflict && ( -
- prekey history conflict observed and trust stays degraded until you - explicitly acknowledge the changed fingerprint. -
- )} - {selectedContactInfo.remotePrekeyLookupMode === 'legacy_agent_id' && ( -
- bootstrap path: legacy direct agent ID lookup. - {selectedContactInfo.invitePinnedPrekeyLookupHandle - ? ' Refresh from the signed invite to tighten lookup privacy.' - : ' Import or re-import a signed invite to avoid stable-ID lookup.'} -
- )} - {selectedContactInfo.remotePrekeyLookupMode === 'invite_lookup_handle' && ( -
- bootstrap path: invite-scoped lookup handle. Stable agent ID was not - required on the lookup path. -
- )} - {(selectedContactInfo.witness_count ?? 0) > 0 && ( -
- witness observations: {selectedContactInfo.witness_count} - {selectedContactInfo.witness_checked_at - ? `, last seen ${timeAgo( - selectedContactInfo.witness_checked_at > 1_000_000_000_000 - ? selectedContactInfo.witness_checked_at - : selectedContactInfo.witness_checked_at * 1000, - )}` - : ''} -
- )} -
-
- - {selectedContactInfo.remotePrekeyMismatch && - !selectedContactTrustSummary?.rootMismatch && ( - - )} -
-
-
- )} - - {/* Add contact / request access form */} - - {showAddContact && dmView !== 'chat' && !secureDmBlocked && ( - -
-
- Enter an Agent ID for a contact you already pinned with a signed invite - to request Dead Drop access. If you only have older local state, use - terminal dm add only for - legacy migration. -
-
- setAddContactId(e.target.value)} - placeholder="!sb_a3f2c891..." - className="flex-1 bg-[var(--bg-secondary)]/50 border border-[var(--border-primary)] text-sm font-mono text-cyan-300 px-2 py-1 outline-none placeholder:text-[var(--text-muted)]" - onKeyDown={(e) => { - if (e.key === 'Enter') { - handleRequestComposerAction(); - } - }} - /> - -
- {pendingSent.includes(addContactId.trim()) && ( -
- Request already sent -
- )} -
-
- )} -
- - {/* Content area */} -
- {secureDmBlocked && ( -
-
-
- -
-
- DEAD DROP LOCKED -
-
- Need Wormhole activated. -
-
- Contacts, inbox, and private messages unlock once the private lane is up. -
-
-
- )} - - {/* CONTACTS VIEW */} - {!secureDmBlocked && dmView === 'contacts' && ( - <> - {contactList.length === 0 && ( -
- No contacts yet. Use + to - request access. -
- )} - {contactList.map(([id, c]) => { - const trust = getContactTrustSummary(c); - return ( -
openChat(id)} - > - - - {c.alias || id.slice(0, 16)} - - {c.remotePrekeyMismatch && ( - - REVERIFY - - )} - {!c.remotePrekeyMismatch && c.verify_mismatch && ( - - MISMATCH - - )} - {!c.remotePrekeyMismatch && !c.verify_mismatch && trust?.state === 'invite_pinned' && ( - - INVITE PINNED - - )} - {!c.remotePrekeyMismatch && !c.verify_mismatch && trust?.state === 'sas_verified' && ( - - SAS VERIFIED - - )} - {!c.remotePrekeyMismatch && - !c.verify_mismatch && - !c.remotePrekeyTransparencyConflict && - c.remotePrekeyLookupMode === 'legacy_agent_id' && ( - - LEGACY LOOKUP - - )} - {!c.remotePrekeyMismatch && !c.verify_mismatch && c.remotePrekeyTransparencyConflict && ( - - HISTORY CONFLICT - - )} - {!c.remotePrekeyMismatch && - !c.verify_mismatch && - trust?.state === 'tofu_pinned' && ( - - TOFU ONLY - - )} - -
- ); - })} - {pendingSent.length > 0 && ( - <> -
- PENDING SENT -
- {pendingSent.map((id) => ( -
- - {id.slice(0, 16)} - - awaiting - -
- ))} - - )} - - )} - - {/* INBOX VIEW — access requests */} - {!secureDmBlocked && dmView === 'inbox' && ( - <> - {accessRequests.length === 0 && ( -
- No incoming requests -
- )} - {accessRequests.map((req) => { - const requestActionsAllowed = shouldAllowRequestActions(req); - const recoveryState = req.sender_recovery_state; - return ( -
-
- - - {req.sender_id.slice(0, 16)} - - {recoveryState === 'verified' && ( - - VERIFIED - - )} - {recoveryState === 'pending' && ( - - RECOVERY PENDING - - )} - {recoveryState === 'failed' && ( - - RECOVERY FAILED - - )} - - {timeAgo(req.timestamp)} - -
-
- Requesting Dead Drop access -
- {req.geo_hint && ( -
- Geo hint (not proof): {req.geo_hint} -
- )} - {!requestActionsAllowed && ( -
- Sender authority is not verified yet. Actions stay disabled until - local recovery succeeds. -
- )} -
- - - -
-
- ); - })} - - )} - - {/* MUTED LIST VIEW */} - {!secureDmBlocked && dmView === 'muted' && ( - <> - {mutedArray.length === 0 && ( -
- No muted users -
- )} - {mutedArray.map((uid) => ( -
- - - {uid.slice(0, 20)} - - -
- ))} - - )} - - {/* CHAT VIEW */} - {!secureDmBlocked && dmView === 'chat' && ( - <> - {dmMessages.length === 0 && ( -
- - E2E encrypted dead drop — no messages yet -
- )} - {dmMessages.map((m) => ( -
-
- - {m.sender_id === identity?.nodeId - ? 'you' - : m.sender_id.slice(0, 12)} - - {m.sender_id !== identity?.nodeId && m.seal_verified === true && ( - - VERIFIED - - )} - {m.sender_id !== identity?.nodeId && m.seal_resolution_failed && ( - - SEAL UNRESOLVED - - )} - {m.sender_id !== identity?.nodeId && - !m.seal_resolution_failed && - m.seal_verified === false && ( - - UNVERIFIED - - )} - {m.transport && ( - - {m.transport === 'reticulum' ? 'DIRECT' : 'RELAY'} - - )} - - {m.plaintext || '[encrypted]'} - - - {timeAgo(m.timestamp)} - -
-
- ))} - - )} -
-
- - )} + {/* Dead Drop chat UI: Infonet Terminal → Messages */}
{/* INPUT BAR */} @@ -2341,21 +1570,15 @@ const MeshChat = React.memo(function MeshChat(props: MeshChatProps) { ? privateInfonetReady ? `→ INFONET${selectedGate ? ` / ${selectedGate}` : ''}${privateInfonetTransportReady ? '' : ' / EXPERIMENTAL ENCRYPTION'}` : '→ PRIVATE LANE LOCKED' - : activeTab === 'meshtastic' - ? canUsePublicMeshInput - ? meshDirectTarget - ? `→ MESH / TO ${meshDirectTarget.toUpperCase()} / FROM ${activePublicMeshAddress.toUpperCase()}` - : `→ MESH / ${meshRegion} / ${meshChannel} / ${activePublicMeshAddress.toUpperCase()}` - : publicMeshBlockedByWormhole - ? '→ MESH BLOCKED / WORMHOLE ACTIVE' + : canUsePublicMeshInput + ? meshDirectTarget + ? `→ MESH / TO ${meshDirectTarget.toUpperCase()} / FROM ${activePublicMeshAddress.toUpperCase()}` + : `→ MESH / ${meshRegion} / ${meshChannel} / ${activePublicMeshAddress.toUpperCase()}` + : publicMeshBlockedByWormhole + ? '→ MESH BLOCKED / WORMHOLE ACTIVE' : hasStoredPublicLaneIdentity ? '→ MESH OFF' - : '→ MESH LOCKED' - : activeTab === 'dms' && secureDmBlocked - ? '→ DEAD DROP LOCKED' - : dmView === 'chat' && selectedContact - ? `→ DEAD DROP / ${selectedContact.slice(0, 14)}` - : '→ SELECT TARGET'} + : '→ MESH LOCKED'} )} @@ -2386,19 +1609,6 @@ const MeshChat = React.memo(function MeshChat(props: MeshChatProps) { OPEN PRIVATE LANE BRIEF - ) : activeTab === 'dms' && secureDmBlocked ? ( - ) : activeTab === 'meshtastic' && !canUsePublicMeshInput ? (