perf: fetch instance info only once
This commit is contained in:
parent
ad70d9c475
commit
d0d0503a13
@ -1,4 +1,4 @@
|
||||
import { login as loginMasto } from 'masto'
|
||||
import { createClient, fetchV1Instance } from 'masto'
|
||||
import type { mastodon } from 'masto'
|
||||
import type { Ref } from 'vue'
|
||||
import type { MaybeComputedRef, RemovableRef } from '@vueuse/core'
|
||||
@ -106,22 +106,26 @@ async function loginTo(user?: Omit<UserLogin, 'account'> & { account?: mastodon.
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const server = user?.server || route.params.server as string || publicServer.value
|
||||
const masto = await loginMasto({
|
||||
url: `https://${server}`,
|
||||
const url = `https://${server}`
|
||||
const instance = await fetchV1Instance({
|
||||
url,
|
||||
})
|
||||
const masto = await createClient({
|
||||
url,
|
||||
streamingApiUrl: instance.urls.streamingApi,
|
||||
accessToken: user?.token,
|
||||
disableVersionCheck: true,
|
||||
})
|
||||
|
||||
if (!user?.token) {
|
||||
publicServer.value = server
|
||||
publicInstance.value = await masto.v1.instances.fetch()
|
||||
publicInstance.value = instance
|
||||
}
|
||||
|
||||
else {
|
||||
try {
|
||||
const [me, instance, pushSubscription] = await Promise.all([
|
||||
const [me, pushSubscription] = await Promise.all([
|
||||
masto.v1.accounts.verifyCredentials(),
|
||||
masto.v1.instances.fetch(),
|
||||
// if PWA is not enabled, don't get push subscription
|
||||
useRuntimeConfig().public.pwaEnabled
|
||||
// we get 404 response instead empty data
|
||||
|
@ -53,7 +53,7 @@
|
||||
"iso-639-1": "^2.1.15",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lru-cache": "^7.14.1",
|
||||
"masto": "^5.2.0",
|
||||
"masto": "^5.3.0",
|
||||
"pinia": "^2.0.28",
|
||||
"shiki": "^0.12.1",
|
||||
"shiki-es": "^0.1.2",
|
||||
|
@ -94,7 +94,7 @@ importers:
|
||||
jsdom: ^21.0.0
|
||||
lint-staged: ^13.1.0
|
||||
lru-cache: ^7.14.1
|
||||
masto: ^5.2.0
|
||||
masto: ^5.3.0
|
||||
nuxt: ^3.0.0
|
||||
pinia: ^2.0.28
|
||||
postcss-nested: ^6.0.0
|
||||
@ -152,7 +152,7 @@ importers:
|
||||
iso-639-1: 2.1.15
|
||||
js-yaml: 4.1.0
|
||||
lru-cache: 7.14.1
|
||||
masto: 5.2.0
|
||||
masto: 5.3.0
|
||||
pinia: 2.0.28_typescript@4.9.4
|
||||
shiki: 0.12.1
|
||||
shiki-es: 0.1.2
|
||||
@ -8049,8 +8049,8 @@ packages:
|
||||
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
|
||||
dev: true
|
||||
|
||||
/masto/5.2.0:
|
||||
resolution: {integrity: sha512-71pKUdPZDuQSPJqRJSwsZ/QqvO/arOkdRyXEyOdeU9QukQ30OEW1M9BCGBp/b9Lbf6R7d9oCCdefmxXCSAzlFg==}
|
||||
/masto/5.3.0:
|
||||
resolution: {integrity: sha512-gArycufHuEEQ6WCvWNmiIQq+AIAo2grWQwO7mpenNKb0wFKYSaYTeMthx0t+Ircso+vBtsXdbjGMfzZeIttlow==}
|
||||
dependencies:
|
||||
'@mastojs/ponyfills': 1.0.4
|
||||
change-case: 4.1.2
|
||||
|
Loading…
Reference in New Issue
Block a user