Update RelayInitializer and SocialFeedService to use transaction lock

This commit is contained in:
DocNR 2025-03-24 21:51:15 -04:00
parent 4e5ca9fcaf
commit b5bf32d10f
2 changed files with 12 additions and 3 deletions

View File

@ -7,6 +7,7 @@ import { useConnectivity } from '@/lib/db/services/ConnectivityService';
import { ConnectivityService } from '@/lib/db/services/ConnectivityService'; import { ConnectivityService } from '@/lib/db/services/ConnectivityService';
import { profileImageCache } from '@/lib/db/services/ProfileImageCache'; import { profileImageCache } from '@/lib/db/services/ProfileImageCache';
import { getSocialFeedCache } from '@/lib/db/services/SocialFeedCache'; import { getSocialFeedCache } from '@/lib/db/services/SocialFeedCache';
import { getContactCacheService } from '@/lib/db/services/ContactCacheService';
import { useDatabase } from '@/components/DatabaseProvider'; import { useDatabase } from '@/components/DatabaseProvider';
/** /**
@ -26,8 +27,15 @@ export default function RelayInitializer() {
console.log('[RelayInitializer] Setting NDK instance in ProfileImageCache'); console.log('[RelayInitializer] Setting NDK instance in ProfileImageCache');
profileImageCache.setNDK(ndk); profileImageCache.setNDK(ndk);
// Initialize SocialFeedCache with NDK instance // Initialize caches with NDK instance
if (db) { if (db) {
// Initialize ContactCacheService
try {
getContactCacheService(db);
console.log('[RelayInitializer] ContactCacheService initialized');
} catch (error) {
console.error('[RelayInitializer] Error initializing ContactCacheService:', error);
}
// Maximum number of retry attempts // Maximum number of retry attempts
const MAX_RETRIES = 3; const MAX_RETRIES = 3;

View File

@ -165,12 +165,13 @@ export class SocialFeedService {
} else if (feedType === 'following') { } else if (feedType === 'following') {
// Following feed: Show content from followed users // Following feed: Show content from followed users
if (!Array.isArray(authors) || authors.length === 0) { if (!Array.isArray(authors) || authors.length === 0) {
console.error('[SocialFeedService] Following feed requires authors'); // Initial load often has no contacts yet - this is normal
console.log('[SocialFeedService] No contacts available for following feed yet, using fallback');
// For following feed, if no authors provided, use the POWR_PUBKEY_HEX as fallback // For following feed, if no authors provided, use the POWR_PUBKEY_HEX as fallback
// This ensures at least some content is shown // This ensures at least some content is shown
if (POWR_PUBKEY_HEX) { if (POWR_PUBKEY_HEX) {
console.log('[SocialFeedService] Using POWR account as fallback for Following feed'); console.log('[SocialFeedService] Using POWR account as fallback for initial Following feed load');
const fallbackAuthors = [POWR_PUBKEY_HEX]; const fallbackAuthors = [POWR_PUBKEY_HEX];
return [ return [