fix some errors cause app crash

This commit is contained in:
Ren Amamiya 2023-08-19 08:56:19 +07:00
parent c85502e427
commit eda18f8c34
14 changed files with 265 additions and 253 deletions

View File

@ -45,13 +45,13 @@
"@tauri-apps/plugin-stronghold": "github:tauri-apps/tauri-plugin-stronghold#v2",
"@tauri-apps/plugin-upload": "github:tauri-apps/tauri-plugin-upload#v2",
"@tauri-apps/plugin-window": "github:tauri-apps/tauri-plugin-window#v2",
"@tiptap/extension-image": "^2.1.2",
"@tiptap/extension-mention": "^2.1.2",
"@tiptap/extension-placeholder": "^2.1.2",
"@tiptap/pm": "^2.1.2",
"@tiptap/react": "^2.1.2",
"@tiptap/starter-kit": "^2.1.2",
"@tiptap/suggestion": "^2.1.2",
"@tiptap/extension-image": "^2.1.6",
"@tiptap/extension-mention": "^2.1.6",
"@tiptap/extension-placeholder": "^2.1.6",
"@tiptap/pm": "^2.1.6",
"@tiptap/react": "^2.1.6",
"@tiptap/starter-kit": "^2.1.6",
"@tiptap/suggestion": "^2.1.6",
"@void-cat/api": "^1.0.7",
"dayjs": "^1.11.9",
"destr": "^2.0.1",
@ -78,7 +78,7 @@
"@tailwindcss/typography": "^0.5.9",
"@trivago/prettier-plugin-sort-imports": "^4.2.0",
"@types/html-to-text": "^9.0.1",
"@types/node": "^20.5.0",
"@types/node": "^20.5.1",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
"@types/youtube-player": "^5.5.7",

View File

