From dbcee5d5f88347519fc34f675fd3e8d1c0b12538 Mon Sep 17 00:00:00 2001 From: Jonathan Sykes Date: Thu, 15 Oct 2026 16:41:25 +0800 Subject: [PATCH] Deep search: pass the database client, not the db module, so start/jobs/estimate stop returning 500 --- server/deep-search.js | 2 ++ server/server.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/server/deep-search.js b/server/deep-search.js index 493ee7f..7ba40a9 100644 --- a/server/deep-search.js +++ b/server/deep-search.js @@ -44,6 +44,8 @@ function publicJob(row, indexSize = 0) { export function createDeepSearchService({ db = defaultDb, searchDeep = innertube.searchDeep, related = innertube.related, browseUploads = innertube.browseUploads, ingest = catalog.ingest, putSearch = searchCache.put, sleep = sleepDefault, random = Math.random, now = Date.now, autoStart = true } = {}) { + // Accept the db.js module namespace as well as the client itself. + if (typeof db?.execute !== 'function' && typeof db?.db?.execute === 'function') db = db.db; let worker = null; let timer = null; const log = (state, message) => { state.log ||= []; state.log.push({ at: now(), message: String(message).slice(0, 240) }); if (state.log.length > 100) state.log.splice(0, state.log.length - 100); }; diff --git a/server/server.js b/server/server.js index 028f36a..a9eaf13 100644 --- a/server/server.js +++ b/server/server.js @@ -2360,7 +2360,7 @@ const notes = registerNoteRoutes(app, { { label: 'Database', path: dirname(process.env.DB_PATH || './data/ytplayer.db') }, ] }, }); -const deepSearch = registerDeepSearchRoutes(app, { db: notesDb, adminAuth: notes.requireAdminOrToken, autoStart: false, +const deepSearch = registerDeepSearchRoutes(app, { db: notesDb.db, adminAuth: notes.requireAdminOrToken, autoStart: false, searchDeep: innertube.searchDeep, related: innertube.related, browseUploads: innertube.browseUploads, ingest: collectVideoMetadata, putSearch: searchCacheDb.put }); registerAdminToolsRoutes(app, { db: notesDb, adminAuth: notes.requireAdminOrToken, media,