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