@ -86,26 +86,26 @@ dependencies:
specifier: github:tauri-apps/tauri-plugin-window#v2
version: github.com/tauri-apps/tauri-plugin-window/09c9732d0c98c13ee8aeb51de61f7eef3eb33a4b
'@tiptap/extension-image':
specifier: ^2.1.2
version: 2.1.2(@tiptap/core@2.1.2)
specifier: ^2.1.6
version: 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-mention':
specifier: ^2.1.2
version: 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)(@tiptap/suggestion@2.1.2)
specifier: ^2.1.6
version: 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)(@tiptap/suggestion@2.1.6)
'@tiptap/extension-placeholder':
specifier: ^2.1.2
version: 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
specifier: ^2.1.6
version: 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/pm':
specifier: ^2.1.2
version: 2.1.2
specifier: ^2.1.6
version: 2.1.6
'@tiptap/react':
specifier: ^2.1.2
version: 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)(react-dom@18.2.0)(react@18.2.0)
specifier: ^2.1.6
version: 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)(react-dom@18.2.0)(react@18.2.0)
'@tiptap/starter-kit':
specifier: ^2.1.2
version: 2.1.2(@tiptap/pm@2.1.2)
specifier: ^2.1.6
version: 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/suggestion':
specifier: ^2.1.2
version: 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
specifier: ^2.1.6
version: 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@void-cat/api':
specifier: ^1.0.7
version: 1.0.7
@ -181,8 +181,8 @@ devDependencies:
specifier: ^9.0.1
version: 9.0.1
'@types/node':
specifier: ^20.5.0
version: 20.5.0
specifier: ^20.5.1
version: 20.5.1
'@types/react':
specifier: ^18.2.20
version: 18.2.20
@ -260,7 +260,7 @@ devDependencies:
version: 5.1.6
vite:
specifier: ^4.4.9
version: 4.4.9(@types/node@20.5.0)
version: 4.4.9(@types/node@20.5.1)
vite-tsconfig-paths:
specifier: ^4.2.0
version: 4.2.0(typescript@5.1.6)(vite@4.4.9)
@ -975,7 +975,7 @@ packages:
esbuild-plugin-alias: 0.2.1
eslint: 8.47.0
eslint-config-prettier: 8.10.0(eslint@8.47.0)
eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)
esm-loader-typescript: 1.0.5
eventemitter3: 5.0.1
light-bolt11-decoder: 3.0.0
@ -1858,222 +1858,222 @@ packages:
'@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.11
dev: false
/@tiptap/core@2.1.2(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-ZN21eHALQKlxOVPg0B/zRli5CQGHSuboDMrnS5vzb3Gm7ThAKOoFZYS0RvFPlD2s3U1OaOvlYYxtxpeHU+WbeA==}
/@tiptap/core@2.1.6(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-gm8n1oiBhSP6CDhalmmWwLD7yzIUqJJ246/t8rY3o+HJ/I+p0rqCx0mPvMiwcIBmYX8tUCVz7mb9aSFUu/umOQ==}
peerDependencies:
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/pm': 2.1.2
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-blockquote@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-DAruFaDrc8AwPLujhDLyay44vg7Vo4K81QCs05Ea2XV0YLtqpqcerHhcI5RjyRan7rp8sYI/u/F/QyvMNvh9sA==}
/@tiptap/extension-blockquote@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-y3Jj9XcJaUjlEZZFBQUZcToOjamL64B/Jjlu7JUv87VArWWpg5Pnd2sQG3l9A/q1vfY0/TpHm7r5EvKoeIq6ag==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-bold@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-z3bmtuLKlGEcnN+r8iL/ZnEEWhcq7Mwgo1NlfUwSgwiid/jgvdxSTbNVesuWv0QNSVGSLQUwF5/oGfIlNMmyJQ==}
/@tiptap/extension-bold@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-gZDVuhYdceBQ/xGGY1X7lmkgNrDHFuFYBFRWMK0pLe9YBlQtJPc6+hiOmCtRtGmbQADDnvMmSU2a0+8bckmbCw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-bubble-menu@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-9eMIgODJlICTlv11P9XD7M6PUvXxEWDILe1XhPkDZO/iRJJbelSRUQEmlk+1CiisVGK5pmVsEwtP6DWGE19tqg==}
/@tiptap/extension-bubble-menu@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-13YDJB19xbDL/SZaPs8NvUAA+w5MIWugP8ByKQeIlL8vlcbiJjqoT77YP6v300DtFyVrnLo/iMJh9RMB4NOnwg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
tippy.js: 6.3.7
dev: false
/@tiptap/extension-bullet-list@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-ry2x9vgOvVuP5c862Ev1E5zfJRXHCIvGJk/up+gJ7Olj+yU46CWvs6qjRuoRKfDOieR58bQKDteYNiP3rCufFQ==}
/@tiptap/extension-bullet-list@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-NjPL5cIa4wVqv62OEw4lQ4Dj4c2hxia7GtPKHZKjoot5iu1RDkzD9Cxy/0tmH0vfCwTqa0JbGf9FAxRCyok4kg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-code-block@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-VF5bRj0uNI51HlvaTpoC0vT+M0T7XWeBy2XPVqD5sTfbho+YNo+q+mwdRfHyAhAYUyAsuePKu4i5QwZoYgDGnw==}
/@tiptap/extension-code-block@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-tLK9YeHYz03qeG4Sy5uZMq6v5uo34315I4WrfIAujesDloG1v8nd+D9I8A7PD4BWHZOzv13ToVeDYpLYDdvE7Q==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-code@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-pL5DPKhOHJxi+MZVMPFx6lDOfgcySkv2HerNCkMQ4Z/sAiEnE277HoT9TKq28a55KTAwILHARzuEz3nYy34wdA==}
/@tiptap/extension-code@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-vFWE74Aipt0kbmWyya+9zvsAgVusbbHx8g3Zqm8iKDt95BY3MWGurCZ3F5uoVuPuWD9VSrbNs4/T6oKbVKc9Ow==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-document@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-4NYvHAw4n6pmSwaS+jajm+W2CKx2nOOmesMI2mLDIcHZIKZ2GIs3K+pFNgCTYeIHxPpBHWLXPSZodbk5hm+bdA==}
/@tiptap/extension-document@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-econFqLeQR8pe0xv7kjw6ZPRhcNXGrNi9854celX0lhqTqtBxvU6nWHzUDzoq/lmnXYgpFTPv42AwUEspvpwdw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-dropcursor@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-TG3+ylynpTPqDXlSOwKlc7l4pX/70KyM69RP+cA5jjmU+5LneOMGTrqB0reYhpSaSUA1FaJeOIc48+UjrkY/Bg==}
/@tiptap/extension-dropcursor@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-+nk4XtCp2+lVf1pzwonaOdIolE9AI3HPAtUO7sthHYLDIm1JEQT2GS3+MVDGHdFKxEGUkB5DEcNLtr/xLTQjZQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-floating-menu@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-j32D+S7CpO52Yv+qaSsXesO9G4a+MmdwMSxXMD4fia2NZhAqV10SBgtL0ax8kJgKPt/RJP/YxNTxUjW9ea26Fw==}
/@tiptap/extension-floating-menu@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-Xy4esdjsZlgNxMbBC6+wLoiTfqaqFjuFquqcYEPqzgBizYa15Ww6wIx5+h2K+hzyJkSPI7ZX/rPjKXML8lNteQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
tippy.js: 6.3.7
dev: false
/@tiptap/extension-gapcursor@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-p0obFEiyYj0bGWVgGv5muOeuegeek4C2xkyKIRqgX9+wm5m64Bf/RfsMqkccDw/ovWxpXpk7b7vIsi/3xlnFyg==}
/@tiptap/extension-gapcursor@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-5AH6Je1B6JpZkMBslXw/UglMpxVwL8AXqX5xWKP2OSsKVYcL00jApq709FxfYhyqui/SukUVusKKQFstTNqIGA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-hard-break@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-d5ysSwjmK+tRfVJmSpRnyRdqHXxBEoTgC1HXkKYDgaQe73rshhjTd1GIZtKssM7Dx5kp7XPanu4nyPLNuTeINQ==}
/@tiptap/extension-hard-break@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-znFYceEFbrgxhHZF+/wNQlAn3MWG9/VRqQAFxPGne0csewibKZRwZbeSYZQ16x1vSAlAQsKhIaAst/na/2H8LA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-heading@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-lYr/zqH6PsIzuLePxI5NZ2tnZ4phiMsX64+UpwzA9XA5F+vwlbPan7DbVZe1fQw21qzZ523Qo7xUzbCZXqE36A==}
/@tiptap/extension-heading@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-V6PImalPhgAxsA95op70ssb8IXehLyr7wu5t1SeoTUUQtvMojKXPd+n+xF5b4b7VIhXHDlGSnoT0/XwjCJY0tQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-history@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-SlgmFxBVxx1j8Ew0rzsZ2qGXCuqw6srKPWirE9KVc7xnn8p6KAI5zpwmlA0emGhdXwBFAr7nf6dYD9I3joLTVw==}
/@tiptap/extension-history@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-ltHz9cW3bWi7Z3m960F5eLPAqZDBNOpUP31t9YdKqhyxA16eygryj1USVeus9DX5OBoW79I8EecFAuRo3Rymlw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-horizontal-rule@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-lzcT6Xll6ryOt1xRIT/EJiQLU1BXhW09VXQ84EJCvTSK77ARpVafP/JRT1Fcgk1b0kXWvsppbO2MgzuvKeho1Q==}
/@tiptap/extension-horizontal-rule@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-1epXM+4DRlhos+Awj4sHApceO2O26tuqyrZot0Mm+mF0yuCGy3B5fefAgUcxBu/oRuywfDl8cwCzN2E/d8KXtA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-image@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-fCY+2yCepgrOm3Vyfm+y+1MlhS5msTKtiJLuls13C+W+xxLK2iMeO0GeuAgS/4qHt/ejI9j3vr1+AGx6a8G2Ng==}
/@tiptap/extension-image@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-Ibu3yYDpWPJd9ajduzdJz8xscWNPYayWj+IATXU8FjsNvPkWpRoRZv+txfrTLOkmx8Qd3z30kriHNjZsIYLHkA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-italic@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-XpSEb7bXq7Qn8UGTTha2E5R/iJc4Kf30hQKmamSkJoMOoatiouOALmlPxwLUrHff/m2E2JrvT2TRd52FCMdG8g==}
/@tiptap/extension-italic@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-o41hil+x2yqFciOiJPx67FnguJ4/aEMU8MotmXekFGHM+I0wFOd4lA5t7HqFU5Si0Z7gyTb/N0wLUbAnbyk/Aw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-list-item@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-oTr8uW4z/pjs7QcjbAZhv6VmSFQem3/+s9a/+iN3OGJ2kiJTXusjaYEergwqv+rzUzA7c9vFXuHz9Q3V8IbdoQ==}
/@tiptap/extension-list-item@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-hgG8XzWRvhmEtb70ut2YTWfexMDu4PHgDS8WxYGOCVH0F+DwZqGF5KEARhFSPlmRUCWcmKey4sp8YDpLqShEWA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-mention@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)(@tiptap/suggestion@2.1.2):
resolution: {integrity: sha512-p75j2pGiTC1nuHL8Zg5Vd2/RwDIkBKCeKOeH/orTBN1pF8OcThe5tXHG37FfkocdqVk9GTuTOq7worr/eT6hcA==}
/@tiptap/extension-mention@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)(@tiptap/suggestion@2.1.6):
resolution: {integrity: sha512-GgoiCRhcpAv6wH7vHPFxa3f+vhiicGMqwJo+ZKT0VdyegHfHfMVRIN57sTV8R9/ZXCAjL1smqwLhF+PlWheN2A==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
'@tiptap/suggestion': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/suggestion': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
'@tiptap/suggestion': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-ordered-list@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-CGL6DDnl08RBZBS2IJmtX+7jevXjCEzsl5PKxd5VrRQ9jV9dTyGrPKFIWPRdhorvB+9HftVzverzkNpD2iJQbg==}
/@tiptap/extension-ordered-list@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-7igbJBSeCByYM9G3XHlK1sqPQtIsOlezdc4PH7xBaOtvNDd1ruGvOGFovo9b5TW8+J08KCAqy25cV4Pn72fuGw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-paragraph@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-edyWjaDdsoSO+UVnd1zi4lI75qmik+N+zofY6gzpDDi37iytbBMDfx8OR1euWffzrXYlHO2HGSEqPjZ9NT1uDg==}
/@tiptap/extension-paragraph@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-k0QSIaJPVgTn9+X2580JFCjV2RCH1Fo+gPodABDnjunfoUVSjuq0rlILEtTuha3evlS6kDKiz7lk7pIoCo36Cw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-placeholder@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-KABc/tGryEEA0109EnY9D9Y4MJZBrQSyzJ9V7xrwvXBzRJD4jR/qOusVlUypSeGROHdHMlelEmrK1BFXoSfa5w==}
/@tiptap/extension-placeholder@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-M6C80FnbDPiZWVGFIVVOUMbqNUMhXRzlJr7uwUWP98OJfj3Du4pk8mF5Lo5MsWH3C/XW3YRbqlGPpdas3onSkQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@tiptap/extension-strike@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-WTIqSc4PziqZtOWxF5XQ1WsnjAZg58IQQfGpwBXOYAOBiCDwScbkpgEsdHuY88q2ThcmvS16/IfddOLIRicG7A==}
/@tiptap/extension-strike@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-LX7X2ohKEE0nUyWecSGxBcuzLxXTIbPmUnbkZvqYiWTaE02r3TxzkJMO0iuTnbygceC1TtiAfKwGgth0b9tMCQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/extension-text@2.1.2(@tiptap/core@2.1.2):
resolution: {integrity: sha512-MihdQi1e7tJKLHlDYYsZM9/Kbe8vHo8mnpwTDgJWP6SfpzZ4NyZgh+Gq0dn+Z4ffWsgyTBewGifJZNrhNcxIzA==}
/@tiptap/extension-text@2.1.6(@tiptap/core@2.1.6):
resolution: {integrity: sha512-CqV0N6ngoXZFeJGlQ86FSZJ/0k7+BN3S6aSUcb5DRAKsSEv/Ga1LvSG24sHy+dwjTuj3EtRPJSVZTFcSB17ZSA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
dev: false
/@tiptap/pm@2.1.2:
resolution: {integrity: sha512-wKM+12P62Mp7xicVKTuAlwDk8ZsY/eR6f/NsJ6Y379wIZVwkK3HQwLIcFoF/Z/8mCMfK14Pk8wT/lTlr2BMV4A==}
/@tiptap/pm@2.1.6:
resolution: {integrity: sha512-JkFlZp2z6Se2Ttnabi4lkP2yLNMH/eebO7ScYL1kXvwNLgELC/I3fwQVmnYA0E8pqJ5KQXOSl14NaB1mVPJqlg==}
dependencies:
prosemirror-changeset: 2.2.1
prosemirror-collab: 1.3.1
@ -2095,56 +2095,56 @@ packages:
prosemirror-view: 1.31.7
dev: false
/@tiptap/react@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-aMiPPdEHrTPAfrqWfc1G90bj0AdlCTndz1K7DZJs11yQiHn1CbvV4KzOM13rSqlUMFwy8nzmBc+iMkEU+z6f3A==}
/@tiptap/react@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-HEsoFlcE61gQz9TllEtBa+5d909MA/ersbxGYOUWIY2HhH5lvNIUvyJ3pdzMkK/4cSniMsDDqobFexsGyTAsrw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
react: ^17.0.0 || ^18.0.0
react-dom: ^17.0.0 || ^18.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/extension-bubble-menu': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-floating-menu': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/extension-bubble-menu': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-floating-menu': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/@tiptap/starter-kit@2.1.2(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-xW6LdNlWU7jTnrfKCTPH5bPR4rr86fXsUEMMJAaGe8Racvr8eC8AH1M7HelPLtP0SbPqMBuIC/pWHZiys3SkNg==}
/@tiptap/starter-kit@2.1.6(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-JmTvexA90+VqsltAo9+MysYLoR9/dpEEy1LrFT09R1q9p6EJCWfxtyi/QsrZnwD6zthpTByChmDZRGv85Nb3Aw==}
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/extension-blockquote': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-bold': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-bullet-list': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-code': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-code-block': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-document': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-dropcursor': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-gapcursor': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-hard-break': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-heading': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-history': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-horizontal-rule': 2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2)
'@tiptap/extension-italic': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-list-item': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-ordered-list': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-paragraph': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-strike': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/extension-text': 2.1.2(@tiptap/core@2.1.2)
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/extension-blockquote': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-bold': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-bullet-list': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-code': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-code-block': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-document': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-dropcursor': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-gapcursor': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-hard-break': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-heading': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-history': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-horizontal-rule': 2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6)
'@tiptap/extension-italic': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-list-item': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-ordered-list': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-paragraph': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-strike': 2.1.6(@tiptap/core@2.1.6)
'@tiptap/extension-text': 2.1.6(@tiptap/core@2.1.6)
transitivePeerDependencies:
- '@tiptap/pm'
dev: false
/@tiptap/suggestion@2.1.2(@tiptap/core@2.1.2)(@tiptap/pm@2.1.2):
resolution: {integrity: sha512-EhrgaykBBfpQGTa+LGQ8ZpzXpoRCf170nwe42YuXKnNelK+gI2yimMw3pFyr2ZWQAsPQO0+aLQysMWtzvQ+WMA==}
/@tiptap/suggestion@2.1.6(@tiptap/core@2.1.6)(@tiptap/pm@2.1.6):
resolution: {integrity: sha512-8nMVARHbJ4Q9eeB7gmvqNommx6/RuFkrJEmmqxSrgyiqYEqb/if5ZTa1LGRWRNZYuzmeVN/r3eUu33jn+o5kJg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.2(@tiptap/pm@2.1.2)
'@tiptap/pm': 2.1.2
'@tiptap/core': 2.1.6(@tiptap/pm@2.1.6)
'@tiptap/pm': 2.1.6
dev: false
/@trivago/prettier-plugin-sort-imports@4.2.0(prettier@3.0.2):
@ -2219,8 +2219,8 @@ packages:
resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
dev: false
/@types/node@20.5.0:
resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==}
/@types/node@20.5.1:
resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==}
dev: true
/@types/normalize-package-data@2.4.1:
@ -2319,7 +2319,7 @@ packages:
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
ts-api-utils: 1.0.2(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
@ -2416,7 +2416,7 @@ packages:
'@typescript-eslint/utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6)
debug: 4.3.4
eslint: 8.47.0
ts-api-utils: 1.0.1(typescript@5.1.6)
ts-api-utils: 1.0.2(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
@ -2468,7 +2468,7 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
ts-api-utils: 1.0.2(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
@ -2535,7 +2535,7 @@ packages:
vite: ^4
dependencies:
'@swc/core': 1.3.78
vite: 4.4.9(@types/node@20.5.0)
vite: 4.4.9(@types/node@20.5.1)
transitivePeerDependencies:
- '@swc/helpers'
dev: true
@ -2634,7 +2634,7 @@ packages:
resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==}
engines: {node: '>=10'}
dependencies:
tslib: 2.6.1
tslib: 2.6.2
dev: false
/aria-query@5.3.0:
@ -2789,7 +2789,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001521
electron-to-chromium: 1.4.495
electron-to-chromium: 1.4.496
node-releases: 2.0.13
update-browserslist-db: 1.0.11(browserslist@4.21.10)
dev: true
@ -3174,8 +3174,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
/electron-to-chromium@1.4.495:
resolution: {integrity: sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==}
/electron-to-chromium@1.4.496:
resolution: {integrity: sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==}
dev: true
/emoji-regex@8.0.0:
@ -3470,8 +3470,8 @@ packages:
- supports-color
dev: false
/eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0):
resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==}
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.47.0):
resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@ -3497,7 +3497,6 @@ packages:
object.fromentries: 2.0.6
object.groupby: 1.0.0
object.values: 1.1.6
resolve: 1.22.4
semver: 6.3.1
tsconfig-paths: 3.14.2
transitivePeerDependencies:
@ -4327,8 +4326,8 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: false
/jiti@1.19.1:
resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==}
/jiti@1.19.3:
resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==}
hasBin: true
dev: true
@ -5853,7 +5852,7 @@ packages:
'@types/react': 18.2.20
react: 18.2.0
react-style-singleton: 2.2.1(@types/react@18.2.20)(react@18.2.0)
tslib: 2.6.1
tslib: 2.6.2
dev: false
/react-remove-scroll@2.5.5(@types/react@18.2.20)(react@18.2.0):
@ -5870,7 +5869,7 @@ packages:
react: 18.2.0
react-remove-scroll-bar: 2.3.4(@types/react@18.2.20)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.2.20)(react@18.2.0)
tslib: 2.6.1
tslib: 2.6.2
use-callback-ref: 1.3.0(@types/react@18.2.20)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.2.20)(react@18.2.0)
dev: false
@ -5912,7 +5911,7 @@ packages:
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
tslib: 2.6.1
tslib: 2.6.2
dev: false
/react-virtuoso@4.5.0(react-dom@18.2.0)(react@18.2.0):
@ -6410,7 +6409,7 @@ packages:
fast-glob: 3.3.1
glob-parent: 6.0.2
is-glob: 4.0.3
jiti: 1.19.1
jiti: 1.19.3
lilconfig: 2.1.0
micromatch: 4.0.5
normalize-path: 3.0.0
@ -6491,8 +6490,8 @@ packages:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
dev: false
/ts-api-utils@1.0.1(typescript@5.1.6):
resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
/ts-api-utils@1.0.2(typescript@5.1.6):
resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==}
engines: {node: '>=16.13.0'}
peerDependencies:
typescript: '>=4.2.0'
@ -6544,8 +6543,8 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: false
/tslib@2.6.1:
resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==}
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: false
/tstl@2.5.13:
@ -6757,7 +6756,7 @@ packages:
dependencies:
'@types/react': 18.2.20
react: 18.2.0
tslib: 2.6.1
tslib: 2.6.2
dev: false
/use-sidecar@1.1.2(@types/react@18.2.20)(react@18.2.0):
@ -6773,7 +6772,7 @@ packages:
'@types/react': 18.2.20
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.6.1
tslib: 2.6.2
dev: false
/use-sync-external-store@1.2.0(react@18.2.0):
@ -6846,13 +6845,13 @@ packages:
debug: 4.3.4
globrex: 0.1.2
tsconfck: 2.1.2(typescript@5.1.6)
vite: 4.4.9(@types/node@20.5.0)
vite: 4.4.9(@types/node@20.5.1)
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/vite@4.4.9(@types/node@20.5.0):
/vite@4.4.9(@types/node@20.5.1):
resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@ -6880,7 +6879,7 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 20.5.0
'@types/node': 20.5.1
esbuild: 0.18.20
postcss: 8.4.28
rollup: 3.28.0

