Version in base suite: 4.1.12-1 Base version: xnote_4.1.12-1 Target version: xnote_4.5.48-1~deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/x/xnote/xnote_4.1.12-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/x/xnote/xnote_4.5.48-1~deb13u1.dsc /srv/release.debian.org/tmp/JxpnMgMaIo/xnote-4.5.48/chrome/skin/iconmonstr-clipboard-13-16.png |binary xnote-4.5.48/_locales/de/messages.json | 2 xnote-4.5.48/_locales/en_US/messages.json | 6 xnote-4.5.48/_locales/fr_FR/messages.json | 6 xnote-4.5.48/_locales/gl/messages.json | 6 xnote-4.5.48/_locales/it_IT/messages.json | 6 xnote-4.5.48/_locales/ja_JP/messages.json | 6 xnote-4.5.48/_locales/nl_NL/messages.json | 6 xnote-4.5.48/chrome/content/autosize.js | 231 xnote-4.5.48/chrome/content/scripts/notifyTools.js | 2 xnote-4.5.48/chrome/content/scripts/xn-xnote-aboutOverlay.js | 10 xnote-4.5.48/chrome/content/scripts/xn-xnote-overlay.js | 5 xnote-4.5.48/chrome/content/skin/iconmonstr-trash-can-10.svg | 1 xnote-4.5.48/chrome/content/testwin.xhtml | 21 xnote-4.5.48/chrome/content/tooltip/tippy/popper.js | 6 xnote-4.5.48/chrome/content/tooltip/tippy/tippy-debug.js | 2614 ++++++++++ xnote-4.5.48/chrome/content/tooltip/tippy/tippy.js | 2 xnote-4.5.48/chrome/content/xnote-about-columnnoteTest.js | 126 xnote-4.5.48/chrome/content/xnote-about-overlay.js | 113 xnote-4.5.48/chrome/content/xnote-columnnote.js | 108 xnote-4.5.48/chrome/content/xnote-overlay.js | 139 xnote-4.5.48/chrome/content/xnote-window.js | 184 xnote-4.5.48/chrome/content/xnote-window.xhtml | 186 xnote-4.5.48/chrome/modules/commons.jsm | 4 xnote-4.5.48/chrome/modules/commons.sys.mjs | 130 xnote-4.5.48/chrome/modules/dateformat.jsm | 2 xnote-4.5.48/chrome/modules/dateformat.sys.mjs | 55 xnote-4.5.48/chrome/modules/xnote.jsm | 61 xnote-4.5.48/chrome/modules/xnote.sys.mjs | 343 + xnote-4.5.48/chrome/skin/xnote-window.css | 26 xnote-4.5.48/debian/changelog | 26 xnote-4.5.48/debian/control | 5 xnote-4.5.48/debian/copyright | 2 xnote-4.5.48/debian/dpb.conf | 18 xnote-4.5.48/debian/gbp.conf | 21 xnote-4.5.48/debian/upstream/metadata | 1 xnote-4.5.48/debian/watch | 2 xnote-4.5.48/experiment-apis/LegacyPrefs/legacyprefs.js | 7 xnote-4.5.48/experiment-apis/NotifyTools/implementation.js | 12 xnote-4.5.48/experiment-apis/WindowListener/implementation.js | 37 xnote-4.5.48/experiment-apis/WindowListener/schema.json | 1 xnote-4.5.48/experiment-apis/customColumn/implementation.js | 98 xnote-4.5.48/experiment-apis/customColumn/schema.json | 39 xnote-4.5.48/experiment-apis/files/files-api.js | 18 xnote-4.5.48/experiment-apis/xnote/xnote-experiments.js | 222 xnote-4.5.48/experiment-apis/xnote/xnote-experiments.json | 57 xnote-4.5.48/mDisplay.js | 8 xnote-4.5.48/manifest.json | 29 xnote-4.5.48/options/options.html | 6 xnote-4.5.48/options/options.js | 1 xnote-4.5.48/popup/ExprSearch.html | 24 xnote-4.5.48/popup/donations.html | 32 xnote-4.5.48/popup/donations1.html | 23 xnote-4.5.48/popup/update.html | 17 xnote-4.5.48/scripts/listener.js | 7 xnote-4.5.48/xn-background.js | 422 + 56 files changed, 4831 insertions(+), 711 deletions(-) diff -Nru xnote-4.1.12/_locales/de/messages.json xnote-4.5.48/_locales/de/messages.json --- xnote-4.1.12/_locales/de/messages.json 2024-01-08 11:14:00.000000000 +0000 +++ xnote-4.5.48/_locales/de/messages.json 2025-02-13 12:32:48.000000000 +0000 @@ -30,6 +30,6 @@ "Select.storage.dir": {"message": "Wählen Sie bitte das Verzeichnis zum Speichern der XNotes."}, "show.in.messageDisplay": {"message": "XNote Zusammenfassung in der email anzeigen"}, "show.full.in.messageDisplay": {"message": "XNote voll in der email anzeigen"}, - "show.show.column": {"message": "XNote in der 'Grösse' Spalte anzeigen"} + "show.show.column": {"message": "XNote Spalte anzeigen"} } diff -Nru xnote-4.1.12/_locales/en_US/messages.json xnote-4.5.48/_locales/en_US/messages.json --- xnote-4.1.12/_locales/en_US/messages.json 2024-01-08 11:16:10.000000000 +0000 +++ xnote-4.5.48/_locales/en_US/messages.json 2025-02-14 11:40:48.000000000 +0000 @@ -28,8 +28,8 @@ "show.on.select": {"message": "Show note on message selection"}, "show.first.x.chars.in.col": {"message": "Show first X characters in XNote column"}, "Select.storage.dir": {"message": "Please select the XNote storage directory."}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } diff -Nru xnote-4.1.12/_locales/fr_FR/messages.json xnote-4.5.48/_locales/fr_FR/messages.json --- xnote-4.1.12/_locales/fr_FR/messages.json 2024-01-08 11:16:22.000000000 +0000 +++ xnote-4.5.48/_locales/fr_FR/messages.json 2025-02-14 11:40:40.000000000 +0000 @@ -28,8 +28,8 @@ "show.on.select": {"message": "Afficher la note du message sélectionné"}, "show.first.x.chars.in.col": {"message": "Montrer les n premiers caractères de la note dans la colonne XNote"}, "Select.storage.dir": {"message": "Veuillez sélectionner le dossier d'enregistrement des notes."}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } \ No newline at end of file diff -Nru xnote-4.1.12/_locales/gl/messages.json xnote-4.5.48/_locales/gl/messages.json --- xnote-4.1.12/_locales/gl/messages.json 2024-01-08 11:16:32.000000000 +0000 +++ xnote-4.5.48/_locales/gl/messages.json 2025-02-14 11:40:28.000000000 +0000 @@ -28,8 +28,8 @@ "show.on.select": {"message": "Amosar nota ao selecionar a mensaxe"}, "show.first.x.chars.in.col": {"message": "Amosar primeiros X caracteres na columna XNote"}, "Select.storage.dir": {"message": "Selecione o cartafol de almacenamento para XNote."}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } diff -Nru xnote-4.1.12/_locales/it_IT/messages.json xnote-4.5.48/_locales/it_IT/messages.json --- xnote-4.1.12/_locales/it_IT/messages.json 2024-01-08 11:16:40.000000000 +0000 +++ xnote-4.5.48/_locales/it_IT/messages.json 2025-02-14 11:40:16.000000000 +0000 @@ -28,7 +28,7 @@ "show.on.select": {"message": "Mostra nota quando si seleziona il messaggio"}, "show.first.x.chars.in.col": {"message": "Mostra i primi x caratteri nella colonna XNote"}, "Select.storage.dir": {"message": "Selezionare la cartella dove salvare i file XNote."}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } diff -Nru xnote-4.1.12/_locales/ja_JP/messages.json xnote-4.5.48/_locales/ja_JP/messages.json --- xnote-4.1.12/_locales/ja_JP/messages.json 2024-01-08 11:16:52.000000000 +0000 +++ xnote-4.5.48/_locales/ja_JP/messages.json 2025-02-14 11:40:06.000000000 +0000 @@ -28,7 +28,7 @@ "show.on.select": {"message": "メッセージを選択したらメモを表示する"}, "show.first.x.chars.in.col": {"message": "スレッドペインのXNoteカラムに先頭数文字を表示する"}, "Select.storage.dir": {"message": "メモの保存先を選択してください"}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } diff -Nru xnote-4.1.12/_locales/nl_NL/messages.json xnote-4.5.48/_locales/nl_NL/messages.json --- xnote-4.1.12/_locales/nl_NL/messages.json 2024-01-08 11:17:00.000000000 +0000 +++ xnote-4.5.48/_locales/nl_NL/messages.json 2025-02-13 16:13:42.000000000 +0000 @@ -28,8 +28,8 @@ "show.on.select": {"message": "Notitie tonen bij selectie"}, "show.first.x.chars.in.col": {"message": "Toon eerste x karakters in Xnote Kolom"}, "Select.storage.dir": {"message": "Selecteer standaard directory voor Xnote."}, - "show.in.messageDisplay": {"message": "Show XNote summary in messsage display"}, - "show.full.in.messageDisplay": {"message": "Show full XNote in messsage display"}, - "show.show.column": {"message": "Show XNote in the 'size' column"} + "show.in.messageDisplay": {"message": "Show XNote summary in message display"}, + "show.full.in.messageDisplay": {"message": "Show full XNote in message display"}, + "show.show.column": {"message": "Show XNote column"} } diff -Nru xnote-4.1.12/chrome/content/autosize.js xnote-4.5.48/chrome/content/autosize.js --- xnote-4.1.12/chrome/content/autosize.js 1970-01-01 00:00:00.000000000 +0000 +++ xnote-4.5.48/chrome/content/autosize.js 2025-01-19 10:43:56.000000000 +0000 @@ -0,0 +1,231 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.autosize = factory()); +}(this, (function () { + var assignedElements = new Map(); + + function assign(ta) { + if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || assignedElements.has(ta)) return; + var previousHeight = null; + + function cacheScrollTops(el) { + var arr = []; + + while (el && el.parentNode && el.parentNode instanceof Element) { + if (el.parentNode.scrollTop) { + arr.push([el.parentNode, el.parentNode.scrollTop]); + } + + el = el.parentNode; + } + + return function () { + return arr.forEach(function (_ref) { + var node = _ref[0], + scrollTop = _ref[1]; + node.style.scrollBehavior = 'auto'; + node.scrollTop = scrollTop; + node.style.scrollBehavior = null; + }); + }; + } + + var computed = window.getComputedStyle(ta); + + function setHeight(_ref2) { + var _ref2$restoreTextAlig = _ref2.restoreTextAlign, + restoreTextAlign = _ref2$restoreTextAlig === void 0 ? null : _ref2$restoreTextAlig, + _ref2$testForHeightRe = _ref2.testForHeightReduction, + testForHeightReduction = _ref2$testForHeightRe === void 0 ? true : _ref2$testForHeightRe; + var initialOverflowY = computed.overflowY; + + if (ta.scrollHeight === 0) { + // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM. + return; + } // disallow vertical resizing + + + if (computed.resize === 'vertical') { + ta.style.resize = 'none'; + } else if (computed.resize === 'both') { + ta.style.resize = 'horizontal'; + } + + var restoreScrollTops; // remove inline height style to accurately measure situations where the textarea should shrink + // however, skip this step if the new value appends to the previous value, as textarea height should only have grown + + if (testForHeightReduction) { + // ensure the scrollTop values of parent elements are not modified as a consequence of shrinking the textarea height + restoreScrollTops = cacheScrollTops(ta); + ta.style.height = ''; + } + + var newHeight; + + if (computed.boxSizing === 'content-box') { + newHeight = ta.scrollHeight - (parseFloat(computed.paddingTop) + parseFloat(computed.paddingBottom)); + } else { + newHeight = ta.scrollHeight + parseFloat(computed.borderTopWidth) + parseFloat(computed.borderBottomWidth); + } + + if (computed.maxHeight !== 'none' && newHeight > parseFloat(computed.maxHeight)) { + if (computed.overflowY === 'hidden') { + ta.style.overflow = 'scroll'; + } + + newHeight = parseFloat(computed.maxHeight); + } else if (computed.overflowY !== 'hidden') { + ta.style.overflow = 'hidden'; + } + + ta.style.height = newHeight + 'px'; + + if (restoreTextAlign) { + ta.style.textAlign = restoreTextAlign; + } + + if (restoreScrollTops) { + restoreScrollTops(); + } + + if (previousHeight !== newHeight) { + ta.dispatchEvent(new Event('autosize:resized', { + bubbles: true + })); + previousHeight = newHeight; + } + + if (initialOverflowY !== computed.overflow && !restoreTextAlign) { + var textAlign = computed.textAlign; + + if (computed.overflow === 'hidden') { + // Webkit fails to reflow text after overflow is hidden, + // even if hiding overflow would allow text to fit more compactly. + // The following is intended to force the necessary text reflow. + ta.style.textAlign = textAlign === 'start' ? 'end' : 'start'; + } + + setHeight({ + restoreTextAlign: textAlign, + testForHeightReduction: true + }); + } + } + + function fullSetHeight() { + setHeight({ + testForHeightReduction: true, + restoreTextAlign: null + }); + } + + var handleInput = function () { + var previousValue = ta.value; + return function () { + setHeight({ + // if previousValue is '', check for height shrinkage because the placeholder may be taking up space instead + // if new value is merely appending to previous value, skip checking for height deduction + testForHeightReduction: previousValue === '' || !ta.value.startsWith(previousValue), + restoreTextAlign: null + }); + previousValue = ta.value; + }; + }(); + + var destroy = function (style) { + ta.removeEventListener('autosize:destroy', destroy); + ta.removeEventListener('autosize:update', fullSetHeight); + ta.removeEventListener('input', handleInput); + window.removeEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver + + Object.keys(style).forEach(function (key) { + return ta.style[key] = style[key]; + }); + assignedElements["delete"](ta); + }.bind(ta, { + height: ta.style.height, + resize: ta.style.resize, + textAlign: ta.style.textAlign, + overflowY: ta.style.overflowY, + overflowX: ta.style.overflowX, + wordWrap: ta.style.wordWrap + }); + + ta.addEventListener('autosize:destroy', destroy); + ta.addEventListener('autosize:update', fullSetHeight); + ta.addEventListener('input', handleInput); + window.addEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver + + ta.style.overflowX = 'hidden'; + ta.style.wordWrap = 'break-word'; + assignedElements.set(ta, { + destroy: destroy, + update: fullSetHeight + }); + fullSetHeight(); + } + + function destroy(ta) { + var methods = assignedElements.get(ta); + + if (methods) { + methods.destroy(); + } + } + + function update(ta) { + var methods = assignedElements.get(ta); + + if (methods) { + methods.update(); + } + } + + var autosize = null; // Do nothing in Node.js environment + + if (typeof window === 'undefined') { + autosize = function autosize(el) { + return el; + }; + + autosize.destroy = function (el) { + return el; + }; + + autosize.update = function (el) { + return el; + }; + } else { + autosize = function autosize(el, options) { + if (el) { + Array.prototype.forEach.call(el.length ? el : [el], function (x) { + return assign(x); + }); + } + + return el; + }; + + autosize.destroy = function (el) { + if (el) { + Array.prototype.forEach.call(el.length ? el : [el], destroy); + } + + return el; + }; + + autosize.update = function (el) { + if (el) { + Array.prototype.forEach.call(el.length ? el : [el], update); + } + + return el; + }; + } + + var autosize$1 = autosize; + + return autosize$1; + +}))); diff -Nru xnote-4.1.12/chrome/content/scripts/notifyTools.js xnote-4.5.48/chrome/content/scripts/notifyTools.js --- xnote-4.1.12/chrome/content/scripts/notifyTools.js 2023-09-22 20:00:30.000000000 +0000 +++ xnote-4.5.48/chrome/content/scripts/notifyTools.js 2025-03-11 08:59:42.000000000 +0000 @@ -27,7 +27,7 @@ */ //var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -var Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; +//var Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; var notifyTools = { registeredCallbacks: {}, diff -Nru xnote-4.1.12/chrome/content/scripts/xn-xnote-aboutOverlay.js xnote-4.5.48/chrome/content/scripts/xn-xnote-aboutOverlay.js --- xnote-4.1.12/chrome/content/scripts/xn-xnote-aboutOverlay.js 2024-01-09 20:31:24.000000000 +0000 +++ xnote-4.5.48/chrome/content/scripts/xn-xnote-aboutOverlay.js 2025-03-11 08:59:54.000000000 +0000 @@ -1,6 +1,6 @@ -console.log("start xn-xnote-aboutOverlay"); +//console.log("start xn-xnote-aboutOverlay"); //var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -var Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; +//var Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; // Load xnoteOverlayObj into the window. Services.scriptloader.loadSubScript("chrome://xnote/content/xnote-about-overlay.js", window, "UTF-8"); @@ -14,7 +14,7 @@ -