From 623fe61468d70683a9eb5f25a88b457c8c1f1d41 Mon Sep 17 00:00:00 2001 From: syui Date: Sun, 18 Jan 2026 21:37:00 +0900 Subject: [PATCH] fix loading --- public/config.json | 1 + .../ai.syui.log.post/3mchqlshygs2s.json | 7 +- .../ai.syui.log.post/index.json | 4 +- ...vx6jpfcm3d6aeq4g3qpsiqjdoeytnutwp6vwc2yo7u | Bin 0 -> 166370 bytes src/commands/post.rs | 21 ++++++ src/web/components/profile.ts | 10 ++- src/web/lib/api.ts | 70 ++++++++++++------ src/web/main.ts | 48 +++++++----- src/web/types.ts | 1 + 9 files changed, 114 insertions(+), 48 deletions(-) create mode 100644 public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/blob/bafkreigta4pf5h7uvx6jpfcm3d6aeq4g3qpsiqjdoeytnutwp6vwc2yo7u diff --git a/public/config.json b/public/config.json index 7d4291b..08ee20d 100644 --- a/public/config.json +++ b/public/config.json @@ -1,5 +1,6 @@ { "title": "syui.ai", + "did": "did:plc:vzsvtbtbnwn22xjqhcu3vd6y", "handle": "syui.syui.ai", "collection": "ai.syui.log.post", "network": "syu.is", diff --git a/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mchqlshygs2s.json b/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mchqlshygs2s.json index 3abbea1..a29045d 100644 --- a/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mchqlshygs2s.json +++ b/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mchqlshygs2s.json @@ -8,10 +8,9 @@ "title": "ailogを作り直した", "translations": { "en": { - "content": "## About ailog\n\nA site generator that integrates with atproto.\n\n## How to Use ailog\n\n```sh\n$ git clone https://git.syui.ai/ai/log\n$ cd log\n$ cat public/config.json\n{\n \"title\": \"syui.ai\",\n \"handle\": \"syui.syui.ai\",\n \"collection\": \"ai.syui.log.post\",\n \"network\": \"syu.is\",\n \"color\": \"#0066cc\",\n \"siteUrl\": \"https://syui.ai\"\n}\n---\n$ npm run dev\n```\n\n## ailog's Concept\n\n1. Based on at-browser architecture\n2. Uses atproto oAuth for login\n3. Allows posting articles through the logged-in account", + "content": "## What is ailog?\n\nA site generator that integrates with atproto.\n\n## How to use ailog\n\n```sh\n$ git clone https://git.syui.ai/ai/log\n$ cd log\n$ cat public/config.json\n{\n \"title\": \"syui.ai\",\n \"handle\": \"syui.syui.ai\",\n \"collection\": \"ai.syui.log.post\",\n \"network\": \"syu.is\",\n \"color\": \"#0066cc\",\n \"siteUrl\": \"https://syui.ai\"\n}\n---\n$ npm run dev\n```\n\n## ailog's concept\n\n1. Based on at-browser as its foundation\n2. Logs in via atproto oauth\n3. Allows users to post articles using their logged-in account", "title": "recreated ailog" } - }, - "lang": "ja" + } } -} +} \ No newline at end of file diff --git a/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/index.json b/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/index.json index 506d423..ed7d5dd 100644 --- a/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/index.json +++ b/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/index.json @@ -1 +1,3 @@ -["3mchqlshygs2s"] +[ + "3mchqlshygs2s" +] \ No newline at end of file diff --git a/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/blob/bafkreigta4pf5h7uvx6jpfcm3d6aeq4g3qpsiqjdoeytnutwp6vwc2yo7u b/public/content/did:plc:vzsvtbtbnwn22xjqhcu3vd6y/blob/bafkreigta4pf5h7uvx6jpfcm3d6aeq4g3qpsiqjdoeytnutwp6vwc2yo7u new file mode 100644 index 0000000000000000000000000000000000000000..c04de9bc39d419d2329e14a885a2ddfe80c95a4e GIT binary patch literal 166370 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 THvEwde`Le|Q?nuH+sJ Result<()> { let profile_path = format!("{}/self.json", profile_dir); fs::write(&profile_path, serde_json::to_string_pretty(&profile)?)?; println!("Saved: {}", profile_path); + + // Download avatar blob if present + if let Some(avatar_cid) = profile["value"]["avatar"]["ref"]["$link"].as_str() { + let blob_dir = format!("{}/blob", did_dir); + fs::create_dir_all(&blob_dir)?; + let blob_path = format!("{}/{}", blob_dir, avatar_cid); + + let blob_url = format!( + "{}/xrpc/com.atproto.sync.getBlob?did={}&cid={}", + pds, did, avatar_cid + ); + println!("Downloading avatar: {}", avatar_cid); + let blob_res = client.get(&blob_url).send().await?; + if blob_res.status().is_success() { + let blob_bytes = blob_res.bytes().await?; + fs::write(&blob_path, &blob_bytes)?; + println!("Saved: {}", blob_path); + } else { + println!("Failed to download avatar: {}", blob_res.status()); + } + } } // 3. Sync collection records diff --git a/src/web/components/profile.ts b/src/web/components/profile.ts index ca6c577..9cbdfcb 100644 --- a/src/web/components/profile.ts +++ b/src/web/components/profile.ts @@ -1,13 +1,17 @@ import type { Profile } from '../types' -import { getAvatarUrl } from '../lib/api' +import { getAvatarUrl, getAvatarUrlRemote } from '../lib/api' export async function renderProfile( did: string, profile: Profile, handle: string, - webUrl?: string + webUrl?: string, + localOnly = false ): Promise { - const avatarUrl = await getAvatarUrl(did, profile) + // Local mode: sync, no API call. Remote mode: async with API call + const avatarUrl = localOnly + ? getAvatarUrl(did, profile, true) + : await getAvatarUrlRemote(did, profile) const displayName = profile.value.displayName || handle || 'Unknown' const description = profile.value.description || '' diff --git a/src/web/lib/api.ts b/src/web/lib/api.ts index d15c9ba..b4923dd 100644 --- a/src/web/lib/api.ts +++ b/src/web/lib/api.ts @@ -80,13 +80,16 @@ async function getLocalProfile(did: string): Promise { return null } -// Load profile (local first for admin, remote for others) -export async function getProfile(did: string, localFirst = true): Promise { - if (localFirst) { - const local = await getLocalProfile(did) - if (local) return local - } +// Load profile (local only for admin, remote for others) +export async function getProfile(did: string, localOnly = false): Promise { + // Try local first + const local = await getLocalProfile(did) + if (local) return local + // If local only mode, don't call API + if (localOnly) return null + + // Remote fallback const pds = await getPds(did) if (!pds) return null @@ -101,8 +104,23 @@ export async function getProfile(did: string, localFirst = true): Promise { +// Get avatar URL (local only for admin, remote for others) +export function getAvatarUrl(did: string, profile: Profile, localOnly = false): string | null { + if (!profile.value.avatar) return null + + const cid = profile.value.avatar.ref.$link + + // Local mode: use local blob path (sync command downloads this) + if (localOnly) { + return `/content/${did}/blob/${cid}` + } + + // Remote mode: use PDS blob URL (requires getPds call from caller if needed) + return null +} + +// Get avatar URL with PDS lookup (async, for remote users) +export async function getAvatarUrlRemote(did: string, profile: Profile): Promise { if (!profile.value.avatar) return null const pds = await getPds(did) @@ -132,13 +150,16 @@ async function getLocalPosts(did: string, collection: string): Promise { return [] } -// Load posts (local first for admin, remote for others) -export async function getPosts(did: string, collection: string, localFirst = true): Promise { - if (localFirst) { - const local = await getLocalPosts(did, collection) - if (local.length > 0) return local - } +// Load posts (local only for admin, remote for others) +export async function getPosts(did: string, collection: string, localOnly = false): Promise { + // Try local first + const local = await getLocalPosts(did, collection) + if (local.length > 0) return local + // If local only mode, don't call API + if (localOnly) return [] + + // Remote fallback const pds = await getPds(did) if (!pds) return [] @@ -158,17 +179,20 @@ export async function getPosts(did: string, collection: string, localFirst = tru return [] } -// Get single post -export async function getPost(did: string, collection: string, rkey: string, localFirst = true): Promise { - if (localFirst) { - try { - const res = await fetch(`/content/${did}/${collection}/${rkey}.json`) - if (res.ok && isJsonResponse(res)) return res.json() - } catch { - // Not found - } +// Get single post (local only for admin, remote for others) +export async function getPost(did: string, collection: string, rkey: string, localOnly = false): Promise { + // Try local first + try { + const res = await fetch(`/content/${did}/${collection}/${rkey}.json`) + if (res.ok && isJsonResponse(res)) return res.json() + } catch { + // Not found } + // If local only mode, don't call API + if (localOnly) return null + + // Remote fallback const pds = await getPds(did) if (!pds) return null diff --git a/src/web/main.ts b/src/web/main.ts index 6634d48..850d37f 100644 --- a/src/web/main.ts +++ b/src/web/main.ts @@ -14,6 +14,7 @@ import { showLoading, hideLoading } from './components/loading' const app = document.getElementById('app')! let currentHandle = '' +let isFirstRender = true // Filter collections by service domain function filterCollectionsByService(collections: string[], service: string): string[] { @@ -52,7 +53,10 @@ async function getWebUrl(handle: string): Promise { } async function render(route: Route): Promise { - showLoading(app) + // Skip loading indicator on first render for faster perceived performance + if (!isFirstRender) { + showLoading(app) + } try { const config = await getConfig() @@ -73,12 +77,14 @@ async function render(route: Route): Promise { // Handle OAuth callback if present (check both ? and #) const searchParams = new URLSearchParams(window.location.search) const hashParams = window.location.hash ? new URLSearchParams(window.location.hash.slice(1)) : null - if (searchParams.has('code') || searchParams.has('state') || hashParams?.has('code') || hashParams?.has('state')) { + if (oauthEnabled && (searchParams.has('code') || searchParams.has('state') || hashParams?.has('code') || hashParams?.has('state'))) { await handleCallback() } - // Restore session from storage - await restoreSession() + // Restore session from storage (skip if oauth disabled) + if (oauthEnabled) { + await restoreSession() + } // Redirect logged-in user from root to their user page if (route.type === 'home' && isLoggedIn()) { @@ -89,25 +95,31 @@ async function render(route: Route): Promise { } } - // Determine handle and whether to use local data + // Determine handle and whether to use local data only (no API calls) let handle: string - let localFirst: boolean + let localOnly: boolean + let did: string | null if (route.type === 'home') { handle = config.handle - localFirst = true + localOnly = true + did = config.did || null } else if (route.handle) { handle = route.handle - localFirst = handle === config.handle + localOnly = handle === config.handle + did = localOnly ? (config.did || null) : null } else { handle = config.handle - localFirst = true + localOnly = true + did = config.did || null } currentHandle = handle - // Resolve handle to DID - const did = await resolveHandle(handle) + // Resolve handle to DID only for remote users + if (!did) { + did = await resolveHandle(handle) + } if (!did) { app.innerHTML = ` @@ -119,12 +131,12 @@ async function render(route: Route): Promise { return } - // Load profile - const profile = await getProfile(did, localFirst) + // Load profile (local only for admin, remote for others) + const profile = await getProfile(did, localOnly) const webUrl = await getWebUrl(handle) - // Load posts to check for translations - const posts = await getPosts(did, config.collection, localFirst) + // Load posts (local only for admin, remote for others) + const posts = await getPosts(did, config.collection, localOnly) // Collect available languages from posts const availableLangs = new Set() @@ -151,7 +163,7 @@ async function render(route: Route): Promise { // Profile section if (profile) { - html += await renderProfile(did, profile, handle, webUrl) + html += await renderProfile(did, profile, handle, webUrl, localOnly) } // Check if logged-in user owns this content @@ -197,7 +209,7 @@ async function render(route: Route): Promise { } else if (route.type === 'post' && route.rkey) { // Post detail (config.collection with markdown) - const post = await getPost(did, config.collection, route.rkey, localFirst) + const post = await getPost(did, config.collection, route.rkey, localOnly) html += renderLangSelector(langList) if (post) { html += `
${renderPostDetail(post, handle, config.collection, isOwner, config.siteUrl, webUrl)}
` @@ -273,6 +285,8 @@ async function render(route: Route): Promise { ` hideLoading(app) setupEventHandlers() + } finally { + isFirstRender = false } } diff --git a/src/web/types.ts b/src/web/types.ts index 64cf791..808bd1c 100644 --- a/src/web/types.ts +++ b/src/web/types.ts @@ -1,6 +1,7 @@ // Config types export interface AppConfig { title: string + did?: string handle: string collection: string network: string