UnENVerse 0.42.6
Local-first desktop secrets manager — TypeScript frontend
Loading...
Searching...
No Matches
pools.ts File Reference
import st;

Functions

function export memberRef (e:VaultEntry)
 The identity fields entry_ck needs, and nothing else.
 
function async renderPoolsPane ()
 A label that distinguishes members of one pool.
 

Variables

const invoke = invokeTauri
 
const DEFAULT_COOLDOWN_MIN = 15
 Default cooldown offered by the button, matching the CLI's --for default.
 
uses __pad0__
 
cooling __pad1__
 
cooling_until __pad2__
 
last_used_at __pad3__
 
 null
 
 try
 
const cooling = rows.filter((r) => r.cooling).length
 
 return { ready: rows.length - cooling, cooling }
 
 catch
 

Function Documentation

◆ memberRef()

function export memberRef (   e:VaultEntry)

The identity fields entry_ck needs, and nothing else.

Deliberately not the whole entry: pool_state and pool_set_cooldown have no use for a secret, so none crosses the IPC boundary. The key itself is computed in Rust by the same entry_ck version history and audit attribution use — recomputing it here would be a second identity scheme that agrees until it does not.

◆ renderPoolsPane()

function async renderPoolsPane ( )

A label that distinguishes members of one pool.

Mirrors Member::label. Pool name → its entries, in vault order. remote_base for the Rust commands, so a remote session does not read the local vault's cursors.

The same mistake the LAN gate exists to prevent: acting on this machine's vault while the screen shows someone else's. Where the state file lives, cached after the first successful lookup. Ready/cooling counts for one pool, for the card grid's collapsed pool card (Phase 24.2). null outside Tauri or on any IPC failure — the caller shows the plain member count instead of a stale or fabricated split.

Variable Documentation

◆ invoke

const invoke = invokeTauri

◆ DEFAULT_COOLDOWN_MIN

const DEFAULT_COOLDOWN_MIN = 15

Default cooldown offered by the button, matching the CLI's --for default.

◆ __pad0__

uses __pad0__

◆ __pad1__

cooling __pad1__

◆ __pad2__

cooling_until __pad2__

◆ __pad3__

last_used_at __pad3__

◆ null

null
Initial value:
{
if (!inTauri) return null

◆ try

try
Initial value:
{
const rows = (await invoke('pool_state', {
pool: name,
members: members.map(memberRef),
remoteBase: remoteBase(),
})) as MemberState[] | undefined
let pool
Definition generators.ts:33
function export memberRef(e:VaultEntry)
The identity fields entry_ck needs, and nothing else.
Definition pools.ts:31
const invoke
Definition pools.ts:8

◆ cooling

const cooling = rows.filter((r) => r.cooling).length

◆ return

return { ready: rows.length - cooling, cooling }

◆ catch

catch
Initial value:
{
return null