diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index 2ce1a52a7f..3fcea18850 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -187,6 +187,13 @@ Zotero.Integration = new function() { } } + this.resetSessionStyles = Zotero.Promise.coroutine(function* (){ + for (let sessionID in Zotero.Integration.sessions) { + let session = Zotero.Integration.sessions[sessionID]; + yield session.setData(session.data, true); + } + }); + /** * Checks to see that plugin versions are up to date. * @return {Promise} Promise that is resolved with true if versions are up to date diff --git a/chrome/content/zotero/xpcom/style.js b/chrome/content/zotero/xpcom/style.js index 7bc2be8105..3293d8a9ec 100644 --- a/chrome/content/zotero/xpcom/style.js +++ b/chrome/content/zotero/xpcom/style.js @@ -130,6 +130,10 @@ Zotero.Styles = new function() { _initializationDeferred.resolve(); _initialized = true; + + // Styles are fully loaded, but we still need to trigger citeproc reloads in Integration + // so that style updates are reflected in open documents + Zotero.Integration.resetSessionStyles(); }); this.reinit = function (options = {}) {