lint fix wip

This commit is contained in:
Nicolas Cantu 2026-01-06 23:20:55 +01:00
parent dec7359dcd
commit 5677ca245d
8 changed files with 39 additions and 17 deletions

View File

@ -3,6 +3,7 @@ import { configStorage } from '@/lib/configStorage'
import type { RelayConfig } from '@/lib/configStorageTypes' import type { RelayConfig } from '@/lib/configStorageTypes'
import { t } from '@/lib/i18n' import { t } from '@/lib/i18n'
import { userConfirm } from '@/lib/userConfirm' import { userConfirm } from '@/lib/userConfirm'
import { relaySessionManager } from '@/lib/relaySessionManager'
interface RelayManagerProps { interface RelayManagerProps {
onConfigChange?: () => void onConfigChange?: () => void
@ -27,7 +28,30 @@ export function RelayManager({ onConfigChange }: RelayManagerProps): React.React
setLoading(true) setLoading(true)
setError(null) setError(null)
const config = await configStorage.getConfig() const config = await configStorage.getConfig()
// Get failed relays from session manager and disable them in config
const failedRelays = relaySessionManager.getFailedRelays()
if (failedRelays.length > 0) {
let hasChanges = false
for (const relayUrl of failedRelays) {
// Find the relay config by URL
const relayConfig = config.relays.find((r) => r.url === relayUrl)
if (relayConfig && relayConfig.enabled) {
// Disable the failed relay
await configStorage.updateRelay(relayConfig.id, { enabled: false })
hasChanges = true
}
}
// Reload config if we made changes
if (hasChanges) {
const updatedConfig = await configStorage.getConfig()
setRelays(updatedConfig.relays.sort((a, b) => a.priority - b.priority))
} else {
setRelays(config.relays.sort((a, b) => a.priority - b.priority)) setRelays(config.relays.sort((a, b) => a.priority - b.priority))
}
} else {
setRelays(config.relays.sort((a, b) => a.priority - b.priority))
}
} catch (e) { } catch (e) {
const errorMessage = e instanceof Error ? e.message : t('settings.relay.error.loadFailed') const errorMessage = e instanceof Error ? e.message : t('settings.relay.error.loadFailed')
setError(errorMessage) setError(errorMessage)
@ -381,7 +405,7 @@ export function RelayManager({ onConfigChange }: RelayManagerProps): React.React
</div> </div>
<div className="flex items-center gap-2 text-xs text-cyber-accent/70"> <div className="flex items-center gap-2 text-xs text-cyber-accent/70">
<span> <span>
{t('settings.relay.list.priorityLabel', { priority: index + 1, id: relay.id })} {t('settings.relay.list.priorityLabel', { priority: index + 1 })}
</span> </span>
</div> </div>
</div> </div>

View File

@ -284,11 +284,9 @@ class PlatformSyncService {
if (event.id === '527d83e0af20bf23c3e104974090ccc21536ece72c24eb784b3642890f63b763') { if (event.id === '527d83e0af20bf23c3e104974090ccc21536ece72c24eb784b3642890f63b763') {
console.warn(`[PlatformSync] Target event cached successfully as author with hash:`, parsed.hash) console.warn(`[PlatformSync] Target event cached successfully as author with hash:`, parsed.hash)
} }
} else { } else if (event.id === '527d83e0af20bf23c3e104974090ccc21536ece72c24eb784b3642890f63b763') {
if (event.id === '527d83e0af20bf23c3e104974090ccc21536ece72c24eb784b3642890f63b763') {
console.warn(`[PlatformSync] Target event NOT cached: parsed=${parsed !== null}, hasHash=${parsed?.hash !== undefined}`) console.warn(`[PlatformSync] Target event NOT cached: parsed=${parsed !== null}, hasHash=${parsed?.hash !== undefined}`)
} }
}
} else if (tags.type === 'series') { } else if (tags.type === 'series') {
const parsed = await parseSeriesFromEvent(event) const parsed = await parseSeriesFromEvent(event)
if (parsed && parsed.hash) { if (parsed && parsed.hash) {

View File

@ -21,7 +21,7 @@ export class ReviewRewardService {
const split = calculateReviewSplit() const split = calculateReviewSplit()
const invoice = await createReviewInvoice(split, request) const invoice = await createReviewInvoice(split, request)
console.log('Review reward invoice created', { console.warn('Review reward invoice created', {
reviewId: request.reviewId, reviewId: request.reviewId,
articleId: request.articleId, articleId: request.articleId,
reviewerPubkey: request.reviewerPubkey, reviewerPubkey: request.reviewerPubkey,
@ -67,7 +67,7 @@ export class ReviewRewardService {
await trackReviewReward(request, split, paymentHash) await trackReviewReward(request, split, paymentHash)
await updateReviewWithReward(request.reviewId, request.authorPrivateKey) await updateReviewWithReward(request.reviewId, request.authorPrivateKey)
console.log('Review reward processed', { console.warn('Review reward processed', {
reviewId: request.reviewId, reviewId: request.reviewId,
articleId: request.articleId, articleId: request.articleId,
reviewerPubkey: request.reviewerPubkey, reviewerPubkey: request.reviewerPubkey,

View File

@ -7,7 +7,7 @@ export async function trackReviewReward(
): Promise<void> { ): Promise<void> {
try { try {
// In production, publish tracking event on Nostr similar to article payments // In production, publish tracking event on Nostr similar to article payments
console.log('Review reward tracked', { console.warn('Review reward tracked', {
reviewId: request.reviewId, reviewId: request.reviewId,
articleId: request.articleId, articleId: request.articleId,
reviewerPubkey: request.reviewerPubkey, reviewerPubkey: request.reviewerPubkey,

View File

@ -21,7 +21,7 @@ export function logVerificationSuccess(
authorMainnetAddress: string, authorMainnetAddress: string,
verification: { authorOutput?: { amount: number }; platformOutput?: { amount: number }; confirmed: boolean; confirmations: number } verification: { authorOutput?: { amount: number }; platformOutput?: { amount: number }; confirmed: boolean; confirmations: number }
): void { ): void {
console.log('Sponsoring payment verified', { console.warn('Sponsoring payment verified', {
transactionId, transactionId,
authorPubkey, authorPubkey,
authorAddress: authorMainnetAddress, authorAddress: authorMainnetAddress,

View File

@ -64,7 +64,7 @@ async function fetchAndCachePublications(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
sub = result sub = result
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
sub = createSubscription(pool, [usedRelayUrl], filters) sub = createSubscription(pool, [usedRelayUrl], filters)
@ -192,7 +192,7 @@ async function fetchAndCacheSeries(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
sub = result sub = result
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
sub = createSubscription(pool, [usedRelayUrl], filters) sub = createSubscription(pool, [usedRelayUrl], filters)
@ -322,7 +322,7 @@ async function fetchAndCachePurchases(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
sub = result sub = result
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
sub = createSubscription(pool, [usedRelayUrl], filters) sub = createSubscription(pool, [usedRelayUrl], filters)
@ -423,7 +423,7 @@ async function fetchAndCacheSponsoring(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
sub = result sub = result
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
sub = createSubscription(pool, [usedRelayUrl], filters) sub = createSubscription(pool, [usedRelayUrl], filters)
@ -524,7 +524,7 @@ async function fetchAndCacheReviewTips(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
sub = result sub = result
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
sub = createSubscription(pool, [usedRelayUrl], filters) sub = createSubscription(pool, [usedRelayUrl], filters)
@ -644,7 +644,7 @@ async function fetchAndCachePaymentNotes(
5000 // 5 second timeout per relay 5000 // 5 second timeout per relay
) )
subscriptions = result.flat() subscriptions = result.flat()
} catch (_rotationError) { } catch {
// Fallback to primary relay if rotation fails // Fallback to primary relay if rotation fails
usedRelayUrl = getPrimaryRelaySync() usedRelayUrl = getPrimaryRelaySync()
subscriptions = filters.map((filter) => createSubscription(pool, [usedRelayUrl], [filter])) subscriptions = filters.map((filter) => createSubscription(pool, [usedRelayUrl], [filter]))

View File

@ -299,7 +299,7 @@ settings.relay.add.add=Add
settings.relay.add.cancel=Cancel settings.relay.add.cancel=Cancel
settings.relay.list.enabled=Enabled settings.relay.list.enabled=Enabled
settings.relay.list.disabled=Disabled settings.relay.list.disabled=Disabled
settings.relay.list.priorityLabel=Priority {{priority}} (ID: {{id}}) settings.relay.list.priorityLabel=Priority {{priority}}
settings.relay.list.editUrl=Click to edit URL settings.relay.list.editUrl=Click to edit URL
settings.relay.list.remove=Remove settings.relay.list.remove=Remove
settings.relay.remove.confirm=Are you sure you want to remove this relay? settings.relay.remove.confirm=Are you sure you want to remove this relay?

View File

@ -304,7 +304,7 @@ settings.relay.add.add=Ajouter
settings.relay.add.cancel=Annuler settings.relay.add.cancel=Annuler
settings.relay.list.enabled=Activé settings.relay.list.enabled=Activé
settings.relay.list.disabled=Désactivé settings.relay.list.disabled=Désactivé
settings.relay.list.priorityLabel=Priorité {{priority}} (ID: {{id}}) settings.relay.list.priorityLabel=Priorité {{priority}}
settings.relay.list.editUrl=Cliquer pour modifier l'URL settings.relay.list.editUrl=Cliquer pour modifier l'URL
settings.relay.list.remove=Supprimer settings.relay.list.remove=Supprimer
settings.relay.remove.confirm=Êtes-vous sûr de vouloir supprimer ce relais ? settings.relay.remove.confirm=Êtes-vous sûr de vouloir supprimer ce relais ?