commit 20cedf0a7374a8badbfc1486bf8513f3bebd8c4d
parent a8cca05d2e7782780dea9c85f4add0424debbf97
Author: triesap <tyson@radroots.org>
Date: Sat, 18 Apr 2026 03:58:56 +0000
app: reconcile auth copy and workspace validation
Diffstat:
6 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/crates/launchers/desktop/src/source_guards.rs b/crates/launchers/desktop/src/source_guards.rs
@@ -4,7 +4,7 @@ const ALLOWED_MENU_LITERALS: &[&str] = &["cmd-q", "settings window should open"]
const ALLOWED_WINDOW_LITERALS: &[&str] = &[
"account-add",
- "account-admin-console",
+ "account-open-workspace",
"account-log-out",
"account-more",
"home-today-scroll",
diff --git a/crates/launchers/desktop/src/window.rs b/crates/launchers/desktop/src/window.rs
@@ -637,9 +637,9 @@ impl SettingsWindowView {
)
.child(
div().child(action_button(
- "account-admin-console",
+ "account-open-workspace",
app_shared_text(
- AppTextKey::SettingsAccountAdminConsoleAction,
+ AppTextKey::SettingsAccountOpenWorkspaceAction,
),
cx.listener(|this, _, _, cx| {
this.open_selected_workspace(cx);
diff --git a/crates/shared/i18n/src/keys.rs b/crates/shared/i18n/src/keys.rs
@@ -70,7 +70,7 @@ define_app_text_keys! {
SettingsAccountActivationActive => "settings.account.activation.active",
SettingsAccountAddAction => "settings.account.action.add_account",
SettingsAccountLogOutAction => "settings.account.action.log_out",
- SettingsAccountAdminConsoleAction => "settings.account.action.admin_console",
+ SettingsAccountOpenWorkspaceAction => "settings.account.action.open_workspace",
SettingsViewAccount => "settings.view.account",
SettingsViewSettings => "settings.view.settings",
SettingsViewAbout => "settings.view.about",
diff --git a/crates/shared/i18n/src/lib.rs b/crates/shared/i18n/src/lib.rs
@@ -114,6 +114,26 @@ mod tests {
}
#[test]
+ fn english_auth_copy_matches_the_local_account_workflow_contract() {
+ assert_eq!(
+ app_text(AppTextKey::HomeTodayEmptySetupBody),
+ "Add a local account to start using Radroots on this device."
+ );
+ assert_eq!(
+ app_text(AppTextKey::SettingsAccountNoSelectionBody),
+ "Add a local account to start using Radroots on this device."
+ );
+ assert_eq!(
+ app_text(AppTextKey::SettingsAccountActivationLabel),
+ "Farmer Activation"
+ );
+ assert_eq!(
+ app_text(AppTextKey::SettingsAccountOpenWorkspaceAction),
+ "Open Workspace..."
+ );
+ }
+
+ #[test]
fn host_locale_negotiation_reduces_to_supported_base_locale() {
assert_eq!(resolve_locale_from_host("en_US.UTF-8"), "en");
assert_eq!(resolve_locale_from_host("en-GB"), "en");
diff --git a/crates/shared/models/src/lib.rs b/crates/shared/models/src/lib.rs
@@ -657,9 +657,9 @@ mod tests {
AccountCustody, AccountSummary, AccountSurfaceActivationProjection, ActiveSurface,
ActivityEventId, AppActivityContext, AppActivityEvent, AppActivityKind,
AppIdentityProjection, AppStartupGate, FarmId, FarmerActivationProjection, FarmerSection,
- IdentityBlockedReason, OrderListRow, ProductListRow, SelectedAccountProjection,
- SelectedSurfaceProjection, SettingsPreference, SettingsSection, ShellSection,
- TodayAgendaProjection, TodaySetupTask, TodaySetupTaskKind, TodaySummary,
+ IdentityBlockedReason, IdentityReadiness, OrderListRow, ProductListRow,
+ SelectedAccountProjection, SelectedSurfaceProjection, SettingsPreference, SettingsSection,
+ ShellSection, TodayAgendaProjection, TodaySetupTask, TodaySetupTaskKind, TodaySummary,
};
use std::{collections::BTreeSet, str::FromStr};
use uuid::Uuid;
diff --git a/i18n/locales/en/messages.json b/i18n/locales/en/messages.json
@@ -18,7 +18,7 @@
"home.today.setup.add_fulfillment_window": "Add a fulfillment window",
"home.today.setup.publish_product": "Publish a product",
"home.today.empty.setup.title": "Account setup required",
- "home.today.empty.setup.body": "Add or import a local account to start using Radroots on this device.",
+ "home.today.empty.setup.body": "Add a local account to start using Radroots on this device.",
"home.today.empty.no_farm.title": "No farm yet",
"home.today.empty.no_farm.body": "Create a farm to start using the farmer workspace.",
"home.today.empty.quiet.title": "Nothing urgent right now",
@@ -31,7 +31,7 @@
"settings.nav.settings": "Settings",
"settings.nav.about": "About",
"settings.account.no_selection.title": "No account selected",
- "settings.account.no_selection.body": "Add or import a local account to start using Radroots on this device.",
+ "settings.account.no_selection.body": "Add a local account to start using Radroots on this device.",
"settings.account.profile.label": "Profile",
"settings.account.status.label": "Status",
"settings.account.status.logged_in": "Logged In",
@@ -44,12 +44,12 @@
"settings.account.surface.label": "Surface",
"settings.account.surface.personal": "Personal",
"settings.account.surface.farmer": "Farmer",
- "settings.account.activation.label": "Farmer",
+ "settings.account.activation.label": "Farmer Activation",
"settings.account.activation.inactive": "Not activated",
"settings.account.activation.active": "Activated",
"settings.account.action.add_account": "Add Account...",
"settings.account.action.log_out": "Log Out",
- "settings.account.action.admin_console": "Admin Console...",
+ "settings.account.action.open_workspace": "Open Workspace...",
"settings.view.account": "account",
"settings.view.settings": "settings",
"settings.view.about": "about",