diff options
| author | Adam Soltys <[email protected]> | 2022-12-22 12:18:05 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-22 12:18:05 -0800 |
| commit | 17c9b99208b3881e62275ef3e552a3c30e55939d (patch) | |
| tree | 58036f893ceb0047477d7a1f6d9b5b8f2d160a09 /src/lib/socket.js | |
| parent | 6ae27be919808df935fb140fd56bb6ae010a219b (diff) | |
| download | coinos-ui-17c9b99208b3881e62275ef3e552a3c30e55939d.tar.gz coinos-ui-17c9b99208b3881e62275ef3e552a3c30e55939d.zip | |
add message field to user profile pages
Diffstat (limited to 'src/lib/socket.js')
| -rw-r--r-- | src/lib/socket.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/socket.js b/src/lib/socket.js index d43af082..4f5770d3 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -13,9 +13,11 @@ import { import { success, sat } from '$lib/utils'; import { PUBLIC_SOCKET } from '$env/static/public'; import { invalidate } from '$app/navigation'; +import { browser } from '$app/environment'; let socket, token; -let events = get($events); +let le = browser && localStorage.getItem('events'); +let events = le && le !== 'undefined' ? JSON.parse(le) : {}; delete events.q; events.q = Object.keys(events); @@ -40,7 +42,11 @@ export const messages = (data) => ({ events[data.id] = data; events.q.push(data.id); $events.set(events); - if (events.q.length > 500) delete events[events.q.shift()]; + while (events.q.length > 10000) delete events[events.q.shift()]; + localStorage.setItem( + 'events', + JSON.stringify(events.q.slice(-100).reduce((a, b) => (a = { ...a, [b]: events[b] }), {})) + ); }, rate() { |
