chore: rebrand UI to Sanctum, bump to v1.0.0
Some checks are pending
/ Build App (push) Waiting to run

Replace all user-visible "Avia"/"AviaClient" strings with "Sanctum" equivalents
across all UI components. Update version to 1.0.0 in package.json and add release
notes to metainfo.xml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
MiTHRAL 2026-04-22 17:42:21 -04:00
parent cc8ba75694
commit 4f5cbbb3c2
11 changed files with 22 additions and 15 deletions

View file

@ -576,7 +576,7 @@
const textNode = [...localBtn.querySelectorAll("div")] const textNode = [...localBtn.querySelectorAll("div")]
.find(d => d.children.length === 0 && d.textContent.trim() === "Appearance"); .find(d => d.children.length === 0 && d.textContent.trim() === "Appearance");
if (textNode) textNode.textContent = "(Avia) Local Plugins"; if (textNode) textNode.textContent = "(Sanctum) Local Plugins";
const oldSvg = localBtn.querySelector("svg"); const oldSvg = localBtn.querySelector("svg");
if (oldSvg) oldSvg.remove(); if (oldSvg) oldSvg.remove();

View file

@ -26,7 +26,7 @@
el.dataset.aviaPatched = "true"; el.dataset.aviaPatched = "true";
nameDiv.textContent = "Avia Client Desktop"; nameDiv.textContent = "Sanctum Desktop";
versionSpan.textContent = `Version ${aviaVersion} (Based on Stoat ${stoatVersion})`; versionSpan.textContent = `Version ${aviaVersion} (Based on Stoat ${stoatVersion})`;
textContainer.style.whiteSpace = "normal"; textContainer.style.whiteSpace = "normal";

View file

@ -15,7 +15,7 @@
el.dataset.aviaPatched = "true"; el.dataset.aviaPatched = "true";
el.innerHTML = ` el.innerHTML = `
Avia Client Desktop<br> Sanctum Desktop<br>
<span style="font-size:10px;opacity:0.7;"> <span style="font-size:10px;opacity:0.7;">
Based on Stoat ${stoatVersion} Based on Stoat ${stoatVersion}
</span> </span>

View file

@ -129,7 +129,7 @@
clone.setAttribute("data-lsbackup-entry", "true"); clone.setAttribute("data-lsbackup-entry", "true");
const title = clone.querySelector("div.d_flex.flex-g_1.flex-d_column > div"); const title = clone.querySelector("div.d_flex.flex-g_1.flex-d_column > div");
if (title) title.textContent = "AviaClient Backup"; if (title) title.textContent = "Sanctum Backup";
const desc = clone.querySelector("div.d_flex.flex-g_1.flex-d_column > span"); const desc = clone.querySelector("div.d_flex.flex-g_1.flex-d_column > span");
if (desc) desc.textContent = "Backup or Restore all client data"; if (desc) desc.textContent = "Backup or Restore all client data";

View file

@ -9,7 +9,7 @@
const STYLE_ID = "headliner-style"; const STYLE_ID = "headliner-style";
const defaults = { const defaults = {
content: "Stoat V 1.6.0 - Avia Client", content: "Stoat V 1.0.0 - Sanctum",
left: "32", left: "32",
top: "56", top: "56",
fontSize: "15", fontSize: "15",

View file

@ -280,7 +280,7 @@
const linktreeBtn = appearanceBtn.cloneNode(true); const linktreeBtn = appearanceBtn.cloneNode(true);
linktreeBtn.id = 'stoat-fake-linktree'; linktreeBtn.id = 'stoat-fake-linktree';
const textNode = Array.from(linktreeBtn.querySelectorAll('div')).find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance'); const textNode = Array.from(linktreeBtn.querySelectorAll('div')).find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance');
if (textNode) textNode.textContent = "(Avia) Ava's Linktree"; if (textNode) textNode.textContent = "(Sanctum) Ava's Linktree";
setIcon(linktreeBtn, "monitor"); setIcon(linktreeBtn, "monitor");
linktreeBtn.addEventListener('click', () => window.open(LINKTREE_URL, "_blank")); linktreeBtn.addEventListener('click', () => window.open(LINKTREE_URL, "_blank"));
targetParent.appendChild(linktreeBtn); targetParent.appendChild(linktreeBtn);
@ -288,7 +288,7 @@
const stoatBtn = appearanceBtn.cloneNode(true); const stoatBtn = appearanceBtn.cloneNode(true);
stoatBtn.id = 'stoat-fake-stoatserver'; stoatBtn.id = 'stoat-fake-stoatserver';
const stoatTextNode = Array.from(stoatBtn.querySelectorAll('div')).find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance'); const stoatTextNode = Array.from(stoatBtn.querySelectorAll('div')).find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance');
if (stoatTextNode) stoatTextNode.textContent = "(Avia) Stoat Server"; if (stoatTextNode) stoatTextNode.textContent = "(Sanctum) Stoat Server";
setIcon(stoatBtn, "monitor"); setIcon(stoatBtn, "monitor");
stoatBtn.addEventListener('click', () => window.open(STOAT_SERVER_URL, "_blank")); stoatBtn.addEventListener('click', () => window.open(STOAT_SERVER_URL, "_blank"));
targetParent.appendChild(stoatBtn); targetParent.appendChild(stoatBtn);
@ -298,7 +298,7 @@
const newBtn = appearanceBtn.cloneNode(true); const newBtn = appearanceBtn.cloneNode(true);
newBtn.id = 'stoat-fake-loadfont'; newBtn.id = 'stoat-fake-loadfont';
const textNode = Array.from(newBtn.querySelectorAll('div')).find(d => d.children.length === 0); const textNode = Array.from(newBtn.querySelectorAll('div')).find(d => d.children.length === 0);
if (textNode) textNode.textContent = "(Avia) Font Loader"; if (textNode) textNode.textContent = "(Sanctum) Font Loader";
setIcon(newBtn, "upload"); setIcon(newBtn, "upload");
newBtn.addEventListener('click', showFontLoaderPopup); newBtn.addEventListener('click', showFontLoaderPopup);
targetParent.appendChild(newBtn); targetParent.appendChild(newBtn);
@ -307,7 +307,7 @@
const removeBtn = appearanceBtn.cloneNode(true); const removeBtn = appearanceBtn.cloneNode(true);
removeBtn.id = 'stoat-fake-removefont'; removeBtn.id = 'stoat-fake-removefont';
const removeTextNode = Array.from(removeBtn.querySelectorAll('div')).find(d => d.children.length === 0); const removeTextNode = Array.from(removeBtn.querySelectorAll('div')).find(d => d.children.length === 0);
if (removeTextNode) removeTextNode.textContent = "(Avia) Remove selected font"; if (removeTextNode) removeTextNode.textContent = "(Sanctum) Remove selected font";
setIcon(removeBtn, "refresh"); setIcon(removeBtn, "refresh");
removeBtn.addEventListener('click', showRemoveFontPopup); removeBtn.addEventListener('click', showRemoveFontPopup);
targetParent.appendChild(removeBtn); targetParent.appendChild(removeBtn);
@ -318,7 +318,7 @@
const quickCssBtn = appearanceBtn.cloneNode(true); const quickCssBtn = appearanceBtn.cloneNode(true);
quickCssBtn.id = 'stoat-fake-quickcss'; quickCssBtn.id = 'stoat-fake-quickcss';
const quickCssTextNode = Array.from(quickCssBtn.querySelectorAll('div')).find(d => d.children.length === 0); const quickCssTextNode = Array.from(quickCssBtn.querySelectorAll('div')).find(d => d.children.length === 0);
if (quickCssTextNode) quickCssTextNode.textContent = "(Avia) QuickCSS"; if (quickCssTextNode) quickCssTextNode.textContent = "(Sanctum) QuickCSS";
setIcon(quickCssBtn, "code"); setIcon(quickCssBtn, "code");
quickCssBtn.addEventListener('click', toggleQuickCSSPanel); quickCssBtn.addEventListener('click', toggleQuickCSSPanel);
targetParent.appendChild(quickCssBtn); targetParent.appendChild(quickCssBtn);

