this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add UID as Idempotency key

+40 -1
+33
package-lock.json
··· 24 24 "string-length": "~5.0.1", 25 25 "swiped-events": "~1.1.7", 26 26 "toastify-js": "~1.12.0", 27 + "uid": "~2.0.1", 27 28 "use-resize-observer": "~9.1.0", 28 29 "valtio": "~1.8.2" 29 30 }, ··· 2159 2160 "version": "3.4.0", 2160 2161 "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", 2161 2162 "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" 2163 + }, 2164 + "node_modules/@lukeed/csprng": { 2165 + "version": "1.0.1", 2166 + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.1.tgz", 2167 + "integrity": "sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==", 2168 + "engines": { 2169 + "node": ">=8" 2170 + } 2162 2171 }, 2163 2172 "node_modules/@mastojs/ponyfills": { 2164 2173 "version": "1.0.4", ··· 5190 5199 "url": "https://github.com/sponsors/sindresorhus" 5191 5200 } 5192 5201 }, 5202 + "node_modules/uid": { 5203 + "version": "2.0.1", 5204 + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.1.tgz", 5205 + "integrity": "sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==", 5206 + "dependencies": { 5207 + "@lukeed/csprng": "^1.0.0" 5208 + }, 5209 + "engines": { 5210 + "node": ">=8" 5211 + } 5212 + }, 5193 5213 "node_modules/unbox-primitive": { 5194 5214 "version": "1.0.2", 5195 5215 "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", ··· 7260 7280 "version": "3.4.0", 7261 7281 "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", 7262 7282 "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" 7283 + }, 7284 + "@lukeed/csprng": { 7285 + "version": "1.0.1", 7286 + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.0.1.tgz", 7287 + "integrity": "sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==" 7263 7288 }, 7264 7289 "@mastojs/ponyfills": { 7265 7290 "version": "1.0.4", ··· 9528 9553 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", 9529 9554 "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", 9530 9555 "dev": true 9556 + }, 9557 + "uid": { 9558 + "version": "2.0.1", 9559 + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.1.tgz", 9560 + "integrity": "sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==", 9561 + "requires": { 9562 + "@lukeed/csprng": "^1.0.0" 9563 + } 9531 9564 }, 9532 9565 "unbox-primitive": { 9533 9566 "version": "1.0.2",
+1
package.json
··· 26 26 "string-length": "~5.0.1", 27 27 "swiped-events": "~1.1.7", 28 28 "toastify-js": "~1.12.0", 29 + "uid": "~2.0.1", 29 30 "use-resize-observer": "~9.1.0", 30 31 "valtio": "~1.8.2" 31 32 },
+6 -1
src/components/compose.jsx
··· 5 5 import { useEffect, useMemo, useRef, useState } from 'preact/hooks'; 6 6 import { useHotkeys } from 'react-hotkeys-hook'; 7 7 import stringLength from 'string-length'; 8 + import { uid } from 'uid/single'; 8 9 import { useSnapshot } from 'valtio'; 9 10 10 11 import supportedLanguages from '../data/status-supported-languages'; ··· 80 81 }) { 81 82 console.warn('RENDER COMPOSER'); 82 83 const [uiState, setUIState] = useState('default'); 84 + const UID = useMemo(() => uid(), []); 85 + console.log('Compose UID', UID); 83 86 84 87 const currentAccount = getCurrentAccount(); 85 88 const currentAccountInfo = currentAccount.info; ··· 626 629 params, 627 630 ); 628 631 } else { 629 - newStatus = await masto.v1.statuses.create(params); 632 + newStatus = await masto.v1.statuses.create(params, { 633 + idempotencyKey: UID, 634 + }); 630 635 } 631 636 setUIState('default'); 632 637