This commit is contained in:
2025-08-01 20:36:35 +09:00
parent 5aeeba106a
commit 55745ff051
8 changed files with 20 additions and 32 deletions

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react'
import { logger } from '../utils/logger.js'
export default function AuthButton({ user, onLogin, onLogout, loading }) {
const [handleInput, setHandleInput] = useState('')
@@ -12,7 +13,7 @@ export default function AuthButton({ user, onLogin, onLogout, loading }) {
try {
await onLogin(handleInput.trim())
} catch (error) {
console.error('Login failed:', error)
logger.error('Login failed:', error)
alert('ログインに失敗しました: ' + error.message)
} finally {
setIsLoading(false)

View File

@@ -1,6 +1,7 @@
import React, { useState, useEffect } from 'react'
import Avatar, { AvatarWithCard, AvatarList } from './Avatar.jsx'
import { getAvatar, batchFetchAvatars, prefetchAvatar } from '../utils/avatar.js'
import { logger } from '../utils/logger.js'
/**
* Test component to demonstrate avatar functionality
@@ -63,7 +64,7 @@ export default function AvatarTest() {
setTestResults(results)
} catch (error) {
console.error('Test failed:', error)
logger.error('Test failed:', error)
} finally {
setLoading(false)
}
@@ -78,7 +79,7 @@ export default function AvatarTest() {
batchResults: Object.fromEntries(avatarMap)
}))
} catch (error) {
console.error('Batch test failed:', error)
logger.error('Batch test failed:', error)
} finally {
setLoading(false)
}
@@ -94,7 +95,7 @@ export default function AvatarTest() {
prefetchResult: cachedAvatar
}))
} catch (error) {
console.error('Prefetch test failed:', error)
logger.error('Prefetch test failed:', error)
} finally {
setLoading(false)
}

View File

@@ -1,6 +1,7 @@
import React, { useState } from 'react'
import { atproto, collections } from '../api/atproto.js'
import { env } from '../config/env.js'
import { logger } from '../utils/logger.js'
const ProfileForm = ({ user, agent, apiConfig, onProfilePosted }) => {
const [text, setText] = useState('')
@@ -79,7 +80,7 @@ const ProfileForm = ({ user, agent, apiConfig, onProfilePosted }) => {
}
} catch (err) {
console.error('Failed to create profile:', err)
logger.error('Failed to create profile:', err)
setError(err.message || 'プロフィールの作成に失敗しました')
} finally {
setPosting(false)

View File

@@ -1,6 +1,7 @@
import React, { useState } from 'react'
import { atproto } from '../api/atproto.js'
import { getPdsFromHandle, getApiConfig } from '../utils/pds.js'
import { logger } from '../utils/logger.js'
export default function UserLookup() {
const [handleInput, setHandleInput] = useState('')
@@ -26,7 +27,7 @@ export default function UserLookup() {
config: apiConfig
})
} catch (error) {
console.error('User lookup failed:', error)
logger.error('User lookup failed:', error)
setUserInfo({ error: error.message })
} finally {
setLoading(false)

View File

@@ -1,5 +1,6 @@
import { useState, useEffect } from 'react'
import { OAuthService } from '../services/oauth.js'
import { logger } from '../utils/logger.js'
const oauthService = new OAuthService()
@@ -21,7 +22,7 @@ export function useAuth() {
// If we're on callback page and authentication succeeded, notify parent
if (window.location.pathname === '/oauth/callback') {
console.log('OAuth callback completed, notifying parent window')
logger.log('OAuth callback completed, notifying parent window')
// Get referrer or use stored return URL
const returnUrl = sessionStorage.getItem('oauth_return_url') ||
@@ -48,7 +49,7 @@ export function useAuth() {
}
}
} catch (error) {
console.error('Auth initialization failed:', error)
logger.error('Auth initialization failed:', error)
} finally {
setLoading(false)
}

View File

@@ -2,6 +2,7 @@ import { BrowserOAuthClient } from '@atproto/oauth-client-browser'
import { Agent } from '@atproto/api'
import { env } from '../config/env.js'
import { isSyuIsHandle } from '../utils/pds.js'
import { logger } from '../utils/logger.js'
export class OAuthService {
constructor() {
@@ -44,7 +45,7 @@ export class OAuthService {
// Try to restore session
return await this.restoreSession()
} catch (error) {
console.error('OAuth initialization failed:', error)
logger.error('OAuth initialization failed:', error)
this.initPromise = null
throw error
}
@@ -89,18 +90,18 @@ export class OAuthService {
displayName = profile.data.displayName || null
avatar = profile.data.avatar || null
console.log('Profile fetched from session:', {
logger.log('Profile fetched from session:', {
did,
handle,
displayName,
avatar: avatar ? 'present' : 'none'
})
} catch (error) {
console.log('Failed to get profile from session:', error)
logger.log('Failed to get profile from session:', error)
// Keep the basic info we have
}
} else if (did && did.includes('test-')) {
console.log('Skipping profile fetch for test DID:', did)
logger.log('Skipping profile fetch for test DID:', did)
}
this.sessionInfo = {
@@ -140,7 +141,7 @@ export class OAuthService {
}
return null
} catch (error) {
console.error('Auth check failed:', error)
logger.error('Auth check failed:', error)
return null
}
}
@@ -168,7 +169,7 @@ export class OAuthService {
// Reload page
window.location.reload()
} catch (error) {
console.error('Logout failed:', error)
logger.error('Logout failed:', error)
}
}

View File

@@ -21,21 +21,14 @@ export default function AtUriViewer({ uri, onAtUriClick }) {
setError(null)
try {
console.log('Loading AT URI:', uri)
const atUri = parseAtUri(uri)
if (!atUri) {
throw new Error('Invalid AT URI')
}
console.log('Parsed AT URI:', {
hostname: atUri.hostname,
collection: atUri.collection,
rkey: atUri.rkey
})
const result = await getRecord(atUri.hostname, atUri.collection, atUri.rkey)
console.log('getRecord result:', result)
if (!result.success) {
throw new Error(result.error)
@@ -43,7 +36,6 @@ export default function AtUriViewer({ uri, onAtUriClick }) {
setRecord(result.data)
} catch (err) {
console.error('AtUriViewer error:', err)
setError(err.message)
} finally {
setLoading(false)

View File

@@ -39,7 +39,6 @@ export const resolveIdentity = async (identifier) => {
did = response.data.did
resolved = true
} catch (error) {
console.log('Failed to resolve from syu.is:', error)
}
if (!resolved) {
@@ -64,7 +63,6 @@ export const resolveIdentity = async (identifier) => {
didDoc = await plcResponse.json()
}
} catch (error) {
console.log('Failed to resolve from plc.syu.is:', error)
}
// If plc.syu.is fails, try plc.directory
@@ -75,7 +73,6 @@ export const resolveIdentity = async (identifier) => {
didDoc = await plcResponse.json()
}
} catch (error) {
console.log('Failed to resolve from plc.directory:', error)
}
}
@@ -114,17 +111,13 @@ export const resolveIdentity = async (identifier) => {
// Get record from AT Protocol
export const getRecord = async (did, collection, rkey) => {
try {
console.log('getRecord called with:', { did, collection, rkey })
const identityResult = await resolveIdentity(did)
console.log('resolveIdentity result:', identityResult)
if (!identityResult.success) {
return { success: false, error: identityResult.error }
}
const pdsUrl = identityResult.pdsUrl
console.log('Using PDS URL:', pdsUrl)
const client = createAtpClient(pdsUrl)
@@ -134,15 +127,12 @@ export const getRecord = async (did, collection, rkey) => {
rkey
})
console.log('getRecord response:', response)
return {
success: true,
data: response.data,
pdsUrl
}
} catch (error) {
console.error('getRecord error:', error)
return {
success: false,
error: error.message