Closed WMAM closed 2 years ago
Thanks for the heads up. It probably means that it's having trouble parsing some setting. Would you mind running this code snippet (Tools -> Developer -> Run Javascript
) and posting the output?
async function runDebug () {
const promptSaveErrors = false;
debuglog = {};
debuglog.version = Zotero.ObsCite.version;
debuglog.zoteroVersion = Zotero.version;
let prefs = {};
for (let pref of ['matchstrategy', 'source_dir', 'zotkeyregex', 'metadatakeyword']) {
try {
prefs[pref] = Zotero.ObsCite.getPref(pref);
} catch (e) {
prefs[pref] = "Error (" + e.name + ") " + e.message;
}
}
debuglog.prefs = prefs;
let config = {};
for (let pref of ['matchstrategy', 'source_dir', 'zotkeyregex', 'metadatakeyword', 'bbtinstalled']) {
try {
switch(pref) {
case 'matchstrategy':
config[pref] = Zotero.ObsCite._getParam_matchstrategy();
break;
case 'source_dir':
config[pref] = Zotero.ObsCite._getParam_vaultpath();
break;
case 'zotkeyregex':
config[pref] = Zotero.ObsCite._getParam_zotkeyregex();
break;
case 'metadatakeyword':
config[pref] = Zotero.ObsCite._getParam_metadatakeyword();
break;
case 'bbtinstalled':
config[pref] = await Zotero.ObsCite._checkBBTinstalled();
break;
}
} catch (e) {
config[pref] = "Error (" + e.name + ") " + e.message;
}
}
try {
config.checkSetting = await Zotero.ObsCite.checkSettings();
} catch (e) {
config.checkSetting = "Error (" + e.name + ") " + e.message;
}
debuglog.config = config;
let results = {};
try {
await Zotero.ObsCite.processData(true);
results.cleanrun = Zotero.ObsCite.cleanrun;
results.ndataKeys = Zotero.ObsCite.dataKeys.length;
} catch (e) {
results = "Error (" + e.name + ") " + e.message;
}
debuglog.results = results;
return debuglog;
}
return runDebug()
Sorry for being late...
{ "prefs": { "matchstrategy": "bbtcitekey" "source_dir": "C:\Obsidian\Zettelkasten" "zotkeyregex": "" "metadatakeyword": "" } "config": { "matchstrategy": "bbtcitekey" "zotkeyregex": "" "metadatakeyword": "" "checkSetting": true } "results": { "cleanrun": true "ndataKeys": 24 } }
I'm not sure what's going on, but it's possible that it's failing to find BBT at initialization. If you're up for helping me sort it out, here's a version with an extra debugging trace.
You can manually install it (Tools -> Add-ons -> Remove ZoteroObsidianCitations
, Install Add-on From File -> zotero-obsidian-citations-0.0.13alpha.xpi
, then restart Zotero. If you get the same error, run this code snippet and post the output (run it as 'not async', which should be the default):
Zotero.ObsCite.debuglog
Thanks!
Yes, the error persisted after changing to the v0.13alpha. Here is the output:
{ "version": "0.0.12" "zoteroVersion": "5.0.97-beta.63+035aac30f" "isMac": false "isLinux": false "isWin": true "prefs": { "matchstrategy": "bbtcitekey" "source_dir": "C:\Obsidian\Zettelkasten" "zotkeyregex": "" "metadatakeyword": "" } "config": { "matchstrategy": "bbtcitekey" "source_dir": "C:\Obsidian\Zettelkasten" "zotkeyregex": "" "metadatakeyword": "" "bbtinstalled": [ "0": true ] "checkSetting": false } "trace": { "checkSetting": "fail" "processData": "unreached" "ndataKeys": "unreached" "updateItems": "unreached" } "failedSetting": { "_getParam_matchstrategy": "none" "_getParam_vaultpath": "none" "_checkBBTinstalled": [] "_getParam_metadatakeyword": "none" "_getParam_zotkeyregex": "none" "matchstrategy": "none" } }
yep, that's what's going on (ZOC fails to communicate with BBT at launch, then BBT becomes available later).
I thought that I had totally over-engineered the BBT initialization check, but it seems that it wasn't enough. I'll take a look at what I might be able to improve. Thanks for the feedback, it's very helpful.
Just in case it is useful...
The context options like "Open ObsidianMD note", do not appear until a manual sync is run.
... and BBT plugin was last updated on January 21. Maybe they changed something in their plugin
see if this solves it:
(yeah, the Open in ObsidianMD item won't show up until the settings pass inspection, so if it doesn't pass at startup, then it won't show until the sync is manually invoked and the settings pass. That's all consistent with BBT not being found at initialization but being available later. Thanks.)
Yes... it did!
great. thanks for reporting the issue
Hi @daeh ! Just to report a minor bug. When launching Zotero, the following message appears:
After that, no other issue, the plugin continues to work fine