Compare commits
10 Commits
f940b13fb7
...
559ad2f80c
Author | SHA1 | Date |
---|---|---|
syuilo | 559ad2f80c | |
syuilo | 6b0f636267 | |
woxtu | cb0fa9a8ab | |
猫ロキP@deflis | 5083458071 | |
setaria | 78b502bcab | |
syuilo | 324d18983a | |
kabo2468 | 71b016b293 | |
Acid Chicken (硫酸鶏) | 090253c2d2 | |
Acid Chicken (硫酸鶏) | cf3ac3c0be | |
tamaina | b8360b1b5a |
|
@ -16,9 +16,11 @@
|
|||
|
||||
### Client
|
||||
- リストTLで、ユーザーが追加・削除されてもTLを初期化しないように
|
||||
- URL取得変数を関数に変更 CURRENT_URL -> Mk:url()
|
||||
- Fix: モバイル表示のときページ下部がナビゲーションバーに隠れる問題を修正
|
||||
- Fix: 一部モーダルダイアログでスクロールできない問題を修正
|
||||
- Fix: Selecting all emojis in Custom emoji is impossible
|
||||
- Fix: PhotoSwipeによるメモリリークの修正
|
||||
|
||||
### Server
|
||||
- Fix: APIのオフセットが壊れていたせいで「もっと見る」でもっと見れない問題を修正
|
||||
|
|
|
@ -43,13 +43,43 @@ copyContent: "Tartalom másolása"
|
|||
copyLink: "Hivatkozás Másolása"
|
||||
delete: "Törlés"
|
||||
deleteAndEdit: "Törlés és szerkesztés"
|
||||
deleteAndEditConfirm: "Biztosan törlöd ezt a jegyzetet és újrafogalmazza? Így eveszíted az összes reakciót, renote-ot és választ."
|
||||
addToList: "Hozzáadás a listákhoz"
|
||||
privacy: "Adatvédelem"
|
||||
makeFollowManuallyApprove: "Csak jóváhagyással követhetnek"
|
||||
defaultNoteVisibility: "Alapértelmezett láthatóság"
|
||||
follow: "Követés"
|
||||
followRequest: "Követés kérése"
|
||||
followRequests: "Követési kérések"
|
||||
unfollow: "Követés visszavonása"
|
||||
followRequestPending: "Függőben levő követési kérés"
|
||||
enterEmoji: "Írj egy emoji-t"
|
||||
renote: "Renote"
|
||||
unrenote: "Renote visszavonása"
|
||||
renoted: "Renotolva"
|
||||
cantRenote: "Nem lehet Renotolni"
|
||||
cantReRenote: "A Renote nem renotálható"
|
||||
quote: "Idézet"
|
||||
inChannelRenote: "Csak csatornán bellüli Renote"
|
||||
inChannelQuote: "Csak csatornán bellüli idézet"
|
||||
pinnedNote: "Csatolt jegyzet"
|
||||
pinned: "Rögzítés"
|
||||
you: "Te"
|
||||
clickToShow: "Kattints ide"
|
||||
sensitive: "Érzékeny"
|
||||
add: "Hozzáad"
|
||||
reaction: "Reakciók"
|
||||
reactions: "Reakciók"
|
||||
instances: "Szerver"
|
||||
remove: "Törlés"
|
||||
pinnedNotes: "Csatolt jegyzet"
|
||||
smtpUser: "Felhasználónév"
|
||||
smtpPass: "Jelszó"
|
||||
user: "Felhasználók"
|
||||
searchByGoogle: "Keresés"
|
||||
_theme:
|
||||
keys:
|
||||
renote: "Renote"
|
||||
_sfx:
|
||||
notification: "Értesítések"
|
||||
_2fa:
|
||||
|
@ -60,6 +90,13 @@ _widgets:
|
|||
timeline: "Idővonal"
|
||||
_profile:
|
||||
username: "Felhasználónév"
|
||||
_notification:
|
||||
_types:
|
||||
renote: "Renote"
|
||||
quote: "Idézet"
|
||||
reaction: "Reakciók"
|
||||
_actions:
|
||||
renote: "Renote"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Értesítések"
|
||||
|
|
|
@ -621,10 +621,10 @@ smtpHost: "Server remoto"
|
|||
smtpPort: "Porta"
|
||||
smtpUser: "Nome utente"
|
||||
smtpPass: "Password"
|
||||
emptyToDisableSmtpAuth: "Lasciare il nome utente e la password vuoti per disabilitare la verifica SMTP"
|
||||
smtpSecure: "Usare la porta SSL/TLS implicito per le connessioni SMTP"
|
||||
emptyToDisableSmtpAuth: "Lasciare i campi vuoti se non c'è autenticazione SMTP"
|
||||
smtpSecure: "Usare SSL/TLS implicito per le connessioni SMTP"
|
||||
smtpSecureInfo: "Disabilitare quando è attivo STARTTLS."
|
||||
testEmail: "Testa la consegna di posta elettronica"
|
||||
testEmail: "Verifica il funzionamento"
|
||||
wordMute: "Filtri parole"
|
||||
regexpError: "errore regex"
|
||||
regexpErrorDescription: "Si è verificato un errore nell'espressione regolare alla riga {line} della parola muta {tab}:"
|
||||
|
@ -1091,6 +1091,9 @@ usedAt: "Usato alle"
|
|||
unused: "Inutilizzato"
|
||||
used: "Utilizzato"
|
||||
expired: "Scaduto"
|
||||
doYouAgree: "Sei d'accordo?"
|
||||
beSureToReadThisAsItIsImportant: "Si prega di leggere attentamente perché è importante."
|
||||
iHaveReadXCarefullyAndAgree: "Ho letto accuratamente \"{x}\" e sono d'accordo."
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Il tuo profilo è stato creato!"
|
||||
letsStartAccountSetup: "Per iniziare, impostiamo il tuo profilo."
|
||||
|
@ -1444,7 +1447,7 @@ _sensitiveMediaDetection:
|
|||
_emailUnavailable:
|
||||
used: "Email già in uso"
|
||||
format: "Formato email non valido"
|
||||
disposable: "Email non riutilizzabile"
|
||||
disposable: "Indirizzo email non utilizzabile"
|
||||
mx: "Server email non corretto"
|
||||
smtp: "Il server email non risponde"
|
||||
_ffVisibility:
|
||||
|
|
|
@ -25,7 +25,7 @@ basicSettings: "Configurações básicas"
|
|||
otherSettings: "Outras configurações"
|
||||
openInWindow: "Abrir em um janela"
|
||||
profile: "Perfil"
|
||||
timeline: "Timeline"
|
||||
timeline: "Linha do tempo"
|
||||
noAccountDescription: "Este usuário não tem uma descrição."
|
||||
login: "Iniciar sessão"
|
||||
loggingIn: "Iniciando sessão…"
|
||||
|
@ -41,7 +41,7 @@ unfavorite: "Remover dos favoritos"
|
|||
favorited: "Adicionado aos favoritos."
|
||||
alreadyFavorited: "Já adicionado aos favoritos."
|
||||
cantFavorite: "Não foi possível adicionar aos favoritos."
|
||||
pin: "Afixar no perfil"
|
||||
pin: "Fixar no perfil"
|
||||
unpin: "Desafixar do perfil"
|
||||
copyContent: "Copiar conteúdos"
|
||||
copyLink: "Copiar link"
|
||||
|
@ -50,11 +50,11 @@ deleteAndEdit: "Excluir e editar"
|
|||
deleteAndEditConfirm: "Deseja excluir esta nota e editá-la novamente? Todas as reações, compartilhamentos e respostas a esta nota também serão excluídas."
|
||||
addToList: "Adicionar a lista"
|
||||
addToAntenna: "Adicionar à antena"
|
||||
sendMessage: "Enviar uma mensagem"
|
||||
sendMessage: "Enviar mensagem"
|
||||
copyRSS: "Copiar RSS"
|
||||
copyUsername: "Copiar nome de utilizador"
|
||||
copyUserId: "Copiar o ID do utilizador"
|
||||
copyNoteId: "Copiar o ID da publicação"
|
||||
copyUserId: "Copiar ID do utilizador"
|
||||
copyNoteId: "Copiar ID da publicação"
|
||||
copyFileId: "Copiar o ID do arquivo"
|
||||
copyFolderId: "Copiar o ID da pasta"
|
||||
copyProfileUrl: "Copiar a URL do perfil"
|
||||
|
@ -89,7 +89,7 @@ createList: "Criar lista"
|
|||
manageLists: "Gerenciar listas"
|
||||
error: "Erro"
|
||||
somethingHappened: "Ocorreu um erro"
|
||||
retry: "Tentar novamente"
|
||||
retry: "Tente novamente"
|
||||
pageLoadError: "Ocorreu um erro ao carregar a página."
|
||||
pageLoadErrorDescription: "Isso geralmente acontece devido ao cache do navegador ou da rede. Tente limpar o cache ou aguarde um pouco antes de tentar novamente."
|
||||
serverIsDead: "Não há resposta do servidor. Aguarde um momento e tente novamente."
|
||||
|
@ -231,7 +231,7 @@ federating: "Federando"
|
|||
blocked: "Bloqueado"
|
||||
suspended: "Suspenso"
|
||||
all: "Todos"
|
||||
subscribing: "Subscrito"
|
||||
subscribing: "Inscrito"
|
||||
publishing: "Publicando"
|
||||
notResponding: "Sem resposta"
|
||||
instanceFollowing: "Seguir a instância"
|
||||
|
@ -278,7 +278,7 @@ agreeBelow: "Eu concordo com o seguinte"
|
|||
basicNotesBeforeCreateAccount: "Observações importantes"
|
||||
termsOfService: "Termos de Uso"
|
||||
start: "começar"
|
||||
home: "casa"
|
||||
home: "Home"
|
||||
remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto."
|
||||
activity: "atividade"
|
||||
images: "imagem"
|
||||
|
@ -713,35 +713,111 @@ pageLikedCount: "Número de curtidas recebidas nas suas páginas"
|
|||
contact: "Contato"
|
||||
useSystemFont: "Utilizar a fonte padrão do sistema"
|
||||
clips: "Clipe"
|
||||
experimentalFeatures: "Funcionalidades Experimentais"
|
||||
experimental: "Experimental"
|
||||
thisIsExperimentalFeature: "Este é um recurso experimental. As funções podem mudar ou pode não funcionar corretamente."
|
||||
developer: "Programador"
|
||||
makeExplorable: "Deixe a sua conta mais fácil de encontrar."
|
||||
makeExplorableDescription: "Se você desativá-lo, outros usuários não poderão encontrar a sua conta na aba Descoberta."
|
||||
showGapBetweenNotesInTimeline: "Mostrar um espaço entre as notas na linha de tempo"
|
||||
duplicate: "Duplicar"
|
||||
left: "Esquerda"
|
||||
center: "Centralizar"
|
||||
wide: "Largo"
|
||||
narrow: "Estreito"
|
||||
reloadToApplySetting: "As configurações serão refletidas após recarregar a página. Deseja recarregar agora?"
|
||||
needReloadToApply: "É necessário recarregar a página para refletir as alterações."
|
||||
showTitlebar: "Exibir barra de título"
|
||||
clearCache: "Limpar o cache"
|
||||
onlineUsersCount: "Pessoas Online"
|
||||
nUsers: "Usuários"
|
||||
nNotes: "Notas"
|
||||
sendErrorReports: "Enviar relatórios de erro"
|
||||
sendErrorReportsDescription: "Ao ativar essa opção, informações detalhadas de erro serão compartilhadas com o Misskey em caso de problemas, o que pode ajudar a melhorar a qualidade do software. As informações de erro podem incluir a versão do sistema operacional, o tipo de navegador e o sua atividade no Misskey."
|
||||
myTheme: "Meu tema"
|
||||
backgroundColor: "Cor de fundo"
|
||||
accentColor: "Cor de destaque"
|
||||
textColor: "Cor do texto"
|
||||
saveAs: "Salvar como"
|
||||
advanced: "Avançado"
|
||||
advancedSettings: "Configurações avançadas"
|
||||
value: "Valor"
|
||||
createdAt: "Data de criação"
|
||||
updatedAt: "Última atualização"
|
||||
saveConfirm: "Deseja salvá-lo?"
|
||||
deleteConfirm: "Confirma a exclusão?"
|
||||
invalidValue: "Valor inválido"
|
||||
registry: "Registo"
|
||||
closeAccount: "Encerrar conta"
|
||||
currentVersion: "Versão Atual"
|
||||
latestVersion: "Última versão"
|
||||
youAreRunningUpToDateClient: "Você está usando a última versão do cliente"
|
||||
newVersionOfClientAvailable: "Nova versão do cliente disponível"
|
||||
usageAmount: "Quantidade utilizada"
|
||||
capacity: "Capacidade"
|
||||
inUse: "Em uso"
|
||||
editCode: "Editar código"
|
||||
apply: "Aplicar"
|
||||
receiveAnnouncementFromInstance: "Receba as notificações da instância"
|
||||
emailNotification: "Notificações por e-mail"
|
||||
publish: "Publicar"
|
||||
inChannelSearch: "Pesquisar no canal"
|
||||
useReactionPickerForContextMenu: "Clique com o botão direito do mouse para abrir o seletor de reações."
|
||||
typingUsers: "digitando"
|
||||
jumpToSpecifiedDate: "Pular para uma data específica"
|
||||
showingPastTimeline: "Visualizar linha de tempo anterior"
|
||||
clear: "Limpar"
|
||||
markAllAsRead: "Marcar todas como lidas"
|
||||
goBack: "Voltar"
|
||||
unlikeConfirm: "Deseja realmente deixar de curtir?"
|
||||
fullView: "Visão completa"
|
||||
quitFullView: "Sair da visualização completa"
|
||||
addDescription: "Adicionar descrição"
|
||||
info: "Informações"
|
||||
userInfo: "Informações do Usuário"
|
||||
unknown: "Desconhecido"
|
||||
onlineStatus: "On-line"
|
||||
hideOnlineStatus: "Ocultar o status on-line."
|
||||
online: "Online"
|
||||
enabled: "Ativado"
|
||||
disabled: "Desativado"
|
||||
quickAction: "Ações rápidas"
|
||||
user: "Usuários"
|
||||
administration: "Administrar"
|
||||
accounts: "Contas"
|
||||
gallery: "Galeria"
|
||||
recentPosts: "Notas recentes"
|
||||
popularPosts: "Notas populares"
|
||||
shareWithNote: "Compartilhar em Notas"
|
||||
ads: "Anúncios"
|
||||
expiration: "Data limite"
|
||||
startingperiod: "Data de início"
|
||||
memo: "Nota"
|
||||
priority: "Prioridade"
|
||||
high: "Alto"
|
||||
middle: "Meio"
|
||||
low: "Baixo"
|
||||
emailNotConfiguredWarning: "Endereço de e-mail não configurado. "
|
||||
ratio: "Ratio"
|
||||
previewNoteText: "Visualizar Nota"
|
||||
customCss: "CSS Personalizado"
|
||||
squareAvatars: "Exibir ícones quadrados"
|
||||
sent: "Enviar"
|
||||
received: "Recebido"
|
||||
searchResult: "Pesquisar"
|
||||
hashtags: "Hashtags"
|
||||
troubleshooting: "Resolução de problemas"
|
||||
useBlurEffect: "Usar efeito de desfoque na UI"
|
||||
learnMore: "Saiba mais"
|
||||
whatIsNew: "Ver atualizações"
|
||||
translate: "Traduzir"
|
||||
translatedFrom: "Traduzido de"
|
||||
accountDeletionInProgress: "Encerramento de conta em andamento"
|
||||
usernameInfo: "O nome para identificar exclusivamente a sua conta no servidor. Pode conter letras (az, AZ), números (0~9) e sublinhados (_). O nome de usuário não pode ser alterado posteriormente."
|
||||
aiChanMode: "Modo AI-chan"
|
||||
devMode: "Modo de Desenvolvedor"
|
||||
lastCommunication: "Ultima atualização"
|
||||
resolved: "Resolvido"
|
||||
breakFollow: "Remover seguidor"
|
||||
breakFollowConfirm: "Deseja realmente deixar de seguir?"
|
||||
on: "Ligado"
|
||||
|
@ -752,15 +828,33 @@ deleteAccountConfirm: "Deseja realmente excluir a conta?"
|
|||
hide: "Ocultar"
|
||||
useDrawerReactionPickerForMobile: "Mostrar em formato de gaveta"
|
||||
clickToFinishEmailVerification: "Clique em [{ok}] para completar a validação do endereço de e-mail."
|
||||
overridedDeviceKind: "Sobrepor dispositivo"
|
||||
smartphone: "Celular"
|
||||
tablet: "Tablet"
|
||||
auto: "Automático"
|
||||
themeColor: "Cor do tema"
|
||||
size: "Tamanho"
|
||||
numberOfColumn: "Número da coluna"
|
||||
searchByGoogle: "Buscar"
|
||||
mutePeriod: "Duração de silenciamento"
|
||||
period: "Data limite"
|
||||
indefinitely: "Indefinitivamente"
|
||||
tenMinutes: "10 minutos"
|
||||
oneHour: "1 hora"
|
||||
oneDay: "1 dia"
|
||||
oneWeek: "1 semana"
|
||||
oneMonth: "1 mês"
|
||||
rateLimitExceeded: "Taxa limite excedido"
|
||||
file: "Ficheiros"
|
||||
noEmailServerWarning: "Servidor de e-mail não configurado."
|
||||
recommended: "Recomendado"
|
||||
check: "Verificar"
|
||||
driveCapOverrideLabel: "Altere a capacidade do drive para este usuário"
|
||||
driveCapOverrideCaption: "Altere a capacidade para o valor padrão informando o valor 0 ou inferior."
|
||||
deleteAccount: "Excluir conta"
|
||||
enableAutoSensitiveDescription: "Quando disponível, a marcação de mídia sensível será automaticamente atribuído ao conteúdo de mídia usando aprendizado de máquina. Mesmo que você desative essa função, em alguns servidores, isso pode ser configurado automaticamente."
|
||||
activeEmailValidationDescription: "A validação do endereço de e-mail do usuário será realizada de forma mais rigorosa, considerando se é um endereço descartável ou se é possível realizar comunicação efetiva. Se desativado, apenas a validade do formato do endereço será verificada como uma sequência de caracteres."
|
||||
account: "Contas"
|
||||
like: "Curtir"
|
||||
unlike: "Remover curtida"
|
||||
numberOfLikes: "Número de curtidas"
|
||||
|
@ -778,6 +872,7 @@ rolesAssignedToMe: "Cargos atribuídos a mim"
|
|||
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
|
||||
drivecleaner: "Limpeza do drive"
|
||||
retryAllQueuesConfirmTitle: "Gostaria de tentar novamente agora?"
|
||||
horizontal: "Exibir painel lateral inteiro"
|
||||
preservedUsernamesDescription: "Liste os nomes de usuário que deseja reservar, separando-os por quebras de linha. Os nomes de usuário especificados aqui não poderão ser utilizados durante a criação de contas. No entanto, esta restrição não se aplica quando a conta é criada por um administrador. Além disso, as contas que já existem não serão afetadas."
|
||||
channelArchiveConfirmTitle: "Deseja realmente arquivar {name}?"
|
||||
youFollowing: "Seguindo"
|
||||
|
@ -1038,7 +1133,9 @@ _emailUnavailable:
|
|||
_ffVisibility:
|
||||
public: "Publicar"
|
||||
followers: "Visível apenas para seguidores"
|
||||
private: "Esconder"
|
||||
_signup:
|
||||
almostThere: "Quase pronto"
|
||||
emailAddressInfo: "Por favor, insira o seu endereço de e-mail. Ele não será divulgado."
|
||||
emailSent: "Um e-mail de confirmação foi enviado para o endereço de e-mail fornecido ({email}). Acesse o link fornecido no e-mail para concluir a criação de sua conta."
|
||||
_accountDelete:
|
||||
|
@ -1050,6 +1147,8 @@ _accountDelete:
|
|||
inProgress: "A exclusão está em andamento"
|
||||
_ad:
|
||||
back: "Voltar"
|
||||
reduceFrequencyOfThisAd: "Diminuir frequência deste anúncio"
|
||||
hide: "Não exibir anúncios"
|
||||
_forgotPassword:
|
||||
enterEmail: "Por favor, insira o endereço de e-mail usado no cadastro de sua conta. Um link para redefinição de senha será enviado para esse endereço."
|
||||
ifNoEmail: "Caso você não tenha registrado um endereço de e-mail, por favor, entre em contato com o administrador."
|
||||
|
@ -1070,8 +1169,16 @@ _preferencesBackups:
|
|||
_channel:
|
||||
featured: "Destaques"
|
||||
following: "Seguindo"
|
||||
usersCount: "usuários ativos"
|
||||
notesCount: "notas"
|
||||
nameAndDescription: "Nome e descrição"
|
||||
_menuDisplay:
|
||||
sideFull: "Exibir painel lateral inteiro"
|
||||
top: "Exibir barra superior"
|
||||
hide: "Ocultar"
|
||||
_theme:
|
||||
description: "Descrição"
|
||||
alpha: "Opacidade"
|
||||
deleteConstantConfirm: "Confirma a exclusão da constante {const}?"
|
||||
keys:
|
||||
mention: "Menção"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
_lang_: "O'zbek tili"
|
||||
headlineMisskey: "Qaydlar tarmog'i"
|
||||
introMisskey: "Xush kelibsiz! Misskey ochiq kodli, markazlashmagan mikroblogging xizmati.\nO'zingizni fikrlaringizni atrofingizdagilar bilan ulashish uchun \"Qaydlar\" yarating. 📡\nUstiga-ustak, \"Reaktsiyalar\" yordamida siz boshqalarning xatlari haqidagi o'zingizni xissiyotlaringizni tez ravishda bildiring. 👍\nQani, yangi dunyoni kashf qilaylik! 🚀"
|
||||
introMisskey: "Xush kelibsiz! Misskey ochiq kodli, markazlashmagan mikroblogging xizmati.\nO'zingizni fikrlaringizni atrofingizdagilar bilan ulashish uchun \"Qaydlar\" yarating. 📡\nUstiga-ustak, \"Reaktsiyalar\" yordamida siz boshqalarning xatlari haqidagi o'zingizni xissiyotlaringizni bildiring. 👍\nQani, yangi dunyoni kashf qilaylik! 🚀"
|
||||
poweredByMisskeyDescription: "{name} ochiq manbali <b>Misskey</b>(\"Misskey instance\" deb ataladi) platformasi tomonidan qurilgan servislardan biri. "
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Izlash"
|
||||
|
@ -17,10 +17,10 @@ noThankYou: "Hozir emas"
|
|||
enterUsername: "Foydalanuvchini nomini kiriting"
|
||||
renotedBy: "{user} tomonidan qayta qayd etildi"
|
||||
noNotes: "Qaydlar mavjud emas"
|
||||
noNotifications: "Xabarnomalar mavjud emas"
|
||||
noNotifications: "Xabarlar mavjud emas"
|
||||
instance: "Server"
|
||||
settings: "Sozalamalar"
|
||||
notificationSettings: "Xabarnomalar sozlamalari"
|
||||
settings: "Sozlamalar"
|
||||
notificationSettings: "Xabarnoma sozlamalari"
|
||||
basicSettings: "Asosiy sozlamalar"
|
||||
otherSettings: "Qo‘shimcha sozlamalar"
|
||||
openInWindow: "Yangi oynada ochish"
|
||||
|
@ -36,7 +36,7 @@ save: "Saqlash"
|
|||
users: "Foydalanuvchilar"
|
||||
addUser: "Foydalanuvchi qo'shish"
|
||||
favorite: "Sevimli"
|
||||
favorites: "Sevimli"
|
||||
favorites: "Sevimlilar"
|
||||
unfavorite: "Sevimlidan chiqarish"
|
||||
favorited: "sevimli"
|
||||
alreadyFavorited: "allaqachon sevimlilar orasida"
|
||||
|
@ -47,7 +47,7 @@ copyContent: "Tarkibini nusxalash"
|
|||
copyLink: "Havolani nuxalash"
|
||||
delete: "O'chirib tashlash"
|
||||
deleteAndEdit: "O'chirish va tahrirlash"
|
||||
deleteAndEditConfirm: "O'chirib, tahrirlamoqchiligingizga ishonchingiz komilmi? Siz bu qaydga tegishli barcha reaktsiyalar, qayta qaydlar va javoblarni yo'qotasiz."
|
||||
deleteAndEditConfirm: "O'chirib, tahrirlamoqchiligingizga ishonchingiz komilmi? Siz bu qaydga tegishli barcha reaktsiyalar va javoblarni yo'qotasiz."
|
||||
addToList: "Ro‘yxatga qo‘shish"
|
||||
addToAntenna: "Antennaga qo'shish"
|
||||
sendMessage: "Xabar yuborish"
|
||||
|
@ -74,7 +74,7 @@ import: "Import"
|
|||
export: "Eksport"
|
||||
files: "Fayllar"
|
||||
download: "Yuklab olish"
|
||||
driveFileDeleteConfirm: "\"{name}\" o'chirib tashlamoqchimisiz? Buni ishlatadihan kontentni hammasidan o'chadi"
|
||||
driveFileDeleteConfirm: "\"{name}\" o'chirib tashlamoqchimisiz? Ushbu fayldan foydalanadigan har qanday kontent ham oʻchiriladi."
|
||||
unfollowConfirm: "{name}ga obunani bekor qilmoqchimisiz?"
|
||||
exportRequested: "Eksport so'raldi. Bu ozgina vaqt olishi mumkin. Tugatilgandan so'ng sizning Diskingizga qo'shiladi"
|
||||
importRequested: "Import so'raldi. Bu ozgina vaqt olishi mumkin."
|
||||
|
@ -91,7 +91,7 @@ error: "Xato"
|
|||
somethingHappened: "Xatolik yuz berdi"
|
||||
retry: "Qayta urinib ko'rish"
|
||||
pageLoadError: "Sahifani yuklayotganda xatolik yuz berdi"
|
||||
pageLoadErrorDescription: "Buni odatda tarmoq muammolari yoki browser keshi keltirib chiqaradi. Keshni tozalab, keyinroq urinib ko'ring"
|
||||
pageLoadErrorDescription: "Buni odatda tarmoq muammolarni yoki browser keshi keltirib chiqaradi. Keshni tozalab, keyinroq urinib ko'ring"
|
||||
serverIsDead: "Server javob bermayabdi. Iltimos kuting va keyinroq urinib ko'ring"
|
||||
youShouldUpgradeClient: "Iltimos, ushbu sahifani ko'rish uchun sahifani yangilang."
|
||||
enterListName: "Ro'yxatga nom kiriting"
|
||||
|
@ -101,18 +101,18 @@ defaultNoteVisibility: "Standart ko'rinish"
|
|||
follow: "Obuna bo‘lish"
|
||||
followRequest: "Obuna bo'lish uchun ruxsat olish"
|
||||
followRequests: "Obuna bo'lmoqchilar"
|
||||
unfollow: "obunani bker qilish"
|
||||
unfollow: "obunani bekor qilish"
|
||||
followRequestPending: "obuna bo'lishga ruxsat kutilmoqda"
|
||||
enterEmoji: "Emojini kiriting"
|
||||
renote: "Qayta qaydetish"
|
||||
renote: "Qayta qayd etish"
|
||||
unrenote: "Qayta qayd etishni bekor qilish"
|
||||
renoted: "Qayta qaydetildi"
|
||||
cantRenote: "Qyta qayd etish mumkin emas"
|
||||
renoted: "Qayta qayd etildi"
|
||||
cantRenote: "Qayta qayd etish mumkin emas"
|
||||
cantReRenote: "Repostni qayta joylashtirish mumkin emas."
|
||||
quote: "Iqtibos keltirish"
|
||||
inChannelRenote: "Faqat kanalga qayta qayd etish"
|
||||
inChannelQuote: "Kanaldagi eslatmalar"
|
||||
pinnedNote: "Qadanlgan qayd"
|
||||
pinnedNote: "Qadalgan qayd"
|
||||
pinned: "Profilga qadab qo'yish"
|
||||
you: "Siz"
|
||||
clickToShow: "Ko'rsatish uchun bosing"
|
||||
|
@ -120,7 +120,7 @@ sensitive: "Sezuvchan"
|
|||
add: "Qo'shish"
|
||||
reaction: "Reaktsiyalar"
|
||||
reactions: "Reaktsiyalar"
|
||||
reactionSetting: "Reaksiyalar ro'yxatingiz "
|
||||
reactionSetting: "Reaksiyalar ro'yxati"
|
||||
reactionSettingDescription2: "Qayta tartiblash uchun ushlab turib siljiting, oʻchirish uchun bosing, qoʻshish uchun “+” tugmasini bosing."
|
||||
rememberNoteVisibility: "Qaydning ko'rinish sozlamarini eslab qolish"
|
||||
attachCancel: "Qo'shimchani olib tashlash"
|
||||
|
@ -159,10 +159,10 @@ cacheRemoteFilesDescription: "Ushbu sozlama o'chirilgan bo'lsa tashqi fayllar be
|
|||
cacheRemoteSensitiveFiles: "Tashqi fayllarni keshlash"
|
||||
cacheRemoteSensitiveFilesDescription: "Bu sozlama oʻchiq boʻlsa, \"barcha ko'rishi mumkin bo'lmagan\" fayllar keshlashsiz toʻgʻridan-toʻgʻri masofaviy serverdan yuklanadi."
|
||||
flagAsBot: "Ushbu akkauntni bot sifatida belgilash"
|
||||
flagAsBotDescription: "Agar bu akkaunt bot tomonidan boshqaralayotgan bo'ls, bu sozlamani yoqing. Sozlama yoqilganda, boshqa foydalanuvchilar uchun belgi sifatida ishlaydi, va Misskey ichki tizimlari bu akkauntni bot ekanini biladi."
|
||||
flagAsBotDescription: "Agar bu akkaunt bot tomonidan boshqaralayotgan bo'lsa, bu sozlamani yoqing. Sozlama yoqilganda, boshqa foydalanuvchilar uchun belgi sifatida ishlaydi, va Misskey ichki tizimlari bu akkauntni bot ekanini biladi."
|
||||
flagAsCat: "Bu akkauntni mushuk sifatida belgilash"
|
||||
flagAsCatDescription: "Ushbu akkauntni mushuk sifatida belgilash uchun ushbu sozlamani yoqing."
|
||||
flagShowTimelineReplies: "Javbolarni xronogoliya bo'yicha ko'rsatish"
|
||||
flagShowTimelineReplies: "Javoblarni xronogoliya bo'yicha ko'rsatish"
|
||||
flagShowTimelineRepliesDescription: "Bu parametr yoqilganda, lentada foydalanuvchi xabarlariga javob berilgan xabarlar ham ko'rinadi"
|
||||
autoAcceptFollowed: "Obunachilarni avtomatik ravishda qabul qilish"
|
||||
addAccount: "Akkaunt qo'shish"
|
||||
|
@ -345,11 +345,12 @@ enableRegistration: "Ro'yxatdan o'tishni yoqing"
|
|||
invite: "Taklif qilish"
|
||||
inMb: "Megabaytlarda"
|
||||
iconUrl: "Ikonkaning URL manzili (masalan: favicon)"
|
||||
bannerUrl: "Banner URLi"
|
||||
backgroundImageUrl: "Fon rasmi URL manzili"
|
||||
basicInfo: "Asosiy ma'lumot"
|
||||
pinnedUsers: "Qadalgan foydalanuvchilar"
|
||||
pinnedPages: "Qadalgan Sahifalar"
|
||||
pinnedNotes: "Qadanlgan qayd"
|
||||
pinnedNotes: "Qadalgan qayd"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "hCaptchani yoqish"
|
||||
hcaptchaSiteKey: "Sayt kaliti"
|
||||
|
@ -358,6 +359,8 @@ recaptcha: "reCAPTCHA"
|
|||
enableRecaptcha: "reCAPTCHA ni yoqish"
|
||||
recaptchaSiteKey: "Sayt kaliti"
|
||||
recaptchaSecretKey: "Maxfiy kalit"
|
||||
turnstile: "Turniket"
|
||||
enableTurnstile: "Turniketni yoqish"
|
||||
turnstileSiteKey: "Sayt kaliti"
|
||||
turnstileSecretKey: "Maxfiy kalit"
|
||||
antennas: "Antennalar"
|
||||
|
@ -365,9 +368,15 @@ manageAntennas: "Antennalarni boshqarish"
|
|||
name: "Ism"
|
||||
antennaSource: "Antenna manbai"
|
||||
antennaKeywords: "Kalit so'zni qabul qilish"
|
||||
antennaExcludeKeywords: "Istisno qilingan kalit so'zlar"
|
||||
antennaKeywordsDescription: "VA sharti uchun bo'shliqlar bilan yoki YOKI sharti uchun qator uzilishlari bilan ajrating."
|
||||
notifyAntenna: "Yangi qaydlar haqida menga xabar bering"
|
||||
withFileAntenna: "Faqatgina fayli bor qaydlar"
|
||||
connectedTo: "Quyidagi akkountlarga ulangan"
|
||||
silence: "Sukunat"
|
||||
notesAndReplies: "Qaydlar va javoblar"
|
||||
silence: "Jim qilish"
|
||||
silenceConfirm: "Rostdan ham ushbu foydalanuvchini jim qilmoqchimisiz?"
|
||||
unsilence: "Jim qilishni bekor qilish"
|
||||
popularUsers: "Mashhur foydalanuvchilar."
|
||||
recentlyRegisteredUsers: "Yaqinda ro'yxatdan o'tgan foydalanuvchilar"
|
||||
exploreUsersCount: "{count} ta foydalanuvchi bor"
|
||||
|
@ -402,9 +411,11 @@ retype: "Qayta kiriting"
|
|||
onlyOneFileCanBeAttached: "Faqat bitta faylni biriktirish mumkin"
|
||||
signinRequired: "Davom etishdan oldin ro'yhatdan o'tishingiz yoki tizimga kirishingiz kerak"
|
||||
invitations: "Taklif qilish"
|
||||
invitationCode: "taklif qilish kodi"
|
||||
checking: "Tekshirilmoqda"
|
||||
available: "Mavjud"
|
||||
unavailable: "Mavjud emas"
|
||||
usernameInvalidFormat: "Siz a~z, A~Z, 0~9, _ dan foydalanishingiz mumkin"
|
||||
tooShort: "Juda qisqa"
|
||||
tooLong: "juda uzun"
|
||||
weakPassword: "Zaif parol"
|
||||
|
@ -413,8 +424,22 @@ strongPassword: "Kuchli parol"
|
|||
passwordMatched: "Mos keldi"
|
||||
passwordNotMatched: "mos kelmadi"
|
||||
signinWith: "{x} bilan tizimga kirish"
|
||||
signinFailed: "Tizimga kirishda xatolik yuz berdi. Iltimos, foydalanuvchi nomingiz va parolingizni tekshiring."
|
||||
or: "yoki"
|
||||
language: "til"
|
||||
aboutX: "{x} haqida"
|
||||
showNoteActionsOnlyHover: "Eslatma amallarini faqat sichqonchani olib borganda ko‘rsatish"
|
||||
noHistory: "Tarix yo'q"
|
||||
signinHistory: "kirish tarixi"
|
||||
category: "kategoriya"
|
||||
tags: "teg"
|
||||
docSource: "Ushbu hujjatning manbasi"
|
||||
createAccount: "Akkaunt yaratish"
|
||||
existingAccount: "mavjud akkaunt"
|
||||
regenerate: "regeneratsiya"
|
||||
fontSize: "shrift hajmi"
|
||||
limitTo: "{x} gacha"
|
||||
noFollowRequests: "obuna uchun so'rov yo'q"
|
||||
dashboard: "Boshqaruv paneli"
|
||||
local: "Mahalliy"
|
||||
total: "Jami"
|
||||
|
@ -423,17 +448,47 @@ dayOverDayChanges: "Kecha bo'lgan o'zgarishlar"
|
|||
appearance: "Tasgqi ko'rinish"
|
||||
clientSettings: "Klient sozlamalari"
|
||||
accountSettings: "Profil sozlamalari"
|
||||
promotion: "rag'batlantirish"
|
||||
promote: "targ'ib qilish"
|
||||
numberOfDays: "kunlar soni"
|
||||
hideThisNote: "bu eslatmani yashiring"
|
||||
showFeaturedNotesInTimeline: "Tanlangan qaydlarni Timelineda ko'rsatish"
|
||||
objectStorageBaseUrl: "Asosiy URL"
|
||||
objectStorageRegion: "Mintaqa"
|
||||
objectStorageUseSSL: "SSL dan foydalaning"
|
||||
sounds: "Tovushlar"
|
||||
sound: "ovoz"
|
||||
none: "Hechnima"
|
||||
volume: "Ovoz balandligi"
|
||||
details: "Batafsil"
|
||||
output: "Chiqish"
|
||||
deleteAllFiles: "barcha fayllarni o'chirish"
|
||||
deleteAllFilesConfirm: "Barcha fayllar oʻchirilsinmi?"
|
||||
userSuspended: "Bu foydalanuvchi muzlatilgan."
|
||||
userSilenced: "Ushbu foydalanuvchi jim qilingan"
|
||||
yourAccountSuspendedTitle: "akkaunt muzlatilgan"
|
||||
yourAccountSuspendedDescription: "Ushbu akkaunt serverning xizmat ko'rsatish shartlarini buzish kabi sabablarga ko'ra to'xtatilgan. Tafsilotlar uchun administratoringizga murojaat qiling. Iltimos, yangi akkaunt yaratmang."
|
||||
tokenRevoked: "token yaroqsiz"
|
||||
tokenRevokedDescription: "Kirish tokeningizni muddati tugagan. Iltimos, qaytadan kiring."
|
||||
accountDeleted: "akkaunt o'chirildi"
|
||||
accountDeletedDescription: "Bu akkaunt oʻchirildi."
|
||||
menu: "Menyu"
|
||||
divider: "Ajratrmoq"
|
||||
addItem: "Element qo'shish"
|
||||
serviceworkerInfo: "bildirishnomalar uchun yoqilgan bo'lishi kerak."
|
||||
deletedNote: "Oʻchirilgan post"
|
||||
themeEditor: "Rang sxemasi muharriri"
|
||||
describeFile: "sarlavha qo'shing"
|
||||
enterFileDescription: "sarlavha kiriting"
|
||||
author: "muallif"
|
||||
leaveConfirm: "Sizda saqlanmagan oʻzgarishlar bor. Bekor qilinsinmi?"
|
||||
useBlurEffectForModal: "Modal uchun xiralashtirish effektidan foydalaning"
|
||||
width: "kengligi"
|
||||
height: "balandligi"
|
||||
large: "Katta"
|
||||
small: "kichik"
|
||||
enableAll: "Yoqish"
|
||||
disableAll: "hammasini o'chirib qo'ying"
|
||||
edit: "Tahrirlash"
|
||||
email: "Email"
|
||||
smtpHost: "Host"
|
||||
|
@ -508,7 +563,7 @@ _theme:
|
|||
navBg: "Yon panel foni"
|
||||
navFg: "Yon panel matni"
|
||||
mention: "Murojat"
|
||||
renote: "Qayta qaydetish"
|
||||
renote: "Qayta qayd etish"
|
||||
divider: "Ajratrmoq"
|
||||
accentDarken: "Urg'u (Qoraytirilgan)"
|
||||
accentLighten: "Urg'u (Yoritilgan)"
|
||||
|
@ -654,7 +709,7 @@ _notification:
|
|||
all: "Barchasi"
|
||||
follow: "Obuna bo‘lish"
|
||||
mention: "Murojat"
|
||||
renote: "Qayta qaydetish"
|
||||
renote: "Qayta qayd etish"
|
||||
quote: "Iqtibos keltirish"
|
||||
reaction: "Reaktsiyalar"
|
||||
receiveFollowRequest: "Qabul qilingan kuzatuv so'rovlari"
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
"@swc/core-android-arm64": "1.3.11",
|
||||
"@swc/core-darwin-arm64": "1.3.56",
|
||||
"@swc/core-darwin-x64": "1.3.56",
|
||||
"@swc/core-freebsd-x64": "1.3.11",
|
||||
"@swc/core-linux-arm-gnueabihf": "1.3.56",
|
||||
"@swc/core-linux-arm64-gnu": "1.3.56",
|
||||
"@swc/core-linux-arm64-musl": "1.3.56",
|
||||
|
@ -39,18 +40,19 @@
|
|||
"@tensorflow/tfjs": "4.4.0",
|
||||
"@tensorflow/tfjs-node": "4.4.0",
|
||||
"bufferutil": "^4.0.7",
|
||||
"slacc-android-arm-eabi": "0.0.9",
|
||||
"slacc-android-arm64": "0.0.9",
|
||||
"slacc-darwin-arm64": "0.0.9",
|
||||
"slacc-darwin-universal": "0.0.9",
|
||||
"slacc-darwin-x64": "0.0.9",
|
||||
"slacc-freebsd-x64": "0.0.9",
|
||||
"slacc-linux-arm-gnueabihf": "0.0.9",
|
||||
"slacc-linux-arm64-gnu": "0.0.9",
|
||||
"slacc-linux-arm64-musl": "0.0.9",
|
||||
"slacc-linux-x64-gnu": "0.0.9",
|
||||
"slacc-win32-arm64-msvc": "0.0.9",
|
||||
"slacc-win32-x64-msvc": "0.0.9",
|
||||
"slacc-android-arm-eabi": "0.0.10",
|
||||
"slacc-android-arm64": "0.0.10",
|
||||
"slacc-darwin-arm64": "0.0.10",
|
||||
"slacc-darwin-universal": "0.0.10",
|
||||
"slacc-darwin-x64": "0.0.10",
|
||||
"slacc-freebsd-x64": "0.0.10",
|
||||
"slacc-linux-arm-gnueabihf": "0.0.10",
|
||||
"slacc-linux-arm64-gnu": "0.0.10",
|
||||
"slacc-linux-arm64-musl": "0.0.10",
|
||||
"slacc-linux-x64-gnu": "0.0.10",
|
||||
"slacc-linux-x64-musl": "0.0.10",
|
||||
"slacc-win32-arm64-msvc": "0.0.10",
|
||||
"slacc-win32-x64-msvc": "0.0.10",
|
||||
"utf-8-validate": "^6.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -141,7 +143,7 @@
|
|||
"semver": "7.5.4",
|
||||
"sharp": "0.32.3",
|
||||
"sharp-read-bmp": "github:misskey-dev/sharp-read-bmp",
|
||||
"slacc": "0.0.9",
|
||||
"slacc": "0.0.10",
|
||||
"strict-event-emitter-types": "2.0.0",
|
||||
"stringz": "2.1.0",
|
||||
"summaly": "github:misskey-dev/summaly",
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import * as fs from 'node:fs';
|
||||
import * as stream from 'node:stream';
|
||||
import * as util from 'node:util';
|
||||
import * as stream from 'node:stream/promises';
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import ipaddr from 'ipaddr.js';
|
||||
import chalk from 'chalk';
|
||||
|
@ -14,7 +13,6 @@ import { StatusError } from '@/misc/status-error.js';
|
|||
import { LoggerService } from '@/core/LoggerService.js';
|
||||
import type Logger from '@/logger.js';
|
||||
|
||||
const pipeline = util.promisify(stream.pipeline);
|
||||
import { bindThis } from '@/decorators.js';
|
||||
|
||||
@Injectable()
|
||||
|
@ -102,7 +100,7 @@ export class DownloadService {
|
|||
});
|
||||
|
||||
try {
|
||||
await pipeline(req, fs.createWriteStream(path));
|
||||
await stream.pipeline(req, fs.createWriteStream(path));
|
||||
} catch (e) {
|
||||
if (e instanceof Got.HTTPError) {
|
||||
throw new StatusError(`${e.response.statusCode} ${e.response.statusMessage}`, e.response.statusCode, e.response.statusMessage);
|
||||
|
@ -129,7 +127,7 @@ export class DownloadService {
|
|||
// write content at URL to temp file
|
||||
await this.downloadUrl(url, path);
|
||||
|
||||
const text = await util.promisify(fs.readFile)(path, 'utf8');
|
||||
const text = await fs.promises.readFile(path, 'utf8');
|
||||
|
||||
return text;
|
||||
} finally {
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import * as fs from 'node:fs';
|
||||
import * as crypto from 'node:crypto';
|
||||
import { join } from 'node:path';
|
||||
import * as stream from 'node:stream';
|
||||
import * as util from 'node:util';
|
||||
import * as stream from 'node:stream/promises';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { FSWatcher } from 'chokidar';
|
||||
import * as fileType from 'file-type';
|
||||
|
@ -16,8 +15,6 @@ import { createTempDir } from '@/misc/create-temp.js';
|
|||
import { AiService } from '@/core/AiService.js';
|
||||
import { bindThis } from '@/decorators.js';
|
||||
|
||||
const pipeline = util.promisify(stream.pipeline);
|
||||
|
||||
export type FileInfo = {
|
||||
size: number;
|
||||
md5: string;
|
||||
|
@ -371,8 +368,7 @@ export class FileInfoService {
|
|||
*/
|
||||
@bindThis
|
||||
public async getFileSize(path: string): Promise<number> {
|
||||
const getStat = util.promisify(fs.stat);
|
||||
return (await getStat(path)).size;
|
||||
return (await fs.promises.stat(path)).size;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -381,7 +377,7 @@ export class FileInfoService {
|
|||
@bindThis
|
||||
private async calcHash(path: string): Promise<string> {
|
||||
const hash = crypto.createHash('md5').setEncoding('hex');
|
||||
await pipeline(fs.createReadStream(path), hash);
|
||||
await stream.pipeline(fs.createReadStream(path), hash);
|
||||
return hash.read();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { randomUUID } from 'node:crypto';
|
||||
import { pipeline } from 'node:stream';
|
||||
import * as fs from 'node:fs';
|
||||
import { promisify } from 'node:util';
|
||||
import * as stream from 'node:stream/promises';
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import { getIpHash } from '@/misc/get-ip-hash.js';
|
||||
|
@ -21,8 +20,6 @@ import type { FastifyRequest, FastifyReply } from 'fastify';
|
|||
import type { OnApplicationShutdown } from '@nestjs/common';
|
||||
import type { IEndpointMeta, IEndpoint } from './endpoints.js';
|
||||
|
||||
const pump = promisify(pipeline);
|
||||
|
||||
const accessDenied = {
|
||||
message: 'Access denied.',
|
||||
code: 'ACCESS_DENIED',
|
||||
|
@ -138,7 +135,7 @@ export class ApiCallService implements OnApplicationShutdown {
|
|||
}
|
||||
|
||||
const [path] = await createTemp();
|
||||
await pump(multipartData.file, fs.createWriteStream(path));
|
||||
await stream.pipeline(multipartData.file, fs.createWriteStream(path));
|
||||
|
||||
const fields = {} as Record<string, unknown>;
|
||||
for (const [k, v] of Object.entries(multipartData.fields)) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import { Note } from '@/models/entities/Note.js';
|
|||
import { signup, post, uploadUrl, startServer, initTestDb, api, uploadFile } from '../utils.js';
|
||||
import type { INestApplicationContext } from '@nestjs/common';
|
||||
import type * as misskey from 'misskey-js';
|
||||
import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
|
||||
|
||||
describe('Note', () => {
|
||||
let app: INestApplicationContext;
|
||||
|
@ -164,7 +165,7 @@ describe('Note', () => {
|
|||
|
||||
test('文字数ぎりぎりで怒られない', async () => {
|
||||
const post = {
|
||||
text: '!'.repeat(3000),
|
||||
text: '!'.repeat(MAX_NOTE_TEXT_LENGTH), // 3000文字
|
||||
};
|
||||
const res = await api('/notes/create', post, alice);
|
||||
assert.strictEqual(res.status, 200);
|
||||
|
@ -172,7 +173,7 @@ describe('Note', () => {
|
|||
|
||||
test('文字数オーバーで怒られる', async () => {
|
||||
const post = {
|
||||
text: '!'.repeat(3001),
|
||||
text: '!'.repeat(MAX_NOTE_TEXT_LENGTH + 1), // 3001文字
|
||||
};
|
||||
const res = await api('/notes/create', post, alice);
|
||||
assert.strictEqual(res.status, 400);
|
||||
|
|
|
@ -58,7 +58,7 @@ async function getClientWidthWithCache(targetEl: HTMLElement, containerEl: HTMLE
|
|||
</script>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { onMounted, shallowRef } from 'vue';
|
||||
import { onMounted, onUnmounted, shallowRef } from 'vue';
|
||||
import * as misskey from 'misskey-js';
|
||||
import PhotoSwipeLightbox from 'photoswipe/lightbox';
|
||||
import PhotoSwipe from 'photoswipe';
|
||||
|
@ -82,12 +82,19 @@ const gallery = shallowRef<HTMLDivElement>();
|
|||
const pswpZIndex = os.claimZIndex('middle');
|
||||
document.documentElement.style.setProperty('--mk-pswp-root-z-index', pswpZIndex.toString());
|
||||
const count = $computed(() => props.mediaList.filter(media => previewable(media)).length);
|
||||
let lightbox: PhotoSwipeLightbox | null;
|
||||
|
||||
const popstateHandler = (): void => {
|
||||
if (lightbox.pswp && lightbox.pswp.isOpen === true) {
|
||||
lightbox.pswp.close();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* アスペクト比をmediaListWithOneImageAppearanceに基づいていい感じに調整する
|
||||
* aspect-ratioではなくheightを使う
|
||||
*/
|
||||
async function calcAspectRatio() {
|
||||
async function calcAspectRatio() {
|
||||
if (!gallery.value || !root.value) return;
|
||||
|
||||
let img = props.mediaList[0];
|
||||
|
@ -137,7 +144,7 @@ const count = $computed(() => props.mediaList.filter(media => previewable(media)
|
|||
onMounted(() => {
|
||||
calcAspectRatio();
|
||||
|
||||
const lightbox = new PhotoSwipeLightbox({
|
||||
lightbox = new PhotoSwipeLightbox({
|
||||
dataSource: props.mediaList
|
||||
.filter(media => {
|
||||
if (media.type === 'image/svg+xml') return true; // svgのwebpublicはpngなのでtrue
|
||||
|
@ -221,12 +228,7 @@ onMounted(() => {
|
|||
|
||||
lightbox.init();
|
||||
|
||||
window.addEventListener('popstate', () => {
|
||||
if (lightbox.pswp && lightbox.pswp.isOpen === true) {
|
||||
lightbox.pswp.close();
|
||||
return;
|
||||
}
|
||||
});
|
||||
window.addEventListener('popstate', popstateHandler);
|
||||
|
||||
lightbox.on('beforeOpen', () => {
|
||||
history.pushState(null, '', '#pswp');
|
||||
|
@ -239,6 +241,12 @@ onMounted(() => {
|
|||
});
|
||||
});
|
||||
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener('popstate', popstateHandler);
|
||||
lightbox?.destroy();
|
||||
lightbox = null;
|
||||
});
|
||||
|
||||
const previewable = (file: misskey.entities.DriveFile): boolean => {
|
||||
if (file.type === 'image/svg+xml') return true; // svgのwebpublic/thumbnailはpngなのでtrue
|
||||
// FILE_TYPE_BROWSERSAFEに適合しないものはブラウザで表示するのに不適切
|
||||
|
|
|
@ -341,6 +341,7 @@ function reply(viaKeyboard = false): void {
|
|||
pleaseLogin();
|
||||
os.post({
|
||||
reply: appearNote,
|
||||
channel: appearNote.channel,
|
||||
animation: !viaKeyboard,
|
||||
}, () => {
|
||||
focus();
|
||||
|
|
|
@ -320,6 +320,7 @@ function reply(viaKeyboard = false): void {
|
|||
showMovedDialog();
|
||||
os.post({
|
||||
reply: appearNote,
|
||||
channel: appearNote.channel,
|
||||
animation: !viaKeyboard,
|
||||
}, () => {
|
||||
focus();
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { computed, onMounted, onUnmounted } from 'vue';
|
||||
import { computed, onMounted, onUnmounted, ref } from 'vue';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
import FormSection from '@/components/form/section.vue';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
|
@ -93,15 +93,6 @@ const coldDeviceStorageSaveKeys: (keyof typeof ColdDeviceStorage.default)[] = [
|
|||
'darkTheme',
|
||||
'syncDeviceDarkMode',
|
||||
'plugins',
|
||||
'mediaVolume',
|
||||
'sound_masterVolume',
|
||||
'sound_note',
|
||||
'sound_noteMy',
|
||||
'sound_notification',
|
||||
'sound_chat',
|
||||
'sound_chatBg',
|
||||
'sound_antenna',
|
||||
'sound_channel',
|
||||
];
|
||||
|
||||
const scope = ['clientPreferencesProfiles'];
|
||||
|
@ -125,18 +116,18 @@ type Profile = {
|
|||
|
||||
const connection = $i && useStream().useChannel('main');
|
||||
|
||||
let profiles = $ref<Record<string, Profile> | null>(null);
|
||||
const profiles = ref<Record<string, Profile> | null>(null);
|
||||
|
||||
os.api('i/registry/get-all', { scope })
|
||||
.then(res => {
|
||||
profiles = res || {};
|
||||
profiles.value = res || {};
|
||||
});
|
||||
|
||||
function isObject(value: unknown): value is Record<string, unknown> {
|
||||
return value != null && typeof value === 'object' && !Array.isArray(value);
|
||||
}
|
||||
|
||||
function validate(profile: unknown): void {
|
||||
function validate(profile: any): void {
|
||||
if (!isObject(profile)) throw new Error('not an object');
|
||||
|
||||
// Check if unnecessary properties exist
|
||||
|
@ -147,9 +138,9 @@ function validate(profile: unknown): void {
|
|||
|
||||
// Check if createdAt and updatedAt is Date
|
||||
// https://zenn.dev/lollipop_onl/articles/eoz-judge-js-invalid-date
|
||||
if (!profile.createdAt || Number.isNaN(new Date(profile.createdAt).getTime())) throw new Error('createdAt is falsy or not Date');
|
||||
if (!profile.createdAt || Number.isNaN(new Date(profile.createdAt as any).getTime())) throw new Error('createdAt is falsy or not Date');
|
||||
if (profile.updatedAt) {
|
||||
if (Number.isNaN(new Date(profile.updatedAt).getTime())) {
|
||||
if (Number.isNaN(new Date(profile.updatedAt as any).getTime())) {
|
||||
throw new Error('updatedAt is not Date');
|
||||
}
|
||||
} else if (profile.updatedAt !== null) {
|
||||
|
@ -181,14 +172,14 @@ function getSettings(): Profile['settings'] {
|
|||
}
|
||||
|
||||
async function saveNew(): Promise<void> {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
const { canceled, result: name } = await os.inputText({
|
||||
title: ts._preferencesBackups.inputName,
|
||||
});
|
||||
if (canceled) return;
|
||||
|
||||
if (Object.values(profiles).some(x => x.name === name)) {
|
||||
if (Object.values(profiles.value).some(x => x.name === name)) {
|
||||
return os.alert({
|
||||
title: ts._preferencesBackups.cannotSave,
|
||||
text: t('_preferencesBackups.nameAlreadyExists', { name }),
|
||||
|
@ -212,7 +203,7 @@ function loadFile(): void {
|
|||
input.type = 'file';
|
||||
input.multiple = false;
|
||||
input.onchange = async () => {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
if (!input.files || input.files.length === 0) return;
|
||||
|
||||
const file = input.files[0];
|
||||
|
@ -233,7 +224,7 @@ function loadFile(): void {
|
|||
return os.alert({
|
||||
type: 'error',
|
||||
title: ts._preferencesBackups.cannotLoad,
|
||||
text: err?.message,
|
||||
text: (err as any)?.message ?? '',
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -252,9 +243,9 @@ function loadFile(): void {
|
|||
}
|
||||
|
||||
async function applyProfile(id: string): Promise<void> {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
const profile = profiles[id];
|
||||
const profile = profiles.value[id];
|
||||
|
||||
const { canceled: cancel1 } = await os.confirm({
|
||||
type: 'warning',
|
||||
|
@ -312,23 +303,23 @@ async function applyProfile(id: string): Promise<void> {
|
|||
}
|
||||
|
||||
async function deleteProfile(id: string): Promise<void> {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
const { canceled } = await os.confirm({
|
||||
type: 'info',
|
||||
title: ts.delete,
|
||||
text: t('deleteAreYouSure', { x: profiles[id].name }),
|
||||
text: t('deleteAreYouSure', { x: profiles.value[id].name }),
|
||||
});
|
||||
if (canceled) return;
|
||||
|
||||
await os.apiWithDialog('i/registry/remove', { scope, key: id });
|
||||
delete profiles[id];
|
||||
delete profiles.value[id];
|
||||
}
|
||||
|
||||
async function save(id: string): Promise<void> {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
const { name, createdAt } = profiles[id];
|
||||
const { name, createdAt } = profiles.value[id];
|
||||
|
||||
const { canceled } = await os.confirm({
|
||||
type: 'info',
|
||||
|
@ -349,25 +340,25 @@ async function save(id: string): Promise<void> {
|
|||
}
|
||||
|
||||
async function rename(id: string): Promise<void> {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
const { canceled: cancel1, result: name } = await os.inputText({
|
||||
title: ts._preferencesBackups.inputName,
|
||||
});
|
||||
if (cancel1 || profiles[id].name === name) return;
|
||||
if (cancel1 || profiles.value[id].name === name) return;
|
||||
|
||||
if (Object.values(profiles).some(x => x.name === name)) {
|
||||
if (Object.values(profiles.value).some(x => x.name === name)) {
|
||||
return os.alert({
|
||||
title: ts._preferencesBackups.cannotSave,
|
||||
text: t('_preferencesBackups.nameAlreadyExists', { name }),
|
||||
});
|
||||
}
|
||||
|
||||
const registry = Object.assign({}, { ...profiles[id] });
|
||||
const registry = Object.assign({}, { ...profiles.value[id] });
|
||||
|
||||
const { canceled: cancel2 } = await os.confirm({
|
||||
type: 'info',
|
||||
title: ts._preferencesBackups.rename,
|
||||
title: ts.rename,
|
||||
text: t('_preferencesBackups.renameConfirm', { old: registry.name, new: name }),
|
||||
});
|
||||
if (cancel2) return;
|
||||
|
@ -377,7 +368,7 @@ async function rename(id: string): Promise<void> {
|
|||
}
|
||||
|
||||
function menu(ev: MouseEvent, profileId: string) {
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
return os.popupMenu([{
|
||||
text: ts._preferencesBackups.apply,
|
||||
|
@ -387,8 +378,8 @@ function menu(ev: MouseEvent, profileId: string) {
|
|||
type: 'a',
|
||||
text: ts.download,
|
||||
icon: 'ti ti-download',
|
||||
href: URL.createObjectURL(new Blob([JSON.stringify(profiles[profileId], null, 2)], { type: 'application/json' })),
|
||||
download: `${profiles[profileId].name}.json`,
|
||||
href: URL.createObjectURL(new Blob([JSON.stringify(profiles.value[profileId], null, 2)], { type: 'application/json' })),
|
||||
download: `${profiles.value[profileId].name}.json`,
|
||||
}, null, {
|
||||
text: ts.rename,
|
||||
icon: 'ti ti-forms',
|
||||
|
@ -402,16 +393,16 @@ function menu(ev: MouseEvent, profileId: string) {
|
|||
icon: 'ti ti-trash',
|
||||
action: () => deleteProfile(profileId),
|
||||
danger: true,
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
}], (ev.currentTarget ?? ev.target ?? undefined) as unknown as HTMLElement | undefined);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// streamingのuser storage updateイベントを監視して更新
|
||||
connection?.on('registryUpdated', ({ scope: recievedScope, key, value }) => {
|
||||
if (!recievedScope || recievedScope.length !== scope.length || recievedScope[0] !== scope[0]) return;
|
||||
if (!profiles) return;
|
||||
if (!profiles.value) return;
|
||||
|
||||
profiles[key] = value;
|
||||
profiles.value[key] = value;
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ export function createAiScriptEnv(opts) {
|
|||
USER_NAME: $i ? values.STR($i.name) : values.NULL,
|
||||
USER_USERNAME: $i ? values.STR($i.username) : values.NULL,
|
||||
CUSTOM_EMOJIS: utils.jsToVal(customEmojis.value),
|
||||
CURRENT_URL: values.STR(window.location.href),
|
||||
'Mk:dialog': values.FN_NATIVE(async ([title, text, type]) => {
|
||||
await os.alert({
|
||||
type: type ? type.value : 'info',
|
||||
|
@ -48,5 +47,8 @@ export function createAiScriptEnv(opts) {
|
|||
utils.assertString(key);
|
||||
return utils.jsToVal(JSON.parse(miLocalStorage.getItem(`aiscript:${opts.storageKey}:${key.value}`)));
|
||||
}),
|
||||
'Mk:url': values.FN_NATIVE(() => {
|
||||
return values.STR(window.location.href);
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
|
193
pnpm-lock.yaml
193
pnpm-lock.yaml
|
@ -1,4 +1,4 @@
|
|||
lockfileVersion: '6.1'
|
||||
lockfileVersion: '6.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
|
@ -330,8 +330,8 @@ importers:
|
|||
specifier: github:misskey-dev/sharp-read-bmp
|
||||
version: github.com/misskey-dev/sharp-read-bmp/02d9dc189fa7df0c4bea09330be26741772dac01
|
||||
slacc:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
strict-event-emitter-types:
|
||||
specifier: 2.0.0
|
||||
version: 2.0.0
|
||||
|
@ -340,7 +340,7 @@ importers:
|
|||
version: 2.1.0
|
||||
summaly:
|
||||
specifier: github:misskey-dev/summaly
|
||||
version: github.com/misskey-dev/summaly/77dd5654bb82280b38c1f50e51a771c33f3df503
|
||||
version: github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc
|
||||
systeminformation:
|
||||
specifier: 5.18.7
|
||||
version: 5.18.7
|
||||
|
@ -390,6 +390,9 @@ importers:
|
|||
'@swc/core-darwin-x64':
|
||||
specifier: 1.3.56
|
||||
version: 1.3.56
|
||||
'@swc/core-freebsd-x64':
|
||||
specifier: 1.3.11
|
||||
version: 1.3.11
|
||||
'@swc/core-linux-arm-gnueabihf':
|
||||
specifier: 1.3.56
|
||||
version: 1.3.56
|
||||
|
@ -424,41 +427,44 @@ importers:
|
|||
specifier: ^4.0.7
|
||||
version: 4.0.7
|
||||
slacc-android-arm-eabi:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-android-arm64:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-darwin-arm64:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-darwin-universal:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-darwin-x64:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-freebsd-x64:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-linux-arm-gnueabihf:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-linux-arm64-gnu:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-linux-arm64-musl:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-linux-x64-gnu:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-linux-x64-musl:
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-win32-arm64-msvc:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
slacc-win32-x64-msvc:
|
||||
specifier: 0.0.9
|
||||
version: 0.0.9
|
||||
specifier: 0.0.10
|
||||
version: 0.0.10
|
||||
utf-8-validate:
|
||||
specifier: ^6.0.3
|
||||
version: 6.0.3
|
||||
|
@ -955,7 +961,7 @@ importers:
|
|||
version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.0.27)(@storybook/components@7.1.0)(@storybook/core-events@7.0.27)(@storybook/manager-api@7.0.27)(@storybook/preview-api@7.0.27)(@storybook/theming@7.0.27)(@storybook/types@7.0.27)(react-dom@18.2.0)(react@18.2.0)
|
||||
summaly:
|
||||
specifier: github:misskey-dev/summaly
|
||||
version: github.com/misskey-dev/summaly/77dd5654bb82280b38c1f50e51a771c33f3df503
|
||||
version: github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc
|
||||
vite-plugin-turbosnap:
|
||||
specifier: 1.0.2
|
||||
version: 1.0.2
|
||||
|
@ -976,7 +982,7 @@ importers:
|
|||
dependencies:
|
||||
'@swc/cli':
|
||||
specifier: 0.1.62
|
||||
version: 0.1.62(@swc/core@1.3.70)(chokidar@3.5.3)
|
||||
version: 0.1.62(@swc/core@1.3.69)
|
||||
'@swc/core':
|
||||
specifier: 1.3.69
|
||||
version: 1.3.69
|
||||
|
@ -7222,12 +7228,32 @@ packages:
|
|||
ts-dedent: 2.2.0
|
||||
type-fest: 2.19.0
|
||||
vue: 3.3.4
|
||||
vue-component-type-helpers: 1.8.5
|
||||
vue-component-type-helpers: 1.8.6
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@swc/cli@0.1.62(@swc/core@1.3.69):
|
||||
resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==}
|
||||
engines: {node: '>= 12.13'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@swc/core': ^1.2.66
|
||||
chokidar: ^3.5.1
|
||||
peerDependenciesMeta:
|
||||
chokidar:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@mole-inc/bin-wrapper': 8.0.1
|
||||
'@swc/core': 1.3.69
|
||||
commander: 7.2.0
|
||||
fast-glob: 3.2.12
|
||||
semver: 7.5.4
|
||||
slash: 3.0.0
|
||||
source-map: 0.7.4
|
||||
dev: false
|
||||
|
||||
/@swc/cli@0.1.62(@swc/core@1.3.70)(chokidar@3.5.3):
|
||||
resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==}
|
||||
engines: {node: '>= 12.13'}
|
||||
|
@ -7310,6 +7336,17 @@ packages:
|
|||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@swc/core-freebsd-x64@1.3.11:
|
||||
resolution: {integrity: sha512-02uqYktPp6WmZfZ2Crc/yIVOcgANtjo8ciHcT7yLHvz7v+S7gx1I2tyNGUFtTX5hcR2IFNGrL8Yj4DvpTABFHg==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@swc/wasm': 1.2.130
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@swc/core-linux-arm-gnueabihf@1.3.56:
|
||||
resolution: {integrity: sha512-LWwPo6NnJkH01+ukqvkoNIOpMdw+Zundm4vBeicwyVrkP+mC3kwVfi03TUFpQUz3kRKdw/QEnxGTj+MouCPbtw==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -19097,8 +19134,8 @@ packages:
|
|||
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
|
||||
dev: true
|
||||
|
||||
/slacc-android-arm-eabi@0.0.9:
|
||||
resolution: {integrity: sha512-T5P5kJ5UwW3UMoPXqqHh9TpCnuCJDCoivoiuONDXrYPYKF8sKDPMVVg1x/KU9/m7e562x9vAMBrIyqFFbEW0Jw==}
|
||||
/slacc-android-arm-eabi@0.0.10:
|
||||
resolution: {integrity: sha512-U3dVBuM1m8rT1D/w6S4knJ/uscNwsCR+MKxSQFbgDJEh8Atv+ovuC+FMGuaBT4iOQjpMj5dWSsN3ZPjVeo3hgA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
@ -19106,8 +19143,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-android-arm64@0.0.9:
|
||||
resolution: {integrity: sha512-bcKB3ukcI5wWJa2clK/5cy6a4TKp51DRkdRuFgKLG05gBj1jbH+7+8iBPojljeY28LC2frmwVHGj3vDmkFUeYg==}
|
||||
/slacc-android-arm64@0.0.10:
|
||||
resolution: {integrity: sha512-guVp88sW+4j1clTSXMzyDJHG8ondVnd8/FMKXIOfzKCEwSwX3uBxsuyHqtGvXkEwyZAGsBUy13Ei/PZAwElwYA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
@ -19115,8 +19152,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-darwin-arm64@0.0.9:
|
||||
resolution: {integrity: sha512-EspX0Hj6t0Afxbsyc6rY9mTOUQQrPVtWPwwNRaljGRorPyRDDefrU1OnJXRcwcIp0oCZrRrivRYlO7lai63EMw==}
|
||||
/slacc-darwin-arm64@0.0.10:
|
||||
resolution: {integrity: sha512-633qnOMTP7egvd5IeljAOku0tnxlBXSoCRu7HiT0yeXxN9y5Tbg2X2/FaRzstI36lClfIJ0Lavne4mOw/90z9A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
@ -19124,16 +19161,16 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-darwin-universal@0.0.9:
|
||||
resolution: {integrity: sha512-oQySg+9MPyKI9rwwwhmSZQkPks2/rq3k1P5HKwUgnaFZDvDtS/hpDycB3BxSDqWdD5kVA8PLCVa8pt9T5KyKfg==}
|
||||
/slacc-darwin-universal@0.0.10:
|
||||
resolution: {integrity: sha512-x5kEqRMTEQTi3NCufPEukWvaWqcOL+7EkP18ZCCiajcWH83jWnT8DOSGOmmLYdrXd0B7ZZcbd8GyLp3i5zu8PA==}
|
||||
engines: {node: '>= 10'}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-darwin-x64@0.0.9:
|
||||
resolution: {integrity: sha512-9Xp7mVKKF2QvDiIZOBgwsDdL/+95KBiFTdbo+XtH6YKoh6zNw0aPpkA3JojsdSMYdGHUrxl8b7avhzI0USqeEg==}
|
||||
/slacc-darwin-x64@0.0.10:
|
||||
resolution: {integrity: sha512-5gQYboy/4T6Bj3sVXiCpM3EvF1sK/Zx1Nq5YBMUuYb2GzrIwywghHbCD6bK4JYGvNsLN7r4PC45ZUB4gVkU8yA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
@ -19141,8 +19178,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-freebsd-x64@0.0.9:
|
||||
resolution: {integrity: sha512-jRd8WmXZLU2mcxV7SN8CzZzGiwbpxtaTjLwrYMTryQZ2TFr1xd1r5mQfTN5sBiwu3tnyK5dmHnRAPy+215mOkQ==}
|
||||
/slacc-freebsd-x64@0.0.10:
|
||||
resolution: {integrity: sha512-Jmi5YszELef/aCzYto+LwiNGhCk5mrlJfTJU/pOI91HBbrZlV+aRyIsPCcxAMg5yPsPQuyRljrDouVYrPzNmjw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
@ -19150,8 +19187,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-linux-arm-gnueabihf@0.0.9:
|
||||
resolution: {integrity: sha512-nhP6+jgd30sq+zFxFW7fGhnPwCfCCU0l1JKk3ORGFMl7wH7ippTDd1xGapKq7N+zgdgURbyj83P3wWb2gcRZ1w==}
|
||||
/slacc-linux-arm-gnueabihf@0.0.10:
|
||||
resolution: {integrity: sha512-9lTM3DGtISQlZYSKrMuQyKCiUnHYRcy04mY6HF1ywYcQ2sqfv3bKEnrypVewepIFUtytlIGzkgpiUAk/ghYGoA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
@ -19159,8 +19196,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-linux-arm64-gnu@0.0.9:
|
||||
resolution: {integrity: sha512-x7v0rDe0KNVe1Hl6/XCtkCpqdT283pyVaUmk+af0AnoesNRjYEK8DBc8i53N4nhotionHzPIZfu5gPAFkf6RhA==}
|
||||
/slacc-linux-arm64-gnu@0.0.10:
|
||||
resolution: {integrity: sha512-qXrNWSINXOjHRO3c9idGm8DeOAjAjG1xHY8WiplCoHWgsZf3E7V+sPhWqRUaGQEvftsJg40+cFYREBaLQhpAVQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -19168,8 +19205,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-linux-arm64-musl@0.0.9:
|
||||
resolution: {integrity: sha512-jyq/ylITHIXTQX5ZqAbi7Mn5SdRgYJi+uEoUCi5UhoXb9LjpNzhkFuY29Je3IkVIIV7AEcAxIlvjdymXdzcF5w==}
|
||||
/slacc-linux-arm64-musl@0.0.10:
|
||||
resolution: {integrity: sha512-3lUX7752f6Okn54aONioaA+9M5TvifqXBAart+u2lNXEdWmmh003cVSU2Vcwg7nJ9lLHtju2DkDmKKfJjFuShA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -19177,8 +19214,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-linux-x64-gnu@0.0.9:
|
||||
resolution: {integrity: sha512-Xs/F81H7cKhlIBigFID6CJlgjy0NeDUGV1CI1MI5mSVHsVI8dUO8zXWETjo6o8krJPgfjT5Jd4tAgvUFct5hng==}
|
||||
/slacc-linux-x64-gnu@0.0.10:
|
||||
resolution: {integrity: sha512-BxxvylF9zlOLRLCpiyMvKTIUpdLlpetNBJ+DSMDh5+Ggq+AmQz2NUGawmcBJw58F8nMCj9TpWLlGNWc2AuY+JQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -19186,8 +19223,17 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-win32-arm64-msvc@0.0.9:
|
||||
resolution: {integrity: sha512-C+H0VkKbEEnRbcXRIG5rIaXlg7IZw3o1BbvqA71B8ouQRCu/dNRuH9EQsOYXWltndY42zZi8IupNIwydTUg+Mg==}
|
||||
/slacc-linux-x64-musl@0.0.10:
|
||||
resolution: {integrity: sha512-TYJi8LOtJiTFcZvka4du7bMjF9Bz1RHRwyLnScr5E5yjjgoLRrsvgSu7bxp87xH+rgJ3CdEwE3w3Ux8EiewHpA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-win32-arm64-msvc@0.0.10:
|
||||
resolution: {integrity: sha512-1CHPLiDB4exzFyT5ndtJDsRRhBxNg8mGz6I6eJEMjelGkJR2KZPT9LZuby/1bS/bcVOr7zuJvGNfbEGBeHRwPQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
@ -19195,8 +19241,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc-win32-x64-msvc@0.0.9:
|
||||
resolution: {integrity: sha512-bElMnBbeMatCtVp2/+hBS6Z+846nQImEul9nBEr4gfezHotOM6MqR6PI7UQQzGhozpgwiDg2l1ub1MdOIgYizg==}
|
||||
/slacc-win32-x64-msvc@0.0.10:
|
||||
resolution: {integrity: sha512-wAXBy5yKCAzfYWjVlyPpu6PscD+j4QhCQEy0wZaVuzNyx60HpXWcTZxxVnMR730Y7tfc7cBxSI8NtRb8RguSgg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
@ -19204,22 +19250,23 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/slacc@0.0.9:
|
||||
resolution: {integrity: sha512-BwhjD3daQB3VIx7GxkComMYrnkWuMt4YmDAueMMchblfUUBbP8EcuonJ1Bz9nqtRn1mAH2YPrrRDP95akM+ZuQ==}
|
||||
/slacc@0.0.10:
|
||||
resolution: {integrity: sha512-2jgms2/4mLr1AMq4oloAwPdKQK9RQvgmoEpMIxvC+HeHMwCR0XxB7gr/rKo4iLOKJ6gx02mnBU0JHWcTIonpmA==}
|
||||
engines: {node: '>= 10'}
|
||||
optionalDependencies:
|
||||
slacc-android-arm-eabi: 0.0.9
|
||||
slacc-android-arm64: 0.0.9
|
||||
slacc-darwin-arm64: 0.0.9
|
||||
slacc-darwin-universal: 0.0.9
|
||||
slacc-darwin-x64: 0.0.9
|
||||
slacc-freebsd-x64: 0.0.9
|
||||
slacc-linux-arm-gnueabihf: 0.0.9
|
||||
slacc-linux-arm64-gnu: 0.0.9
|
||||
slacc-linux-arm64-musl: 0.0.9
|
||||
slacc-linux-x64-gnu: 0.0.9
|
||||
slacc-win32-arm64-msvc: 0.0.9
|
||||
slacc-win32-x64-msvc: 0.0.9
|
||||
slacc-android-arm-eabi: 0.0.10
|
||||
slacc-android-arm64: 0.0.10
|
||||
slacc-darwin-arm64: 0.0.10
|
||||
slacc-darwin-universal: 0.0.10
|
||||
slacc-darwin-x64: 0.0.10
|
||||
slacc-freebsd-x64: 0.0.10
|
||||
slacc-linux-arm-gnueabihf: 0.0.10
|
||||
slacc-linux-arm64-gnu: 0.0.10
|
||||
slacc-linux-arm64-musl: 0.0.10
|
||||
slacc-linux-x64-gnu: 0.0.10
|
||||
slacc-linux-x64-musl: 0.0.10
|
||||
slacc-win32-arm64-msvc: 0.0.10
|
||||
slacc-win32-x64-msvc: 0.0.10
|
||||
dev: false
|
||||
|
||||
/slash@3.0.0:
|
||||
|
@ -20982,8 +21029,8 @@ packages:
|
|||
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/vue-component-type-helpers@1.8.5:
|
||||
resolution: {integrity: sha512-SBNsskF7L5x604V1BN4ZzdTtWgCqo5cfl//YuBXtc3LLyPdFRqUeJn2Q+FPNmCtl23LBT2tH79M/uv13fL0MgQ==}
|
||||
/vue-component-type-helpers@1.8.6:
|
||||
resolution: {integrity: sha512-vKWeoKVEV51ZzoB8+UY0apMXiifbPQxWlcZlvQRDVdiOHmEkCBClWeIGbqQ8cCR9P4j+oCyLW87sraZFMz/qnA==}
|
||||
dev: true
|
||||
|
||||
/vue-docgen-api@4.64.1(vue@3.3.4):
|
||||
|
@ -21585,8 +21632,8 @@ packages:
|
|||
react-dom: 18.2.0(react@18.2.0)
|
||||
dev: true
|
||||
|
||||
github.com/misskey-dev/summaly/77dd5654bb82280b38c1f50e51a771c33f3df503:
|
||||
resolution: {tarball: https://codeload.github.com/misskey-dev/summaly/tar.gz/77dd5654bb82280b38c1f50e51a771c33f3df503}
|
||||
github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc:
|
||||
resolution: {tarball: https://codeload.github.com/misskey-dev/summaly/tar.gz/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc}
|
||||
name: summaly
|
||||
version: 4.0.2
|
||||
dependencies:
|
||||
|
|
Loading…
Reference in New Issue