@@ -89,21 +89,6 @@ export const BucketProvider: FC<Props> = ({
8989 }
9090 } , [ controller ] )
9191
92- // keep the redux store in sync
93- useEffect ( ( ) => {
94- if ( loading === RemoteDataState . Done ) {
95- dispatch (
96- setBuckets (
97- RemoteDataState . Done ,
98- normalize < Bucket , BucketEntities , string [ ] > (
99- buckets . filter ( b => b . type !== 'sample' ) ,
100- arrayOfBuckets
101- )
102- )
103- )
104- }
105- } , [ buckets , dispatch , loading ] )
106-
10792 // TODO: load bucket creation limits on org change
10893 // expose limits to frontend
10994
@@ -145,7 +130,7 @@ export const BucketProvider: FC<Props> = ({
145130 {
146131 method : 'GET' ,
147132 headers,
148- signal : controller . current . signal ,
133+ signal : controller . current ? .signal ,
149134 }
150135 )
151136 . then ( response => {
@@ -173,11 +158,24 @@ export const BucketProvider: FC<Props> = ({
173158 bucks . user . sort ( ( a , b ) =>
174159 `${ a . name } ` . toLowerCase ( ) . localeCompare ( `${ b . name } ` . toLowerCase ( ) )
175160 )
161+
162+ const _buckets = [ ...bucks . user , ...bucks . system ]
176163 updateCache ( {
177164 loading : RemoteDataState . Done ,
178165 lastFetch : Date . now ( ) ,
179- buckets : [ ... bucks . user , ... bucks . system ] ,
166+ buckets : _buckets ,
180167 } )
168+
169+ // keep the redux store in sync
170+ dispatch (
171+ setBuckets (
172+ RemoteDataState . Done ,
173+ normalize < Bucket , BucketEntities , string [ ] > (
174+ _buckets . filter ( b => b . type !== 'sample' ) ,
175+ arrayOfBuckets
176+ )
177+ )
178+ )
181179 } )
182180 . catch ( error => {
183181 console . error ( { error} )
@@ -195,6 +193,11 @@ export const BucketProvider: FC<Props> = ({
195193 } else if ( loading === RemoteDataState . NotStarted ) {
196194 fetchBuckets ( )
197195 }
196+
197+ return ( ) => {
198+ // reset the lastFetch to trigger a fresh fetch on mount
199+ window . localStorage . setItem ( 'buckets' , JSON . stringify ( { } ) )
200+ }
198201 } , [ ] )
199202
200203 const createBucket = ( bucket : ExtendedBucket ) => {
@@ -283,11 +286,14 @@ export const BucketProvider: FC<Props> = ({
283286 updateCache ( {
284287 buckets : [ ...bucks . user , ...bucks . system ] ,
285288 } )
289+
290+ refresh ( )
286291 }
287292
288293 const refresh = ( ) => {
289294 fetchBuckets ( )
290295 }
296+
291297 const outBuckets = useMemo (
292298 ( ) =>
293299 buckets
0 commit comments