···11import './account-info.css';
2233import { Menu, MenuDivider, MenuItem, SubMenu } from '@szhsin/react-menu';
44-import mem from 'mem';
54import {
65 useCallback,
76 useEffect,
···1615import getHTMLText from '../utils/getHTMLText';
1716import handleContentLinks from '../utils/handle-content-links';
1817import niceDateTime from '../utils/nice-date-time';
1818+import pmem from '../utils/pmem';
1919import shortenNumber from '../utils/shorten-number';
2020import showToast from '../utils/show-toast';
2121import states, { hideAllModals } from '../utils/states';
···6363 id: [currentID],
6464 });
6565}
6666-const memFetchFamiliarFollowers = mem(fetchFamiliarFollowers, {
6666+const memFetchFamiliarFollowers = pmem(fetchFamiliarFollowers, {
6767 maxAge: ACCOUNT_INFO_MAX_AGE,
6868});
6969···112112 console.log('posting stats', stats);
113113 return stats;
114114}
115115-const memFetchPostingStats = mem(fetchPostingStats, {
115115+const memFetchPostingStats = pmem(fetchPostingStats, {
116116 maxAge: ACCOUNT_INFO_MAX_AGE,
117117});
118118
+1-1
src/components/media.jsx
···11import { getBlurHashAverageColor } from 'fast-blurhash';
22-import mem from 'mem';
32import { Fragment } from 'preact';
43import {
54 useCallback,
···109} from 'preact/hooks';
1110import QuickPinchZoom, { make3dTransformValue } from 'react-quick-pinch-zoom';
12111212+import mem from '../utils/mem';
1313import states from '../utils/states';
14141515import Icon from './icon';
+9-19
src/components/shortcuts-settings.jsx
···44 compressToEncodedURIComponent,
55 decompressFromEncodedURIComponent,
66} from 'lz-string';
77-import mem from 'mem';
87import { useEffect, useMemo, useRef, useState } from 'preact/hooks';
98import { useSnapshot } from 'valtio';
109···1312import tabMenuBarUrl from '../assets/tab-menu-bar.svg';
14131514import { api } from '../utils/api';
1515+import pmem from '../utils/pmem';
1616import showToast from '../utils/show-toast';
1717import states from '../utils/states';
1818···133133 },
134134 list: {
135135 id: 'list',
136136- title: mem(
137137- async ({ id }) => {
138138- const list = await api().masto.v1.lists.$select(id).fetch();
139139- return list.title;
140140- },
141141- {
142142- cacheKey: ([{ id }]) => id,
143143- },
144144- ),
136136+ title: pmem(async ({ id }) => {
137137+ const list = await api().masto.v1.lists.$select(id).fetch();
138138+ return list.title;
139139+ }),
145140 path: ({ id }) => `/l/${id}`,
146141 icon: 'list',
147142 },
···167162 },
168163 'account-statuses': {
169164 id: 'account-statuses',
170170- title: mem(
171171- async ({ id }) => {
172172- const account = await api().masto.v1.accounts.$select(id).fetch();
173173- return account.username || account.acct || account.displayName;
174174- },
175175- {
176176- cacheKey: ([{ id }]) => id,
177177- },
178178- ),
165165+ title: pmem(async ({ id }) => {
166166+ const account = await api().masto.v1.accounts.$select(id).fetch();
167167+ return account.username || account.acct || account.displayName;
168168+ }),
179169 path: ({ id }) => `/a/${id}`,
180170 icon: 'user',
181171 },