View file

@ -536,7 +536,7 @@
pluginsBtn.id = 'stoat-fake-plugins'; pluginsBtn.id = 'stoat-fake-plugins';
const textNode = [...pluginsBtn.querySelectorAll('div')] const textNode = [...pluginsBtn.querySelectorAll('div')]
.find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance'); .find(d => d.children.length === 0 && d.textContent.trim() === 'Appearance');
if (textNode) textNode.textContent = "(Avia) Plugins"; if (textNode) textNode.textContent = "(Sanctum) Plugins";
const svgNS = "http://www.w3.org/2000/svg"; const svgNS = "http://www.w3.org/2000/svg";
const oldSvg = pluginsBtn.querySelector('svg'); const oldSvg = pluginsBtn.querySelector('svg');
if (oldSvg) oldSvg.remove(); if (oldSvg) oldSvg.remove();

View file

@ -453,7 +453,7 @@
clone.id = "avia-official-repo-btn-settings"; clone.id = "avia-official-repo-btn-settings";
const label = [...clone.querySelectorAll("div")].find(d => d.children.length === 0); const label = [...clone.querySelectorAll("div")].find(d => d.children.length === 0);
if (label) label.textContent = "(Avia) Plugins/Themes Repo"; if (label) label.textContent = "(Sanctum) Plugins/Themes Repo";
const iconSpan = clone.querySelector("span.material-symbols-outlined"); const iconSpan = clone.querySelector("span.material-symbols-outlined");
if (iconSpan) { if (iconSpan) {

View file

@ -509,7 +509,7 @@
const clone = appearanceBtn.cloneNode(true); const clone = appearanceBtn.cloneNode(true);
clone.id = "avia-themes-btn"; clone.id = "avia-themes-btn";
const text = [...clone.querySelectorAll("div")].find(d => d.children.length === 0); const text = [...clone.querySelectorAll("div")].find(d => d.children.length === 0);
if (text) text.textContent = "(Avia) Themes"; if (text) text.textContent = "(Sanctum) Themes";
clone.onclick = toggleThemesPanel; clone.onclick = toggleThemesPanel;
quickCSS.parentElement.insertBefore(clone, quickCSS.nextSibling); quickCSS.parentElement.insertBefore(clone, quickCSS.nextSibling);
} }

View file

@ -26,4 +26,11 @@
<control>keyboard</control> <control>keyboard</control>
<control>pointing</control> <control>pointing</control>
</supports> </supports>
<releases>
<release date="2026-04-22" version="1.0.0">
<description>
<p>Initial Sanctum release based on Avia Client with self-hosted instance support.</p>
</description>
</release>
</releases>
</component> </component>

View file

@ -1,8 +1,8 @@
{ {
"name": "sanctum", "name": "sanctum",
"productName": "Sanctum", "productName": "Sanctum",
"version": "1.3.0", "version": "1.0.0",
"aviaVersion": "1.6.0", "aviaVersion": "1.0.0",
"main": ".vite/build/main.js", "main": ".vite/build/main.js",
"repository": "https://git.mithraic.cloud/ad3laid3/sanctum", "repository": "https://git.mithraic.cloud/ad3laid3/sanctum",
"scripts": { "scripts": {