miolo-react 3.0.0-beta.212 → 3.0.0-beta.213

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miolo-react",
3
- "version": "3.0.0-beta.212",
3
+ "version": "3.0.0-beta.213",
4
4
  "description": "React utils for miolo",
5
5
  "author": "Donato Lorenzo <donato@afialapis.com>",
6
6
  "contributors": [
@@ -11,14 +11,6 @@ const _makeSerializable = (obj) => {
11
11
  }
12
12
  }
13
13
 
14
- /*
15
- QUE PASA CON LA DUPLICIDAD DE INVALIDACION
16
- - el cliente hace un cambio
17
- - setData() cambia estado y cache local
18
- - la llamada en servidor provoca un ssr-refresh (necesario para otros clientes)
19
- - pero se puede evitar el doble refresh en el que hace el cambio?
20
- */
21
-
22
14
  const useSsrDataOrReload = (context, miolo, name, options) => {
23
15
  const { fetcher, socket, logger } = miolo
24
16
  const {
@@ -186,7 +178,7 @@ const useSsrDataOrReload = (context, miolo, name, options) => {
186
178
 
187
179
  try {
188
180
  if (status === "idle") {
189
- logger.verbose(`[miolo-react][ssr][${name}] loadData for ${name}...`)
181
+ logger.verbose(`[miolo-react][ssr][${name}] getting data for ${name}...`)
190
182
 
191
183
  const changed =
192
184
  effect === undefined ||
@@ -207,14 +199,17 @@ const useSsrDataOrReload = (context, miolo, name, options) => {
207
199
  }
208
200
 
209
201
  if (cached && cached.data !== undefined) {
202
+ logger.verbose(`[miolo-react][ssr][${name}] read data for ${name} from cache`)
210
203
  setSsrData(parseData(cached.data))
211
204
 
212
205
  if (ttl !== undefined && Date.now() - cached.ts > ttl * 1000) {
206
+ logger.verbose(`[miolo-react][ssr][${name}] expired cache for ${name}, refreshing`)
213
207
  refreshSsrData()
214
208
  } else {
215
209
  setStatus("loaded")
216
210
  }
217
211
  } else {
212
+ logger.verbose(`[miolo-react][ssr][${name}] no cached data for ${name}, refreshing`)
218
213
  refreshSsrData()
219
214
  }
220
215
  }
@@ -232,7 +227,10 @@ const useSsrDataOrReload = (context, miolo, name, options) => {
232
227
  useEffect(() => {
233
228
  if (cache === true) {
234
229
  if (ssrDataFromContext !== undefined && typeof window !== "undefined") {
230
+ logger.verbose(`[miolo-react][ssr][${name}] read data for ${name} from context`)
231
+
235
232
  import("idb-keyval").then(({ set }) => {
233
+ logger.verbose(`[miolo-react][ssr][${name}] writing data for ${name} to cache`)
236
234
  set(`ssr-cache-${name}`, {
237
235
  data: _makeSerializable(ssrDataFromContext),
238
236
  ts: Date.now()
@@ -240,7 +238,7 @@ const useSsrDataOrReload = (context, miolo, name, options) => {
240
238
  })
241
239
  }
242
240
  }
243
- }, [ssrDataFromContext, name, cache])
241
+ }, [logger, ssrDataFromContext, name, cache])
244
242
 
245
243
  useEffect(() => {
246
244
  if (socket === undefined) {
@@ -309,7 +307,9 @@ const useSsrDataOrReload = (context, miolo, name, options) => {
309
307
  if (socket === undefined) {
310
308
  return
311
309
  }
312
- logger.verbose(`[miolo-react][ssr][${name}] Window focused, checking versions`)
310
+ logger.verbose(
311
+ `[miolo-react][ssr][${name}] Window focused, checking versions (socket id is ${socket.id})`
312
+ )
313
313
  socket.emit("ssr-versions")
314
314
  }, [name, cache, logger, socket])
315
315