+8
-2
hosting-service/src/lib/db.ts
+8
-2
hosting-service/src/lib/db.ts
···-VALUES (${did}, ${rkey}, ${displayName || null}, EXTRACT(EPOCH FROM NOW()), EXTRACT(EPOCH FROM NOW()))+VALUES (${did}, ${rkey}, ${cleanDisplayName}, EXTRACT(EPOCH FROM NOW()), EXTRACT(EPOCH FROM NOW()))
+12
hosting-service/src/lib/utils.ts
+12
hosting-service/src/lib/utils.ts
···export async function downloadAndCacheSite(did: string, rkey: string, record: WispFsRecord, pdsEndpoint: string): Promise<void> {
+7
-1
src/index.ts
+7
-1
src/index.ts
···
+8
-2
src/lib/db.ts
+8
-2
src/lib/db.ts
···-VALUES (${did}, ${rkey}, ${displayName || null}, EXTRACT(EPOCH FROM NOW()), EXTRACT(EPOCH FROM NOW()))+VALUES (${did}, ${rkey}, ${cleanDisplayName}, EXTRACT(EPOCH FROM NOW()), EXTRACT(EPOCH FROM NOW()))
+55
-31
src/lib/wisp-utils.ts
+55
-31
src/lib/wisp-utils.ts
···························-console.log(`๐ Updating file blobs: ${uploadResults.length} results for ${filePaths.length} paths`);-console.log(` ๐ Updating blob for file: ${entry.name} -> ${uploadResults[fileIndex].hash}`);+if (expectedMime && blobRef.mimeType !== expectedMime && !blobRef.mimeType.startsWith(expectedMime)) {+mimeTypeMismatches.push(`${fullPath}: expected ${expectedMime}, got ${blobRef.mimeType} (from upload: ${uploadedPath})`);+console.error(` Available paths:`, filePaths.slice(0, 10), filePaths.length > 10 ? `... and ${filePaths.length - 10} more` : '');
+78
-21
src/routes/auth.ts
+78
-21
src/routes/auth.ts
······
+97
-103
src/routes/wisp.ts
+97
-103
src/routes/wisp.ts
···-console.log('๐ Starting upload process', { siteName, fileCount: Array.isArray(files) ? files.length : 1 });throw new Error('Invalid site name: must be 1-512 characters and contain only alphanumeric, dots, dashes, underscores, tildes, and colons')············-console.log(`๐ Processing file ${i + 1}/${fileArray.length}: ${file.name} (${file.size} bytes, ${file.type})`);-console.log(`โญ๏ธ Skipping large file: ${file.name} (${(file.size / 1024 / 1024).toFixed(2)}MB > 100MB limit)`);···-console.log(`๐ Filtered to ${uploadedFiles.length} files from ${fileArray.length} total files`);throw new Error(`Total upload size ${(totalSize / 1024 / 1024).toFixed(2)}MB exceeds 300MB limit`);············+const octetStreamFiles = uploadedBlobs.filter(b => b.returnedMimeType === 'application/octet-stream');+console.error(`\n๐จ FILES UPLOADED AS application/octet-stream (${octetStreamFiles.length}):`);+if (putRecordError.message?.includes('Mimetype') || putRecordError.message?.includes('mimeType')) {+console.error(` [${i}] ${b.filePath}: sent=${b.sentMimeType}, returned=${b.returnedMimeType}`);···