82
src-tauri/Cargo.lock generated
View File

@ -763,9 +763,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.3.22"
version = "4.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b417ae4361bca3f5de378294fc7472d3c4ed86a5ef9f49e93ae722f432aae8d2"
checksum = "03aef18ddf7d879c15ce20f04826ef8418101c7e528014c3eeea13321047dca3"
dependencies = [
"clap_builder",
"clap_derive",
@ -774,9 +774,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.3.22"
version = "4.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c90dc0f0e42c64bff177ca9d7be6fcc9ddb0f26a6e062174a61c84dd6c644d4"
checksum = "f8ce6fffb678c9b80a70b6b6de0aad31df727623a70fd9a842c30cd573e2fa98"
dependencies = [
"anstream",
"anstyle",
@ -1850,7 +1850,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
dependencies = [
"libc",
"windows-targets 0.48.3",
"windows-targets 0.48.5",
]
[[package]]
@ -3244,7 +3244,7 @@ dependencies = [
"libc",
"redox_syscall 0.3.5",
"smallvec",
"windows-targets 0.48.3",
"windows-targets 0.48.5",
]
[[package]]
@ -4129,18 +4129,18 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.183"
version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.183"
version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
dependencies = [
"proc-macro2",
"quote",
@ -5392,9 +5392,9 @@ dependencies = [
[[package]]
name = "tempfile"
version = "3.7.1"
version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [
"cfg-if",
"fastrand 2.0.0",
@ -5463,9 +5463,9 @@ dependencies = [
[[package]]
name = "time"
version = "0.3.25"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07"
dependencies = [
"deranged",
"itoa 1.0.9",
@ -5482,9 +5482,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "time-macros"
version = "0.2.11"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
checksum = "75c65469ed6b3a4809d987a41eb1dc918e9bc1d92211cbad7ae82931846f7451"
dependencies = [
"time-core",
]
@ -6155,7 +6155,7 @@ checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
"windows-implement",
"windows-interface",
"windows-targets 0.48.3",
"windows-targets 0.48.5",
]
[[package]]
@ -6211,7 +6211,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.3",
"windows-targets 0.48.5",
]
[[package]]
@ -6231,17 +6231,17 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27f51fb4c64f8b770a823c043c7fad036323e1c48f55287b7bbb7987b2fcdf3b"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm 0.48.3",
"windows_aarch64_msvc 0.48.3",
"windows_i686_gnu 0.48.3",
"windows_i686_msvc 0.48.3",
"windows_x86_64_gnu 0.48.3",
"windows_x86_64_gnullvm 0.48.3",
"windows_x86_64_msvc 0.48.3",
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]
[[package]]
@ -6258,9 +6258,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fde1bb55ae4ce76a597a8566d82c57432bc69c039449d61572a7a353da28f68c"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
@ -6282,9 +6282,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1513e8d48365a78adad7322fd6b5e4c4e99d92a69db8df2d435b25b1f1f286d4"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
@ -6306,9 +6306,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
[[package]]
name = "windows_i686_gnu"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60587c0265d2b842298f5858e1a5d79d146f9ee0c37be5782e92a6eb5e1d7a83"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
@ -6330,9 +6330,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
[[package]]
name = "windows_i686_msvc"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "224fe0e0ffff5d2ea6a29f82026c8f43870038a0ffc247aa95a52b47df381ac4"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
@ -6354,9 +6354,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62fc52a0f50a088de499712cbc012df7ebd94e2d6eb948435449d76a6287e7ad"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
@ -6366,9 +6366,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2093925509d91ea3d69bcd20238f4c2ecdb1a29d3c281d026a09705d0dd35f3d"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
@ -6390,9 +6390,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.3"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6ade45bc8bf02ae2aa34a9d54ba660a1a58204da34ba793c00d83ca3730b5f1"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"

View File

@ -5,6 +5,7 @@ CREATE TABLE
account_id INTEGER NOT NULL,
event TEXT NOT NULL,
author TEXT NOT NULL,
kind NUMBER NOT NULL DEFAULt 1,
root_id TEXT,
reply_id TEXT,
created_at INTEGER NOT NULL,

View File

@ -25,6 +25,11 @@ async fn close_splashscreen(window: tauri::Window) {
fn main() {
tauri::Builder::default()
.setup(|app| {
#[cfg(debug_assertions)]
app.get_window("main").unwrap().open_devtools();
Ok(())
})
.plugin(
tauri_plugin_sql::Builder::default()
.add_migrations(

View File

@ -76,6 +76,9 @@ export function OnboardStep3Screen() {
}
}
// update last login
await db.updateLastLogin();
clearStep();
navigate('/', { replace: true });
} catch (e) {

View File

@ -46,14 +46,6 @@ export function UnlockScreen() {
} = useForm<FormValues>({ resolver });
const onSubmit = async (data: { [x: string]: string }) => {
if (data.password.length < 3) {
setError('password', {
type: 'custom',
message: 'Password is required and must be greater than 3',
});
return;
}
try {
setLoading(true);
@ -89,7 +81,7 @@ export function UnlockScreen() {
<div className="flex flex-col gap-1">
<div className="relative">
<input
{...register('password', { required: true })}
{...register('password', { required: true, minLength: 4 })}
type={'password'}
placeholder="Password"
className="relative h-12 w-full rounded-lg bg-white/10 py-1 text-center text-white !outline-none placeholder:text-white/50"

View File

@ -60,6 +60,9 @@ export class LumeStorage {
if (typeof account.network === 'string')
account.network = JSON.parse(account.network);
if (typeof account.last_login_at === 'string')
account.last_login_at = parseInt(account.last_login_at);
this.account = account;
return account;
} else {
@ -94,9 +97,10 @@ export class LumeStorage {
}
public async updateLastLogin() {
const now = Math.floor(Date.now() / 1000);
return await this.db.execute(
'UPDATE accounts SET last_login_at = $1 WHERE id = $2;',
[Math.floor(Date.now() / 1000), this.account.id]
[now, this.account.id]
);
}
@ -133,13 +137,14 @@ export class LumeStorage {
id: string,
event: string,
author: string,
kind: number,
root_id: string,
reply_id: string,
created_at: number
) {
return await this.db.execute(
'INSERT OR IGNORE INTO events (id, account_id, event, author, root_id, reply_id, created_at) VALUES ($1, $2, $3, $4, $5, $6, $7);',
[id, this.account.id, event, author, root_id, reply_id, created_at]
'INSERT OR IGNORE INTO events (id, account_id, event, author, kind, root_id, reply_id, created_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8);',
[id, this.account.id, event, author, kind, root_id, reply_id, created_at]
);
}

View File

@ -29,8 +29,9 @@ export function NoteContent({ content, long }: { content: RichContent; long?: bo
components={{
del: ({ children }) => {
const key = children[0] as string;
if (key.startsWith('pub')) return <MentionUser pubkey={key.slice(3)} />;
if (key.startsWith('tag')) return <Hashtag tag={key.slice(3)} />;
if (key.startsWith('pub') && key.length > 50 && key.length < 100)
return <MentionUser pubkey={key.replace('pub-', '')} />;
if (key.startsWith('tag')) return <Hashtag tag={key.replace('tag-', '')} />;
},
}}
>

View File

@ -63,7 +63,12 @@ export function useNostr() {
}
// build user's network
const events = await ndk.fetchEvents({ kinds: [3], authors: [...follows] });
const events = await ndk.fetchEvents({
kinds: [3],
authors: [...follows],
limit: 300,
});
events.forEach((event: NDKEvent) => {
event.tags.forEach((tag) => {
if (tag[0] === 'p') lruNetwork.set(tag[1], tag[1]);
@ -88,12 +93,11 @@ export function useNostr() {
try {
if (!ndk) return { status: 'failed', data: [], message: 'NDK instance not found' };
// setup nostr-fetch
const fetcher = NostrFetcher.withCustomPool(ndkAdapter(ndk));
const dbEventsEmpty = await db.isEventsEmpty();
let since: number;
if (dbEventsEmpty) {
if (dbEventsEmpty || db.account.last_login_at === 0) {
since = nHoursAgo(24);
} else {
since = db.account.last_login_at ?? nHoursAgo(24);
@ -125,6 +129,7 @@ export function useNostr() {
event.id,
JSON.stringify(event),
event.pubkey,
event.kind,
root,
reply,
event.created_at

View File

@ -1,19 +1,20 @@
import { NDKUserProfile } from '@nostr-dev-kit/ndk';
import { useQuery } from '@tanstack/react-query';
import { useNDK } from '@libs/ndk/provider';
export function useProfile(pubkey: string, fallback?: string) {
export function useProfile(pubkey: string, embed?: string) {
const { ndk } = useNDK();
const {
status,
data: user,
error,
isFetching,
} = useQuery(
['user', pubkey],
async () => {
if (!fallback) {
const user = ndk.getUser({ hexpubkey: pubkey });
if (!embed) {
const cleanPubkey = pubkey.replace('-', '');
const user = ndk.getUser({ hexpubkey: cleanPubkey });
await user.fetchProfile();
if (user.profile) {
user.profile.display_name = user.profile.displayName;
@ -22,7 +23,7 @@ export function useProfile(pubkey: string, fallback?: string) {
throw new Error('User not found');
}
} else {
const profile = JSON.parse(fallback);
const profile: NDKUserProfile = JSON.parse(embed);
return profile;
}
},
@ -35,5 +36,5 @@ export function useProfile(pubkey: string, fallback?: string) {
}
);
return { status, user, error, isFetching };
return { status, user, error };
}

View File

@ -43,7 +43,6 @@ export function useImageUploader() {
if (res.ok) {
const url =
res.file?.metadata?.url ?? `https://void.cat/d/${res.file?.id}.${filetype}`;
console.log(url);
if (nip94) {
const tags = [

View File

@ -18,6 +18,24 @@ export function parser(event: NDKEvent) {
links: [],
};
// parse nostr references
references?.forEach((item) => {
const profile = item.profile;
const event = item.event;
const addr = item.address;
if (event) {
content.notes.push(event.id);
content.parsed = content.parsed.replace(item.text, '');
}
if (profile) {
content.parsed = content.parsed.replace(item.text, `~pub-${item.profile.pubkey}~`);
}
if (addr) {
content.notes.push(addr.identifier);
content.parsed = content.parsed.replace(item.text, '');
}
});
// parse urls
urls?.forEach((url: string) => {
if (url.match(/\.(jpg|jpeg|gif|png|webp|avif)$/)) {
@ -47,25 +65,7 @@ export function parser(event: NDKEvent) {
// parse hashtag
const hashtags = content.parsed.split(/\s/gm).filter((s) => s.startsWith('#'));
hashtags?.forEach((tag) => {
content.parsed = content.parsed.replace(tag, `~tag${tag}~`);
});
// parse nostr
references?.forEach((item) => {
const profile = item.profile;
const event = item.event;
const addr = item.address;
if (event) {
content.notes.push(event.id);
content.parsed = content.parsed.replace(item.text, '');
}
if (profile) {
content.parsed = content.parsed.replace(item.text, `~pub${item.profile.pubkey}~`);
}
if (addr) {
content.notes.push(addr.identifier);
content.parsed = content.parsed.replace(item.text, '');
}
content.parsed = content.parsed.replace(tag, ` ~tag-${tag}~ `);
});
return content;

View File

@ -13,6 +13,7 @@ export interface DBEvent {
account_id: number;
event: string | NDKEvent;
author: string;
kind: number;
root_id: string;
reply_id: string;
created_at: number;