diff --git a/chrome/content/zotero/components/virtualized-table.jsx b/chrome/content/zotero/components/virtualized-table.jsx index d6851d1bec..8da5c0e95e 100644 --- a/chrome/content/zotero/components/virtualized-table.jsx +++ b/chrome/content/zotero/components/virtualized-table.jsx @@ -1229,9 +1229,11 @@ var Columns = class { } _getColumnPrefsToPersist(column) { - if (!column.zoteroPersist) return {}; + let persistKeys = column.zoteroPersist; + if (!persistKeys) persistKeys = new Set(); + // Always persist + ['ordinal', 'hidden', 'sortDirection'].forEach(k => persistKeys.add(k)); let persistSettings = {}; - const persistKeys = column.zoteroPersist; for (const key in column) { if (persistKeys.has(key) || key == 'dataKey') { persistSettings[key] = column[key]; @@ -1270,7 +1272,7 @@ var Columns = class { } const column = this._columns.find(column => column.dataKey == dataKey); const styleIndex = this._columnStyleMap[dataKey]; - if (storePrefs) { + if (storePrefs && (!column.fixedWidth || (column.zoteroPersist && !column.zoteroPersist.has('width')))) { prefs[dataKey] = prefs[dataKey] || {}; prefs[dataKey].width = width; }