diff --git a/bundled-addons/pdf-editor/addon.json b/bundled-addons/pdf-editor/addon.json index e6e1e9e..ba30ae1 100644 --- a/bundled-addons/pdf-editor/addon.json +++ b/bundled-addons/pdf-editor/addon.json @@ -1,25 +1,24 @@ { "id": "pdf-editor", "name": "PDF Editor", - "version": "0.1.1", + "version": "0.1.2", "description": "Open a PDF in a full tab: read it, highlight and mark it up, reorder or rotate or drop pages, fill in its form fields, then save a new copy. Annotations are written into the saved file as real PDF content. The original is never touched.", "author": "Silent Mode", - "icon": "📄", + "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYgMmg4bDYgNnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJ6IiBmaWxsPSIjZGMyNjI2Ii8+PHBhdGggZD0iTTE0IDJ2Nmg2eiIgZmlsbD0iIzk5MWIxYiIvPjx0ZXh0IHg9IjEyIiB5PSIxNyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9InN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iNS41IiBmb250LXdlaWdodD0iODAwIiBmaWxsPSIjZmZmIj5QREY8L3RleHQ+PC9zdmc+", "main": "index.js", "capabilities": ["toolbar-menu", "open-tab", "context-menu-item"], "toolbar-menu": { "title": "PDF Editor", - "icon": "📄", + "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYgMmg4bDYgNnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJ6IiBmaWxsPSIjZGMyNjI2Ii8+PHBhdGggZD0iTTE0IDJ2Nmg2eiIgZmlsbD0iIzk5MWIxYiIvPjx0ZXh0IHg9IjEyIiB5PSIxNyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9InN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iNS41IiBmb250LXdlaWdodD0iODAwIiBmaWxsPSIjZmZmIj5QREY8L3RleHQ+PC9zdmc+", "items": [ - { "id": "open", "label": "Open a PDF…", "icon": "📄" } + { "id": "open", "label": "Open a PDF…" } ] }, "context-menu-items": [ { "id": "open-link", "label": "Open PDF in editor", - "when": "linkURL", - "icon": "📄" + "when": "linkURL" } ], "updateURL": "https://navigate.st/bns/theseus.x/extensions/pdf-editor/updates.json" diff --git a/bundled-addons/translate/addon.json b/bundled-addons/translate/addon.json index cd8ae17..eb4396a 100644 --- a/bundled-addons/translate/addon.json +++ b/bundled-addons/translate/addon.json @@ -1,7 +1,7 @@ { "id": "translate", "name": "Translate", - "version": "0.1.0", + "version": "0.1.1", "description": "Right-click a selection to translate it. Sidebar panel with LibreTranslate or Google as the backend.", "author": "Silent Mode", "icon": "🌐", diff --git a/bundled-addons/translate/panel.html b/bundled-addons/translate/panel.html index 9e696e5..0f9b1bc 100644 --- a/bundled-addons/translate/panel.html +++ b/bundled-addons/translate/panel.html @@ -115,17 +115,23 @@
- LibreTranslate is a free MIT-licensed engine. Public instances rate-limit; if you - hit "too many requests", pick another URL or self-host. Google (unofficial) uses - translate.googleapis.com/translate_a/single — free, no key, but - unofficial and Google can break it at any time. + LibreTranslate is a free MIT-licensed engine. Public instances rate-limit — if you + hit "too many requests" or a mirror is down, pick another URL from the list or + self-host. Google (unofficial) uses + translate.googleapis.com/translate_a/single — no key, but unofficial + and Google can break it at any time.
@@ -164,7 +170,12 @@ const defaultTarget = LANGS.some(([c]) => c === browserLang) && browserLang !== "en" ? browserLang : "en"; const S = window.silentmode?.storage; - const settingsState = { backend: "libretranslate", ltUrl: "https://translate.argosopentech.com", ltKey: "" }; + const DEFAULT_LT_URL = "https://translate.disroot.org"; + // Old defaults that we now migrate off — argosopentech.com went offline. + // If a user's saved URL matches one of these, silently upgrade it to the + // current working default so the panel isn't broken out of the box. + const DEAD_LT_URLS = new Set(["https://translate.argosopentech.com"]); + const settingsState = { backend: "libretranslate", ltUrl: DEFAULT_LT_URL, ltKey: "" }; const uiState = { src: "auto", tgt: defaultTarget }; async function loadState() { @@ -175,6 +186,11 @@ const ui = await S.get("ui", null); if (ui && typeof ui === "object") Object.assign(uiState, ui); } catch (e) { console.warn("load state failed:", e); } + // One-shot migration off a dead default URL. + if (DEAD_LT_URLS.has(settingsState.ltUrl)) { + settingsState.ltUrl = DEFAULT_LT_URL; + if (S) try { await S.set("settings", settingsState); } catch {} + } backendSel.value = settingsState.backend; ltUrl.value = settingsState.ltUrl; ltKey.value = settingsState.ltKey; @@ -184,7 +200,7 @@ } async function saveSettings() { settingsState.backend = backendSel.value; - settingsState.ltUrl = ltUrl.value.trim().replace(/\/+$/, "") || "https://translate.argosopentech.com"; + settingsState.ltUrl = ltUrl.value.trim().replace(/\/+$/, "") || DEFAULT_LT_URL; settingsState.ltKey = ltKey.value.trim(); if (S) try { await S.set("settings", settingsState); } catch {} } diff --git a/extensions/docx-editor/addon.json b/extensions/docx-editor/addon.json index b1034a4..73f6252 100644 --- a/extensions/docx-editor/addon.json +++ b/extensions/docx-editor/addon.json @@ -1,10 +1,10 @@ { "id": "docx-editor", "name": "Word editor", - "version": "0.1.0", + "version": "0.1.1", "description": "Open, edit and save Word documents (.docx) in a full Theseus tab. Ribbon-style formatting, tables, lists, images and links; headers, footers, footnotes, page setup and the document's own styles are carried through a save untouched.", "author": "Silent Mode", - "icon": "📝", + "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYgMmg4bDYgNnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJ6IiBmaWxsPSIjMjU2M2ViIi8+PHBhdGggZD0iTTE0IDJ2Nmg2eiIgZmlsbD0iIzFlNDBhZiIvPjx0ZXh0IHg9IjEyIiB5PSIxNyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9InN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iNS41IiBmb250LXdlaWdodD0iODAwIiBmaWxsPSIjZmZmIj5ET0M8L3RleHQ+PC9zdmc+", "main": "index.js", "capabilities": ["sidebar-panel", "open-tab"], "updateURL": "https://navigate.st/bns/theseus.x/extensions/community/docx-editor/updates.json" diff --git a/extensions/docx-editor/index.js b/extensions/docx-editor/index.js index 25b6659..82bb65d 100644 --- a/extensions/docx-editor/index.js +++ b/extensions/docx-editor/index.js @@ -25,7 +25,6 @@ module.exports = { api.registerSidebarPanel({ id: "main", title: "Word editor", - icon: "📝", page: "panel.html", }); diff --git a/extensions/docx-editor/panel.html b/extensions/docx-editor/panel.html index ec3c755..df5fcc2 100644 --- a/extensions/docx-editor/panel.html +++ b/extensions/docx-editor/panel.html @@ -59,7 +59,7 @@ h2 { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; -
📝

Word editor

+

Word editor

Open a .docx in a full tab. Headers, footers, footnotes, page setup and