@@ -60,51 +60,6 @@ export function useGitRepository(setAppStatus?: (s: AppStatus) => void) {
6060 [ ]
6161 )
6262
63- // Listen for working directory file changes
64- useEffect ( ( ) => {
65- if ( ! currentDir ) return
66-
67- let unlisten : UnlistenFn | null = null
68- const setup = async ( ) => {
69- unlisten = await listen < { repoPath : string ; changedFiles : string [ ] } > (
70- 'workdir-changed' ,
71- ( event ) => {
72- // Only react if WORKDIR is currently selected
73- if ( baseBranch === '__WORKDIR__' || compareBranch === '__WORKDIR__' ) {
74- console . log ( 'Working directory changed, refreshing diff...' , event . payload . changedFiles )
75- triggerDiffRefresh ( )
76- }
77- }
78- )
79- }
80- void setup ( )
81-
82- return ( ) => {
83- if ( unlisten ) void unlisten ( )
84- }
85- } , [ currentDir , baseBranch , compareBranch , triggerDiffRefresh ] )
86-
87- // Listen for branch/refs changes
88- useEffect ( ( ) => {
89- if ( ! currentDir ) return
90-
91- let unlisten : UnlistenFn | null = null
92- const setup = async ( ) => {
93- unlisten = await listen < { repoPath : string } > (
94- 'refs-changed' ,
95- ( event ) => {
96- console . log ( 'Git refs changed, refreshing branch list...' , event . payload )
97- void refreshRepo ( )
98- }
99- )
100- }
101- void setup ( )
102-
103- return ( ) => {
104- if ( unlisten ) void unlisten ( )
105- }
106- } , [ currentDir , refreshRepo ] )
107-
10863 const loadRepoFromHandle = useCallback ( async ( path : string ) => {
10964 setRepoStatus ( { state : 'loading' , message : 'Loading repository...' } )
11065 setAppStatus ?.( { state : 'LOADING' , task : 'repo' , message : 'Loading repository...' , progress : 'indeterminate' } )
@@ -189,6 +144,52 @@ export function useGitRepository(setAppStatus?: (s: AppStatus) => void) {
189144 setAppStatus ?.( { state : 'IDLE' } )
190145 } , [ gitClient , setAppStatus ] )
191146
147+ // Listen for working directory file changes
148+ useEffect ( ( ) => {
149+ if ( ! currentDir ) return
150+
151+ let unlisten : UnlistenFn | null = null
152+ const setup = async ( ) => {
153+ unlisten = await listen < { repoPath : string ; changedFiles : string [ ] } > (
154+ 'workdir-changed' ,
155+ ( event ) => {
156+ // Only react if WORKDIR is currently selected
157+ if ( baseBranch === '__WORKDIR__' || compareBranch === '__WORKDIR__' ) {
158+ console . log ( 'Working directory changed, refreshing diff...' , event . payload . changedFiles )
159+ triggerDiffRefresh ( )
160+ }
161+ }
162+ )
163+ }
164+ void setup ( )
165+
166+ return ( ) => {
167+ if ( unlisten ) void unlisten ( )
168+ }
169+ } , [ currentDir , baseBranch , compareBranch , triggerDiffRefresh ] )
170+
171+ // Listen for branch/refs changes
172+ useEffect ( ( ) => {
173+ if ( ! currentDir ) return
174+
175+ let unlisten : UnlistenFn | null = null
176+ const setup = async ( ) => {
177+ unlisten = await listen < { repoPath : string } > (
178+ 'refs-changed' ,
179+ ( event ) => {
180+ console . log ( 'Git refs changed, refreshing branch list...' , event . payload )
181+ // Use refreshRepo to reload branches
182+ void refreshRepo ( )
183+ }
184+ )
185+ }
186+ void setup ( )
187+
188+ return ( ) => {
189+ if ( unlisten ) void unlisten ( )
190+ }
191+ } , [ currentDir , refreshRepo ] )
192+
192193 return {
193194 currentDir,
194195 repoStatus,
0 commit comments