forked from snxraven/p2ns
fixing boot
This commit is contained in:
@@ -420,34 +420,22 @@ function formatSize(bytes) {
|
||||
async function onInit() {
|
||||
sdk.log.info('file.drop', 'Initializing File Drop plugin...');
|
||||
|
||||
// Initialize our local Hyperdrive for uploads
|
||||
const drive = await sdk.drives.getDrive(DRIVE_NAME);
|
||||
const driveInfo = await sdk.drives.getDriveInfo(DRIVE_NAME);
|
||||
localDriveKey = driveInfo.key;
|
||||
sdk.log.info('file.drop', `Local drive key: ${localDriveKey.slice(0, 16)}...`);
|
||||
|
||||
// Wait for database to be available with retries
|
||||
let dbReady = false;
|
||||
for (let i = 0; i < 30; i++) {
|
||||
try {
|
||||
await sdk.db.ready();
|
||||
if (!sdk.db.closed) {
|
||||
dbReady = true;
|
||||
sdk.log.info('file.drop', 'HyperDB ready');
|
||||
break;
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.message && err.message.includes('Database not initialized')) {
|
||||
sdk.log.debug('file.drop', `Database not ready yet, attempt ${i + 1}/30`);
|
||||
} else {
|
||||
sdk.log.warn('file.drop', `Database error on attempt ${i + 1}/30: ${err.message}`);
|
||||
}
|
||||
}
|
||||
await new Promise(resolve => setTimeout(resolve, 1000)); // Wait 1 second
|
||||
// Database is opened by plugin-handler before onInit; a single ready() is enough.
|
||||
try {
|
||||
await sdk.db.ready(5000);
|
||||
sdk.log.info('file.drop', 'HyperDB ready');
|
||||
} catch (err) {
|
||||
sdk.log.warn('file.drop', `HyperDB not ready during init: ${err.message}`);
|
||||
}
|
||||
|
||||
if (!dbReady) {
|
||||
sdk.log.warn('file.drop', 'Database not available after 30 seconds - plugin will continue but database operations may fail');
|
||||
// Initialize our local Hyperdrive for uploads (after DB — avoids blocking boot on drive I/O)
|
||||
try {
|
||||
const drive = await sdk.drives.getDrive(DRIVE_NAME);
|
||||
const driveInfo = await sdk.drives.getDriveInfo(DRIVE_NAME);
|
||||
localDriveKey = driveInfo.key;
|
||||
sdk.log.info('file.drop', `Local drive key: ${localDriveKey.slice(0, 16)}...`);
|
||||
} catch (err) {
|
||||
sdk.log.warn('file.drop', `Upload drive not ready during init: ${err.message}`);
|
||||
}
|
||||
|
||||
// Verify replication is enabled
|
||||
|
||||
@@ -76,28 +76,12 @@ async function onInit() {
|
||||
sdk.log.info('global.profile', 'Initializing Global Profile plugin...');
|
||||
|
||||
try {
|
||||
// Wait for database to be available with retries
|
||||
let dbReady = false;
|
||||
for (let i = 0; i < 30; i++) {
|
||||
try {
|
||||
await sdk.db.ready();
|
||||
if (!sdk.db.closed) {
|
||||
dbReady = true;
|
||||
sdk.log.info('global.profile', 'Database ready');
|
||||
break;
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.message && err.message.includes('Database not initialized')) {
|
||||
sdk.log.debug('global.profile', `Database not ready yet, attempt ${i + 1}/30`);
|
||||
} else {
|
||||
sdk.log.warn('global.profile', `Database error on attempt ${i + 1}/30: ${err.message}`);
|
||||
}
|
||||
}
|
||||
await new Promise(resolve => setTimeout(resolve, 1000)); // Wait 1 second
|
||||
}
|
||||
|
||||
if (!dbReady) {
|
||||
sdk.log.warn('global.profile', 'Database not available after 30 seconds - plugin will continue but database operations may fail');
|
||||
// Database is opened by plugin-handler before onInit; a single ready() is enough.
|
||||
try {
|
||||
await sdk.db.ready(5000);
|
||||
sdk.log.info('global.profile', 'Database ready');
|
||||
} catch (err) {
|
||||
sdk.log.warn('global.profile', `Database not ready during init: ${err.message}`);
|
||||
}
|
||||
|
||||
// Avatars are now stored in HyperDB, so no separate drive initialization needed
|
||||
|
||||
Reference in New Issue
Block a user