Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d66deba
move simple stores out of registry
chrisnojima-zoom Jan 6, 2026
f34ebb3
WIP
chrisnojima Jan 6, 2026
e73bc17
more subs (#28758)
chrisnojima-zoom Jan 6, 2026
951deb7
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 7, 2026
7c4bfb1
WIP: shift 8 (#28771)
chrisnojima-zoom Jan 7, 2026
d4442ad
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima-zoom Jan 7, 2026
9dca46e
WIP
chrisnojima-zoom Jan 7, 2026
10bd236
WIP
chrisnojima Jan 7, 2026
90f2d32
WIP
chrisnojima Jan 7, 2026
77bcd53
WIP2: shift 9 (#28776)
chrisnojima-zoom Jan 9, 2026
e39f691
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 9, 2026
b76e1d1
WIP: shift 10 (#28787)
chrisnojima-zoom Jan 9, 2026
a9b4317
WIP shift 11 (#28788)
chrisnojima-zoom Jan 9, 2026
17f1fcc
WIP: shift 12 (#28794)
chrisnojima-zoom Jan 12, 2026
b7fab69
WIP: shift 13 (#28795)
chrisnojima-zoom Jan 12, 2026
4c78cb3
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 12, 2026
28f5bd3
WIP: shift 14 (#28797)
chrisnojima-zoom Jan 12, 2026
29bf146
WIP: shift 15 (#28799)
chrisnojima-zoom Jan 12, 2026
035010e
WIP: shift 16 (#28800)
chrisnojima-zoom Jan 13, 2026
a196949
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 14, 2026
6c42322
WIP: shift 17 (#28803)
chrisnojima-zoom Jan 15, 2026
4eb50cd
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 15, 2026
ad88d4e
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 15, 2026
45bbb80
Merge remote-tracking branch 'origin/master' into nojima/ZCLIENT-stor…
chrisnojima Jan 16, 2026
7ac34f2
WIP: shift 18 (#28811)
chrisnojima-zoom Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions shared/app/global-errors/hook.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as C from '@/constants'
import * as React from 'react'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'
import type {RPCError} from '@/util/errors'
import {settingsFeedbackTab} from '@/constants/settings/util'
import {useDaemonState} from '@/constants/daemon'
import {settingsFeedbackTab} from '@/constants/settings'
import {useDaemonState} from '@/stores/daemon'

export type Size = 'Closed' | 'Small' | 'Big'

Expand Down
18 changes: 8 additions & 10 deletions shared/app/index.native.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as C from '@/constants'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'
import * as Kb from '@/common-adapters'
import * as React from 'react'
import {useDeepLinksState} from '@/constants/deeplinks'
import {handleAppLink} from '@/constants/deeplinks'
import Main from './main.native'
import {KeyboardProvider} from 'react-native-keyboard-controller'
import Animated, {ReducedMotionConfig, ReduceMotion} from 'react-native-reanimated'
Expand All @@ -18,9 +18,8 @@ import ServiceDecoration from '@/common-adapters/markdown/service-decoration'
import {useUnmountAll} from '@/util/debug-react'
import {darkModeSupported, guiConfig} from 'react-native-kb'
import {install} from 'react-native-kb'
import {useEngineState} from '@/constants/engine'
import * as DarkMode from '@/constants/darkmode'
import {initPlatformListener} from '@/constants/platform-specific'
import * as DarkMode from '@/stores/darkmode'
import {initPlatformListener, onEngineConnected, onEngineDisconnected, onEngineIncoming} from '@/constants/init/index.native'

enableFreeze(true)
setServiceDecoration(ServiceDecoration)
Expand Down Expand Up @@ -107,7 +106,6 @@ const StoreHelper = (p: {children: React.ReactNode}): React.ReactNode => {
const {children} = p
useDarkHookup()
useKeyboardHookup()
const handleAppLink = useDeepLinksState(s => s.dispatch.handleAppLink)

React.useEffect(() => {
const linkingSub = Linking.addEventListener('url', ({url}: {url: string}) => {
Expand All @@ -116,7 +114,7 @@ const StoreHelper = (p: {children: React.ReactNode}): React.ReactNode => {
return () => {
linkingSub.remove()
}
}, [handleAppLink])
}, [])

return children
}
Expand All @@ -136,11 +134,11 @@ const useInit = () => {
const {batch} = C.useWaitingState.getState().dispatch
const eng = makeEngine(batch, c => {
if (c) {
useEngineState.getState().dispatch.onEngineConnected()
onEngineConnected()
} else {
useEngineState.getState().dispatch.onEngineDisconnected()
onEngineDisconnected()
}
})
}, onEngineIncoming)
initPlatformListener()
eng.listenersAreReady()

Expand Down
2 changes: 1 addition & 1 deletion shared/app/main.desktop.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react'
import Router from '@/router-v2/router'
import {useDarkModeState} from '@/constants/darkmode'
import {useDarkModeState} from '@/stores/darkmode'
import ResetModal from '../login/reset/modal'
import GlobalError from './global-errors'
import OutOfDate from './out-of-date'
Expand Down
2 changes: 1 addition & 1 deletion shared/app/out-of-date.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as Kb from '@/common-adapters'
import * as React from 'react'
import * as T from '@/constants/types'
import logger from '@/logger'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'

const styles = Kb.Styles.styleSheetCreate(() => ({
container: {
Expand Down
2 changes: 1 addition & 1 deletion shared/app/runtime-stats.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as React from 'react'
import * as Kb from '@/common-adapters'
import * as T from '@/constants/types'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'

const isIPhoneX = false as boolean
// import lagRadar from 'lag-radar'
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/audio/audio-recorder.native.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as T from '@/constants/types'
import * as Kb from '@/common-adapters'
import {Portal} from '@/common-adapters/portal.native'
Expand Down
6 changes: 3 additions & 3 deletions shared/chat/blocking/block-modal.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as C from '@/constants'
import * as React from 'react'
import * as Kb from '@/common-adapters'
import * as Chat from '@/constants/chat2'
import {useTeamsState} from '@/constants/teams'
import {useUsersState} from '@/constants/users'
import * as Chat from '@/stores/chat2'
import {useTeamsState} from '@/stores/teams'
import {useUsersState} from '@/stores/users'

// Type for extra RouteProp passed to block modal sometimes when launching the
// modal from specific places from the app.
Expand Down
6 changes: 3 additions & 3 deletions shared/chat/blocking/invitation-to-block.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as Chat from '@/constants/chat2'
import {useProfileState} from '@/constants/profile'
import * as Chat from '@/stores/chat2'
import {useProfileState} from '@/stores/profile'
import * as Kb from '@/common-adapters'
import {useSafeNavigation} from '@/util/safe-navigation'
import {useCurrentUserState} from '@/constants/current-user'
import {useCurrentUserState} from '@/stores/current-user'

const BlockButtons = () => {
const nav = useSafeNavigation()
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/chat-button.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Styles from '@/styles'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'
import WaitingButton from '@/common-adapters/waiting-button'
import Icon from '@/common-adapters/icon'

Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/attachment-fullscreen/hooks.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as React from 'react'
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import type * as T from '@/constants/types'
import {maxWidth, maxHeight} from '../messages/attachment/shared'
import {useFSState} from '@/constants/fs'
import {useFSState} from '@/stores/fs'

const blankMessage = Chat.makeMessageAttachment({})
export const useData = (initialOrdinal: T.Chat.Ordinal) => {
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/attachment-get-titles.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as T from '@/constants/types'
import * as React from 'react'
import * as Kb from '@/common-adapters'
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/bot/confirm.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as React from 'react'
import * as Kb from '@/common-adapters'
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import type * as T from '@/constants/types'
import {useBotConversationIDKey} from './install'

Expand Down
6 changes: 3 additions & 3 deletions shared/chat/conversation/bot/install.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'
import * as Teams from '@/constants/teams'
import * as Teams from '@/stores/teams'
import * as React from 'react'
import ChannelPicker from './channel-picker'
import openURL from '@/util/open-url'
import * as T from '@/constants/types'
import {useBotsState} from '@/constants/bots'
import {useBotsState} from '@/stores/bots'
import {useAllChannelMetas} from '@/teams/common/channel-hooks'

const RestrictedItem = '---RESTRICTED---'
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/bot/search.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'
import * as React from 'react'
import debounce from 'lodash/debounce'
import type * as T from '@/constants/types'
import {Bot} from '../info-panel/bot'
import {getFeaturedSorted, useBotsState} from '@/constants/bots'
import {getFeaturedSorted, useBotsState} from '@/stores/bots'

type Props = {teamID?: T.Teams.TeamID}

Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/bot/team-picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as T from '@/constants/types'
import {Avatars, TeamAvatar} from '@/chat/avatars'
import debounce from 'lodash/debounce'
import logger from '@/logger'
import {useBotsState} from '@/constants/bots'
import {useBotsState} from '@/stores/bots'

type Props = {botUsername: string}

Expand Down
9 changes: 5 additions & 4 deletions shared/chat/conversation/bottom-banner.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'
import * as React from 'react'
import _openSMS from '@/util/sms'
import {assertionToDisplay} from '@/common-adapters/usernames'
import type {Props as TextProps} from '@/common-adapters/text'
import {useUsersState} from '@/constants/users'
import {useFollowerState} from '@/constants/followers'
import {useUsersState} from '@/stores/users'
import {useFollowerState} from '@/stores/followers'
import {showShareActionSheet} from '@/util/platform-specific'

const installMessage = `I sent you encrypted messages on Keybase. You can install it here: https://keybase.io/phone-app`

Expand All @@ -16,7 +17,7 @@ const Invite = () => {
const users = participantInfoAll.filter(p => p.includes('@'))

const openShareSheet = () => {
C.PlatformSpecific.showShareActionSheet({
showShareActionSheet({
message: installMessage,
mimeType: 'text/plain',
})
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/command-markdown.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'

const CommandMarkdown = () => {
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/command-status.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as T from '@/constants/types'
import * as Kb from '@/common-adapters'
import {useConfigState} from '@/constants/config'
import {useConfigState} from '@/stores/config'

const empty = {
actions: [],
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/container.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import Normal from './normal/container'
import NoConversation from './no-conversation'
import Error from './error'
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/error.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'

const ConversationError = () => {
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/fwd-msg.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as React from 'react'
import * as Kb from '@/common-adapters'
import * as T from '@/constants/types'
Expand Down
2 changes: 1 addition & 1 deletion shared/chat/conversation/giphy/hooks.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'

export const useHooks = () => {
const giphy = Chat.useChatContext(s => s.giphyResult)
Expand Down
8 changes: 4 additions & 4 deletions shared/chat/conversation/header-area/index.native.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import {useProfileState} from '@/constants/profile'
import * as Chat from '@/stores/chat2'
import {useProfileState} from '@/stores/profile'
import * as Kb from '@/common-adapters'
import * as React from 'react'
import type {HeaderBackButtonProps} from '@react-navigation/elements'
Expand All @@ -9,8 +9,8 @@ import {Keyboard} from 'react-native'
// import {DebugChatDumpContext} from '@/constants/chat2/debug'
import {assertionToDisplay} from '@/common-adapters/usernames'
import {useSafeAreaFrame} from 'react-native-safe-area-context'
import {useUsersState} from '@/constants/users'
import {useCurrentUserState} from '@/constants/current-user'
import {useUsersState} from '@/stores/users'
import {useCurrentUserState} from '@/stores/current-user'

export const HeaderAreaRight = () => {
const conversationIDKey = Chat.useChatContext(s => s.id)
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/add-people.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as Chat from '@/constants/chat2'
import {useTeamsState} from '@/constants/teams'
import * as Chat from '@/stores/chat2'
import {useTeamsState} from '@/stores/teams'
import * as React from 'react'
import * as Kb from '@/common-adapters'

Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/add-to-channel.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as React from 'react'
import * as Teams from '@/constants/teams'
import * as Teams from '@/stores/teams'
import * as Kb from '@/common-adapters'
import {useSafeNavigation} from '@/util/safe-navigation'
import * as T from '@/constants/types'
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/attachments.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'
import type {StylesTextCrossPlatform} from '@/common-adapters/text'
import * as T from '@/constants/types'
Expand All @@ -8,7 +8,7 @@ import chunk from 'lodash/chunk'
import {formatAudioRecordDuration, formatTimeForMessages} from '@/util/timestamp'
import {infoPanelWidth} from './common'
import {useMessagePopup} from '../messages/message-popup'
import {useFSState} from '@/constants/fs'
import {useFSState} from '@/stores/fs'

type Props = {
commonSections: ReadonlyArray<Section>
Expand Down
8 changes: 4 additions & 4 deletions shared/chat/conversation/info-panel/bot.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import * as Teams from '@/constants/teams'
import * as Chat from '@/stores/chat2'
import * as Teams from '@/stores/teams'
import * as Kb from '@/common-adapters'
import * as React from 'react'
import type * as T from '@/constants/types'
import {getFeaturedSorted, useBotsState} from '@/constants/bots'
import {useUsersState} from '@/constants/users'
import {getFeaturedSorted, useBotsState} from '@/stores/bots'
import {useUsersState} from '@/stores/users'

type AddToChannelProps = {
conversationIDKey: T.Chat.ConversationIDKey
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/common.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type * as Chat from '@/constants/chat2'
import {useTeamsState} from '@/constants/teams'
import type * as Chat from '@/stores/chat2'
import {useTeamsState} from '@/stores/teams'
import * as React from 'react'
import * as Styles from '@/styles'
import type * as T from '@/constants/types'
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/header.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as React from 'react'
import * as Teams from '@/constants/teams'
import * as Teams from '@/stores/teams'
import * as Kb from '@/common-adapters'
import InfoPanelMenu from './menu'
import * as InfoPanelCommon from './common'
Expand Down
4 changes: 2 additions & 2 deletions shared/chat/conversation/info-panel/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as Chat from '@/constants/chat2'
import * as Chat from '@/stores/chat2'
import * as Kb from '@/common-adapters'
import * as Teams from '@/constants/teams'
import * as Teams from '@/stores/teams'
import * as React from 'react'
import {AdhocHeader, TeamHeader} from './header'
import SettingsList from './settings'
Expand Down
8 changes: 4 additions & 4 deletions shared/chat/conversation/info-panel/members.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import * as C from '@/constants'
import * as Chat from '@/constants/chat2'
import {useProfileState} from '@/constants/profile'
import * as Teams from '@/constants/teams'
import * as Chat from '@/stores/chat2'
import {useProfileState} from '@/stores/profile'
import * as Teams from '@/stores/teams'
import * as React from 'react'
import * as Kb from '@/common-adapters'
import * as T from '@/constants/types'
import Participant from './participant'
import {useUsersState} from '@/constants/users'
import {useUsersState} from '@/stores/users'

type Props = {
commonSections: ReadonlyArray<Section>
Expand Down
Loading