Release cookie-free Persimmons vault link 0.6.0
This commit is contained in:
1 parent
53c4bb50f4
commit
1aa3cffaf2
32 files changed
+1535
-624
No files matched your search
+8
-4
@@ -56,7 +56,7 @@ async function refresh() {
|
||||
|
||||
const signedIn = response.ok;
|
||||
const identity = signedIn ? await response.json() : null;
|
||||
const owner = identity?.owner;
|
||||
const owner = identity?.owner || identity?.login?.toLowerCase() || identity?.user?.login?.toLowerCase() || identity?.name?.toLowerCase();
|
||||
const [state, latest, vault, named] = await Promise.all([
|
||||
extensionStatus(owner),
|
||||
latestVersion(),
|
||||
@@ -77,7 +77,8 @@ async function refresh() {
|
||||
$('addCredential').hidden = !signedIn || !state?.connected || !state?.initialized;
|
||||
$('userState').hidden = true;
|
||||
$('userState').textContent = '';
|
||||
$('userIdentity').textContent = signedIn ? 'Signed in as ' + identity.name : '';
|
||||
const displayName = identity?.name || identity?.login || identity?.user?.login || owner || '';
|
||||
$('userIdentity').textContent = signedIn ? 'Signed in as ' + displayName : '';
|
||||
currentOwner = owner; currentState = state;
|
||||
if (!await renderVaults(signedIn, named, current)) return;
|
||||
if (current !== generation || dragging || juiceBusy) return;
|
||||
@@ -111,8 +112,11 @@ async function refresh() {
|
||||
|
||||
const inventory = $('vaultItems');
|
||||
inventory.replaceChildren();
|
||||
const vaultAvailable = Array.isArray(vault?.items);
|
||||
const items = vaultAvailable ? vault.items.filter(item => {
|
||||
const serverItems = Array.isArray(vault?.items) ? vault.items : null;
|
||||
const extensionItems = Array.isArray(decrypted?.items) ? decrypted.items : null;
|
||||
const sourceItems = serverItems || extensionItems;
|
||||
const vaultAvailable = Array.isArray(sourceItems);
|
||||
const items = vaultAvailable ? sourceItems.filter(item => {
|
||||
try { return /^[0-9a-f]{32}$/.test(item.id) && new URL(item.origin).protocol === 'https:'; }
|
||||
catch { return false; }
|
||||
}) : [];
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Install · Persimmons</title><style>body{background:#fffdfa;color:#241a14;font:16px system-ui;max-width:36rem;margin:4rem auto;padding:1rem;line-height:1.6}a{color:#b8530d}li{margin:1rem 0}</style><h1>Install Persimmons</h1><p>This MVP installs as an unpacked Chromium extension.</p><ol><li><a href="/assets/extension.zip">Download the current extension</a> and extract the ZIP. Keep the folder.</li><li>Open <strong>chrome://extensions</strong>, turn on <strong>Developer mode</strong>, choose <strong>Load unpacked</strong>, and select the extracted <strong>persimmons-extension</strong> folder.</li><li>Pin 🍊 from your browser’s extensions menu. Open it, choose <strong>Link vault</strong>, allow access to Persimmons, then choose a vault passphrase and press Enter.</li></ol><p>Keep this browser profile, extension folder, and passphrase. Vault key sync and recovery are not available.</p><a href="/">Return to your vault</a></html>
|
||||
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Install · Persimmons</title><style>body{background:#fffdfa;color:#241a14;font:16px system-ui;max-width:36rem;margin:4rem auto;padding:1rem;line-height:1.6}a{color:#b8530d}li{margin:1rem 0}</style><h1>Install Persimmons</h1><p>This MVP installs as an unpacked Chromium extension.</p><ol><li><a href="/assets/extension.zip">Download the current extension</a> and extract the ZIP. Keep the folder.</li><li>Open <strong>chrome://extensions</strong>, turn on <strong>Developer mode</strong>, choose <strong>Load unpacked</strong>, and select the extracted <strong>persimmons-extension</strong> folder.</li><li>Keep Persimmons open, pin 🍊 from your browser’s extensions menu, then open it and choose <strong>Link vault</strong>. Choose a vault passphrase and press Enter.</li></ol><p>Keep this browser profile, extension folder, and passphrase. Vault key sync and recovery are not available.</p><a href="/">Return to your vault</a></html>
|
||||
Reference in new issue
Block a user