@stoker-platform/web-app 0.5.194 → 0.5.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @stoker-platform/web-app
2
2
 
3
+ ## 0.5.195
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: fix infinite scroll stale records issue
8
+
3
9
  ## 0.5.194
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoker-platform/web-app",
3
- "version": "0.5.194",
3
+ "version": "0.5.195",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "scripts": {
@@ -375,9 +375,6 @@ function Collection({
375
375
  }, [serverList])
376
376
 
377
377
  useEffect(() => {
378
- if (isAssigning !== undefined) {
379
- setBackToStartKey((prev) => prev + 1)
380
- }
381
378
  if (!relationList || !isInitialized) return
382
379
  setFilters((prev) => {
383
380
  let next = prev
@@ -397,7 +394,7 @@ function Collection({
397
394
  }
398
395
  return next
399
396
  })
400
- }, [isAssigning])
397
+ }, [isAssigning, isInitialized])
401
398
 
402
399
  // This is to ensure that the optimistic list is set in cases where cached documents exactly match the downloaded server documents
403
400
  // In this case, the cache-only snapshot listener does not fire a second time when the cache has loaded because there is no change to the list
package/src/Images.tsx CHANGED
@@ -370,6 +370,8 @@ export const Images = memo(
370
370
  const [orderByField, setOrderByField] = useState<string | undefined>(undefined)
371
371
  const [orderByDirection, setOrderByDirection] = useState<"asc" | "desc" | undefined>(undefined)
372
372
 
373
+ const infiniteLoaderRef = useRef<InfiniteLoader>(null)
374
+
373
375
  const backToStart = useCallback(
374
376
  (
375
377
  latestConstraints?: QueryConstraint[],
@@ -377,6 +379,7 @@ export const Images = memo(
377
379
  latestOrderByDirection?: "asc" | "desc",
378
380
  ) => {
379
381
  return new Promise<void>((resolve) => {
382
+ infiniteLoaderRef.current?.resetloadMoreItemsCache()
380
383
  setServerList({})
381
384
  setList({})
382
385
  const newQuery = {
@@ -659,6 +662,7 @@ export const Images = memo(
659
662
 
660
663
  useEffect(() => {
661
664
  setIsFirstLoad(true)
665
+ setPrevIds(new Set())
662
666
  }, [filters, orderByField, orderByDirection])
663
667
 
664
668
  useEffect(() => {
@@ -838,6 +842,7 @@ export const Images = memo(
838
842
  >
839
843
  {!formList && (meta?.title || collectionTitle) && <Meta />}
840
844
  <InfiniteLoader
845
+ ref={infiniteLoaderRef}
841
846
  isItemLoaded={(index) => index < itemCount}
842
847
  itemCount={100000}
843
848
  loadMoreItems={loadMoreItems}