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 +1 -1
- package/src/ssr/useSsrDataOrReload.mjs +11 -11
package/package.json
CHANGED
|
@@ -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}]
|
|
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(
|
|
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
|
|