From 3e76481a149bb3de459298cc989505c470c2372c Mon Sep 17 00:00:00 2001 From: Wes Date: Tue, 14 Jul 2026 12:11:02 -0600 Subject: [PATCH] refactor(clients): standardize product naming on community (#1858) Signed-off-by: Wes Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co> --- desktop/playwright.config.ts | 2 +- desktop/src/app/App.tsx | 188 ++++++++-------- desktop/src/app/AppShell.tsx | 86 ++++---- desktop/src/app/AppTopChrome.tsx | 8 +- desktop/src/app/RelayConnectionOverlay.tsx | 10 +- desktop/src/app/useReloadShortcut.ts | 2 +- .../app/useThreadActivityFeedItems.test.mjs | 10 +- desktop/src/app/useThreadActivityFeedItems.ts | 4 +- .../agents/activeAgentTurnsStore.test.mjs | 68 +++--- .../features/agents/activeAgentTurnsStore.ts | 40 ++-- .../src/features/agents/agentWorkingSignal.ts | 2 +- .../agents/lib/friendlyAgentLastError.ts | 2 +- .../agents/ui/EditAgentAdvancedFields.tsx | 2 +- .../features/agents/ui/ManagedAgentRow.tsx | 2 +- .../agents/ui/UnifiedAgentsSection.tsx | 2 +- .../ui/transcriptAnimationPreference.ts | 4 +- .../ui/transcriptTimestampPreference.ts | 4 +- .../features/agents/useKnownAgentPubkeys.tsx | 8 +- .../src/features/channels/channelSnapshot.ts | 6 +- .../features/channels/forcedUnreadStore.ts | 2 +- desktop/src/features/channels/hooks.ts | 6 +- .../channels/ui/AgentSessionThreadPanel.tsx | 2 +- .../ui/ChannelManagementModerationActions.tsx | 2 +- .../features/channels/ui/ChannelScreen.tsx | 8 +- .../ui/useMembersSidebarModeration.ts | 2 +- .../useUnreadChannels.storage.test.mjs | 6 +- .../features/channels/useUnreadChannels.ts | 4 +- .../communityIconCache.ts} | 8 +- .../communityMarkRead.test.mjs} | 18 +- .../communityMarkRead.ts} | 18 +- .../communities/communityStorage.test.mjs | 61 ++++++ .../communityStorage.ts} | 73 ++++--- .../communityUnreadObserver.test.mjs} | 76 +++---- .../communityUnreadObserver.ts} | 32 +-- .../legacyCommunityStorage.test.mjs | 153 +++++++++++++ .../communities/legacyCommunityStorage.ts | 141 ++++++++++++ .../lib/downscaleIcon.ts | 4 +- .../{workspaces => communities}/types.ts | 6 +- .../ui/AddCommunityDialog.tsx} | 32 +-- .../ui/CommunityIconSettingsCard.tsx} | 56 ++--- .../ui/CommunitySwitcher.tsx} | 118 +++++----- .../ui/EditCommunityDialog.tsx} | 62 +++--- .../ui/WelcomeSetup.tsx | 92 ++++---- .../features/communities/useCommunities.tsx | 203 ++++++++++++++++++ .../features/communities/useCommunityIcons.ts | 68 ++++++ .../useCommunityInit.ts} | 120 +++++------ .../communities/useCommunityUnread.ts | 182 ++++++++++++++++ .../useNestNotifications.ts | 2 +- .../hooks.ts | 0 .../ui/AddMemberDialog.tsx | 2 +- .../ui/CommunityMembersCard.tsx} | 8 +- .../ui/CommunityMembersSettingsCard.tsx} | 26 +-- .../ui/ConfirmRemoveDialog.tsx | 2 +- .../ui/InviteLinkSection.tsx | 0 .../custom-emoji/emojiMartCategory.ts | 2 +- desktop/src/features/custom-emoji/hooks.ts | 8 +- .../ui/CustomEmojiSettingsCard.tsx | 14 +- .../features/custom-emoji/ui/EmojiPicker.tsx | 2 +- desktop/src/features/home/ui/HomeView.tsx | 8 +- .../src/features/home/ui/InboxMessageRow.tsx | 2 +- .../features/home/useInboxSelectionAnchor.ts | 8 +- .../src/features/identity-archive/hooks.ts | 2 +- .../agentMetricArchivePreference.ts | 2 +- .../local-archive/archiveSyncManager.ts | 4 +- .../observerArchivePreference.ts | 2 +- desktop/src/features/messages/hooks.ts | 2 +- .../features/messages/lib/customEmojiNode.ts | 2 +- .../features/messages/lib/messageSnapshot.ts | 4 +- .../src/features/messages/lib/useDrafts.ts | 4 +- .../messages/lib/useEmojiAutocomplete.ts | 2 +- .../src/features/messages/ui/MessageRow.tsx | 2 +- .../ui/configNudgeAuthPubkey.test.mjs | 2 +- .../messages/ui/configNudgeAuthPubkey.ts | 2 +- .../messages/ui/useQuickReactionEmojis.ts | 50 ++--- desktop/src/features/moderation/hooks.ts | 2 +- .../ui/MessageModerationMenuItems.tsx | 2 +- desktop/src/features/onboarding/hooks.ts | 30 +-- .../onboarding/ui/NostrKeyImportForm.tsx | 4 +- .../features/onboarding/ui/OnboardingFlow.tsx | 22 +- .../src/features/onboarding/ui/SetupStep.tsx | 2 +- .../src/features/onboarding/welcome.test.mjs | 14 +- desktop/src/features/onboarding/welcome.ts | 18 +- .../features/onboarding/welcomeGuide.test.mjs | 16 +- .../src/features/onboarding/welcomeGuide.ts | 2 +- desktop/src/features/profile/hooks.ts | 16 +- .../profile/lib/selfProfileStorage.ts | 6 +- .../features/profile/ui/ProfilePopover.tsx | 14 +- .../profile/ui/UserProfileAgentActions.tsx | 2 +- .../projects/ui/ProjectDetailScreen.tsx | 16 +- .../projects/ui/ProjectsOverviewPanel.tsx | 8 +- .../src/features/projects/ui/ProjectsView.tsx | 12 +- .../projects/useProjectsRepoSnapshots.ts | 2 +- .../settings/ui/DoctorSettingsPanel.tsx | 2 +- .../settings/ui/ModerationQueueCard.tsx | 2 +- .../features/settings/ui/SettingsPanels.tsx | 16 +- .../src/features/settings/ui/SettingsView.tsx | 10 +- .../sidebar/lib/channelSectionsStorage.ts | 2 +- .../sidebar/lib/channelSectionsSync.test.mjs | 4 +- .../sidebar/lib/channelSectionsSync.ts | 6 +- .../sidebar/lib/channelSortPreference.ts | 2 +- .../sidebar/lib/channelSortSync.test.mjs | 2 +- .../features/sidebar/lib/channelSortSync.ts | 6 +- .../sidebar/lib/useChannelSortPreference.ts | 2 +- .../src/features/sidebar/ui/AppSidebar.tsx | 68 +++--- ...ceRail.test.mjs => CommunityRail.test.mjs} | 38 ++-- .../{WorkspaceRail.tsx => CommunityRail.tsx} | 160 +++++++------- .../sidebar/ui/SidebarProfileCard.tsx | 56 ++--- .../sidebar/ui/sidebarLoadingSkeleton.tsx | 14 +- .../ui/useSidebarRelayConnectionCard.ts | 2 +- .../features/user-status/ui/StatusEmoji.tsx | 2 +- .../legacyWorkspaceStorage.test.mjs | 153 ------------- .../workspaces/legacyWorkspaceStorage.ts | 138 ------------ .../features/workspaces/useWorkspaceIcons.ts | 68 ------ .../features/workspaces/useWorkspaceUnread.ts | 182 ---------------- .../src/features/workspaces/useWorkspaces.tsx | 203 ------------------ desktop/src/main.tsx | 20 +- ...orkspaceProfile.ts => communityProfile.ts} | 26 +-- desktop/src/shared/api/customEmoji.ts | 16 +- desktop/src/shared/api/invites.ts | 6 +- desktop/src/shared/api/readOnlyRelayClient.ts | 4 +- desktop/src/shared/api/relayClientSession.ts | 12 +- desktop/src/shared/api/relayClientShared.ts | 4 +- .../shared/api/relayConnectionStateEmitter.ts | 2 +- .../api/relayQueryInvalidation.test.mjs | 2 +- .../src/shared/api/relayReconnectPolicy.ts | 2 +- .../shared/api/relayWebSocketClose.test.mjs | 6 +- desktop/src/shared/api/tauri.ts | 2 +- desktop/src/shared/api/useReconnectRelay.ts | 2 +- desktop/src/shared/deep-link.ts | 28 +-- desktop/src/shared/lib/customEmojiTags.ts | 2 +- desktop/src/shared/lib/linkPreview.ts | 4 +- desktop/src/shared/lib/localStorageQuota.ts | 2 +- desktop/src/shared/lib/mediaUrl.ts | 2 +- .../src/shared/styles/globals/animations.css | 2 +- desktop/src/shared/styles/globals/theme.css | 6 +- desktop/src/shared/ui/markdown/nodeCache.ts | 4 +- desktop/src/shared/ui/videoPlayerState.ts | 2 +- desktop/src/testing/e2eBridge.ts | 22 +- desktop/tests/e2e/boot-splash.spec.ts | 2 +- ...ce-rail.spec.ts => community-rail.spec.ts} | 115 +++++----- desktop/tests/e2e/custom-emoji-ui.spec.ts | 8 +- desktop/tests/e2e/custom-emoji.spec.ts | 2 +- desktop/tests/e2e/drafts-screenshots.spec.ts | 28 +-- desktop/tests/e2e/onboarding.spec.ts | 38 ++-- desktop/tests/e2e/profile.spec.ts | 2 +- .../tests/e2e/project-commit-detail.spec.ts | 4 +- desktop/tests/e2e/relay-reconnect.spec.ts | 2 +- desktop/tests/helpers/bridge.ts | 28 +-- desktop/tests/helpers/screenshot.mjs | 12 +- desktop/tests/helpers/settings.ts | 2 +- desktop/tests/helpers/zoom-shot.mjs | 6 +- .../channels/channel_management_provider.dart | 2 +- .../channel_mutes/channel_mutes_provider.dart | 6 +- .../channel_sections_provider.dart | 6 +- .../channel_stars/channel_stars_provider.dart | 6 +- .../lib/features/channels/channels_page.dart | 24 +-- .../{workspace.dart => community.dart} | 84 ++++---- .../features/channels/channels_provider.dart | 2 +- .../read_state/read_state_provider.dart | 6 +- .../features/custom_emoji/custom_emoji.dart | 8 +- .../custom_emoji/custom_emoji_provider.dart | 4 +- mobile/lib/features/pairing/pairing_page.dart | 16 +- .../features/pairing/pairing_provider.dart | 22 +- .../lib/features/search/search_provider.dart | 2 +- .../lib/features/settings/settings_page.dart | 6 +- mobile/lib/shared/auth/auth.dart | 6 +- mobile/lib/shared/auth/auth_provider.dart | 71 +++--- .../community.dart} | 18 +- .../shared/community/community_provider.dart | 127 +++++++++++ .../shared/community/community_storage.dart | 111 ++++++++++ mobile/lib/shared/relay/relay_provider.dart | 8 +- .../shared/workspace/workspace_provider.dart | 127 ----------- .../shared/workspace/workspace_storage.dart | 96 --------- .../features/channels/channels_page_test.dart | 2 +- .../channels/channels_provider_test.dart | 4 +- .../pairing/pairing_provider_test.dart | 12 +- .../test/shared/auth/auth_provider_test.dart | 28 +-- .../community/community_provider_test.dart | 152 +++++++++++++ .../community_storage_test.dart} | 47 ++-- .../test/shared/relay/relay_session_test.dart | 4 +- .../workspace/workspace_provider_test.dart | 152 ------------- preview-features.json | 4 +- web/src/features/invite/ui/InvitePage.tsx | 2 +- web/src/features/repos/mock-repos.ts | 4 +- web/src/features/repos/ui/ReposPage.tsx | 10 +- 185 files changed, 2613 insertions(+), 2488 deletions(-) rename desktop/src/features/{workspaces/workspaceIconCache.ts => communities/communityIconCache.ts} (80%) rename desktop/src/features/{workspaces/workspaceMarkRead.test.mjs => communities/communityMarkRead.test.mjs} (92%) rename desktop/src/features/{workspaces/workspaceMarkRead.ts => communities/communityMarkRead.ts} (90%) create mode 100644 desktop/src/features/communities/communityStorage.test.mjs rename desktop/src/features/{workspaces/workspaceStorage.ts => communities/communityStorage.ts} (58%) rename desktop/src/features/{workspaces/workspaceUnreadObserver.test.mjs => communities/communityUnreadObserver.test.mjs} (91%) rename desktop/src/features/{workspaces/workspaceUnreadObserver.ts => communities/communityUnreadObserver.ts} (94%) create mode 100644 desktop/src/features/communities/legacyCommunityStorage.test.mjs create mode 100644 desktop/src/features/communities/legacyCommunityStorage.ts rename desktop/src/features/{workspaces => communities}/lib/downscaleIcon.ts (93%) rename desktop/src/features/{workspaces => communities}/types.ts (88%) rename desktop/src/features/{workspaces/ui/AddWorkspaceDialog.tsx => communities/ui/AddCommunityDialog.tsx} (90%) rename desktop/src/features/{workspaces/ui/WorkspaceIconSettingsCard.tsx => communities/ui/CommunityIconSettingsCard.tsx} (66%) rename desktop/src/features/{workspaces/ui/WorkspaceSwitcher.tsx => communities/ui/CommunitySwitcher.tsx} (80%) rename desktop/src/features/{workspaces/ui/EditWorkspaceDialog.tsx => communities/ui/EditCommunityDialog.tsx} (82%) rename desktop/src/features/{workspaces => communities}/ui/WelcomeSetup.tsx (82%) create mode 100644 desktop/src/features/communities/useCommunities.tsx create mode 100644 desktop/src/features/communities/useCommunityIcons.ts rename desktop/src/features/{workspaces/useWorkspaceInit.ts => communities/useCommunityInit.ts} (63%) create mode 100644 desktop/src/features/communities/useCommunityUnread.ts rename desktop/src/features/{workspaces => communities}/useNestNotifications.ts (96%) rename desktop/src/features/{relay-members => community-members}/hooks.ts (100%) rename desktop/src/features/{relay-members => community-members}/ui/AddMemberDialog.tsx (99%) rename desktop/src/features/{relay-members/ui/RelayMembersCard.tsx => community-members/ui/CommunityMembersCard.tsx} (97%) rename desktop/src/features/{relay-members/ui/RelayMembersSettingsCard.tsx => community-members/ui/CommunityMembersSettingsCard.tsx} (95%) rename desktop/src/features/{relay-members => community-members}/ui/ConfirmRemoveDialog.tsx (96%) rename desktop/src/features/{relay-members => community-members}/ui/InviteLinkSection.tsx (100%) rename desktop/src/features/sidebar/ui/{WorkspaceRail.test.mjs => CommunityRail.test.mjs} (68%) rename desktop/src/features/sidebar/ui/{WorkspaceRail.tsx => CommunityRail.tsx} (63%) delete mode 100644 desktop/src/features/workspaces/legacyWorkspaceStorage.test.mjs delete mode 100644 desktop/src/features/workspaces/legacyWorkspaceStorage.ts delete mode 100644 desktop/src/features/workspaces/useWorkspaceIcons.ts delete mode 100644 desktop/src/features/workspaces/useWorkspaceUnread.ts delete mode 100644 desktop/src/features/workspaces/useWorkspaces.tsx rename desktop/src/shared/api/{workspaceProfile.ts => communityProfile.ts} (63%) rename desktop/tests/e2e/{workspace-rail.spec.ts => community-rail.spec.ts} (54%) rename mobile/lib/features/channels/channels_page/{workspace.dart => community.dart} (78%) rename mobile/lib/shared/{workspace/workspace.dart => community/community.dart} (85%) create mode 100644 mobile/lib/shared/community/community_provider.dart create mode 100644 mobile/lib/shared/community/community_storage.dart delete mode 100644 mobile/lib/shared/workspace/workspace_provider.dart delete mode 100644 mobile/lib/shared/workspace/workspace_storage.dart create mode 100644 mobile/test/shared/community/community_provider_test.dart rename mobile/test/shared/{workspace/workspace_storage_test.dart => community/community_storage_test.dart} (80%) delete mode 100644 mobile/test/shared/workspace/workspace_provider_test.dart diff --git a/desktop/playwright.config.ts b/desktop/playwright.config.ts index 7d5297220..224da878b 100644 --- a/desktop/playwright.config.ts +++ b/desktop/playwright.config.ts @@ -66,7 +66,7 @@ export default defineConfig({ "**/home-collapsed-top-chrome.spec.ts", "**/top-chrome-zoom-clearance.spec.ts", "**/thread-unread.spec.ts", - "**/workspace-rail.spec.ts", + "**/community-rail.spec.ts", "**/boot-splash.spec.ts", "**/thread-reply-anchor-roleplay.spec.ts", "**/threadpane-ultrawide.spec.ts", diff --git a/desktop/src/app/App.tsx b/desktop/src/app/App.tsx index 45707ce66..0ff3ffaa2 100644 --- a/desktop/src/app/App.tsx +++ b/desktop/src/app/App.tsx @@ -21,11 +21,11 @@ import { OnboardingSlideTransition } from "@/features/onboarding/ui/OnboardingSl import { OnboardingFlow } from "@/features/onboarding/ui/OnboardingFlow"; import { KeyringLockedScreen } from "@/features/onboarding/ui/KeyringLockedScreen"; import { RelaunchRequiredScreen } from "@/features/onboarding/ui/RelaunchRequiredScreen"; -import type { Workspace } from "@/features/workspaces/types"; -import { useWorkspaceInit } from "@/features/workspaces/useWorkspaceInit"; -import { useNestNotifications } from "@/features/workspaces/useNestNotifications"; -import { useWorkspaces } from "@/features/workspaces/useWorkspaces"; -import { WelcomeSetup } from "@/features/workspaces/ui/WelcomeSetup"; +import type { Community } from "@/features/communities/types"; +import { useCommunityInit } from "@/features/communities/useCommunityInit"; +import { useNestNotifications } from "@/features/communities/useNestNotifications"; +import { useCommunities } from "@/features/communities/useCommunities"; +import { WelcomeSetup } from "@/features/communities/ui/WelcomeSetup"; import { createBuzzQueryClient } from "@/shared/api/queryClient"; import { isSharedIdentity as isSharedIdentityCmd } from "@/shared/api/tauri"; import { listenForDeepLinks } from "@/shared/deep-link"; @@ -38,10 +38,10 @@ import { FuzzyLogo } from "@/shared/ui/buzz-logo/FuzzyLogo"; import { StartupWindowDragRegion } from "@/shared/ui/StartupWindowDragRegion"; import { StepProgress } from "@/shared/ui/step-progress"; -const LOADING_TEXT = "Setting up your workspace..."; +const LOADING_TEXT = "Setting up your community..."; // Minimum time the cold-boot splash stays on screen. A real boot resolves the -// workspace in well under 100ms, and the native window setup plus first paint +// community in well under 100ms, and the native window setup plus first paint // can take longer than that — without a hold, the bee is unmounted before it is // ever visible. The hold runs as an overlay above the already-mounted app, so // time-to-interactive is unchanged; only the reveal waits. @@ -130,7 +130,7 @@ function BeeLoader({ // Cold boot gate: the theme-adaptive grainient background with a single // centered Buzz bee flying over it — the same static mark as before, now with // its wings flapping (ported from the Buzz website's wing-flap). Replaces the -// old "Setting up your workspace" text, which stays as an sr-only caption. +// old "Setting up your community" text, which stays as an sr-only caption. function AppLoadingGate() { return (
{ @@ -159,14 +159,14 @@ function WorkspaceSwitchGate() { return (
- Switching workspace… + Switching community… {showSpinner ? ( @@ -197,7 +197,7 @@ function OnboardingLoadingGate() { className="flex w-full flex-col items-center text-center" direction="forward" effect="none" - transitionKey="workspace-connecting" + transitionKey="community-connecting" >