rename: the apps say Inkwell — web, desktop, Android and server strings
Android / Build, or is the channel already serving this? (push) Successful in 4s
CI & Build / Build now, or wait for Android? (push) Successful in 4s
CI & Build / Python lint (push) Successful in 2s
CI & Build / TypeScript typecheck (push) Successful in 11s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 3s
CI & Build / Python tests (push) Successful in 15s
CI & Build / integration (push) Successful in 58s
CI & Build / Build & push image (push) Skipped
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 4m17s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 7m50s
Desktop (Tauri) / Update manifest (push) Successful in 5s
Android / Kotlin + Rust (APK) (push) Successful in 11m37s

ThoughtSync is renamed Inkwell ("Fabled Inkwell" in full; Scribe note 5071).
This is step 1 of milestone 481: every string a person reads in the running
apps. Identities installed clients depend on are deliberately untouched — the
Tauri productName (it derives the .deb Package: field), identifier and binary
name, applicationId, X-ThoughtSync-* headers, the export's app marker, env vars,
module and crate names.

- web: title, PWA manifest (name "Fabled Inkwell", short_name "Inkwell"),
  offline page, icon labels, build labels, prompts, notification title
- server: site_name default, import error, link-preview User-Agent
- 0030: a stored site_name of exactly the old default follows the rename. The
  Settings page saves every key, so most servers hold "ThoughtSync" without an
  admin ever having chosen it; a name they typed is left alone
- desktop: window title, default device name, local-mode site name, log line
- android: app_name and the strings that name the app
- core: probe and compatibility messages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-06 13:16:14 -04:00
co-authored by Claude Opus 5.5
parent fb469ed73a
commit f806e35d41
30 changed files with 108 additions and 57 deletions
+3 -3
View File
@@ -128,7 +128,7 @@ onMounted(() => {
</header>
<p class="mb-6 max-w-xl text-sm text-neutral-500 dark:text-neutral-400">
Link the ThoughtSync desktop or mobile app to sync your notes. Create a device token here, then
Link the Inkwell desktop or mobile app to sync your notes. Create a device token here, then
paste it into the app when it asks to connect. You can revoke a device at any time.
</p>
@@ -142,8 +142,8 @@ onMounted(() => {
<p class="mt-0.5 text-xs text-neutral-400">
{{
desktopStatus.is_integrated
? "ThoughtSync is in your applications menu."
: "Add ThoughtSync to your applications menu to launch it like an installed app."
? "Inkwell is in your applications menu."
: "Add Inkwell to your applications menu to launch it like an installed app."
}}
</p>
</div>
+1 -1
View File
@@ -198,7 +198,7 @@ const emptyState = computed(() => {
if (startState.value)
return {
title: "Your notes live on this device",
subtitle: "ThoughtSync works fully offline — no account, nothing to sign in to.",
subtitle: "Inkwell works fully offline — no account, nothing to sign in to.",
};
return { title: "No notes yet", subtitle: "Your captured thoughts will show up here." };
});
+1 -1
View File
@@ -96,7 +96,7 @@ async function submit() {
costs nothing that was not already public (#3181). -->
<p
class="mt-8 select-all text-center text-[11px] text-neutral-400 dark:text-neutral-500"
:title="`ThoughtSync server build ${config.version || 'unknown'}`"
:title="`Inkwell server build ${config.version || 'unknown'}`"
>
{{ config.version || "unknown" }}
</p>
+1 -1
View File
@@ -38,7 +38,7 @@ onMounted(load);
<span v-else-if="reminders.osEnabled" class="text-xs text-neutral-400">Notifications on ✓</span>
</div>
<p class="mb-5 text-xs text-neutral-400">
Due reminders pop up while ThoughtSync is open. Background alerts arrive with the desktop &amp; mobile apps.
Due reminders pop up while Inkwell is open. Background alerts arrive with the desktop &amp; mobile apps.
</p>
<AsyncState :loading="loading" :error="error || undefined" error-title="Couldn't load reminders" @retry="load">
+5 -5
View File
@@ -69,8 +69,8 @@ function describe(c: Compatibility): string {
}
// --- App updates (M10.9). Independent of sync: an unlinked, server-less install
// still updates itself, which is why the feed is the release host and not a
// ThoughtSync server. ---
// still updates itself, which is why the feed is the release host and not an
// Inkwell server. ---
const channel = ref<UpdateChannel>("stable");
const update = ref<UpdateStatus | null>(null);
const checking = ref(false);
@@ -374,8 +374,8 @@ onMounted(refresh);
Working offline on this device
</p>
<p class="mt-1 text-sm text-neutral-500 dark:text-neutral-400">
Everything works without a server — your notes are stored on this machine. Connect a
ThoughtSync server if you want them to reach your other devices.
Everything works without a server — your notes are stored on this machine. Connect an
Inkwell server if you want them to reach your other devices.
</p>
</section>
@@ -410,7 +410,7 @@ onMounted(refresh);
"
>
<p class="font-medium text-neutral-800 dark:text-neutral-100">
{{ probe.server.site_name || "ThoughtSync server" }}
{{ probe.server.site_name || "Inkwell server" }}
<span v-if="probe.server.version" class="text-xs font-normal text-neutral-400">
v{{ probe.server.version }}
</span>