Merge branch 'develop' into feat/scylladb

This commit is contained in:
ThatOneCalculator 2023-12-04 23:16:13 -08:00
commit be7bd1764d
No known key found for this signature in database
GPG key ID: 8703CACD01000000
3787 changed files with 2922 additions and 1247 deletions

View file

@ -1 +0,0 @@
v18.16.0

1
.npmrc
View file

@ -1 +0,0 @@
use-lockfile-v6=true

View file

@ -1,4 +0,0 @@
{
"$schema": "http://json.schemastore.org/vsls",
"gitignore": "exclude"
}

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
## Install dev and compilation dependencies, build files
FROM node:20 as build
FROM node:20-slim as build
WORKDIR /firefish
# Install compilation dependencies
@ -50,11 +50,11 @@ RUN env NODE_ENV=production sh -c "pnpm run --filter '!native-utils' build && pn
RUN pnpm i --prod --frozen-lockfile
## Runtime container
FROM node:20
FROM node:20-slim
WORKDIR /firefish
# Install runtime dependencies
RUN apt-get update && apt-get install -y libvips-dev zip unzip tini ffmpeg
RUN apt-get update && apt-get install -y --no-install-recommends libvips-dev zip unzip tini ffmpeg
COPY . ./

View file

@ -2,7 +2,9 @@ version: "3"
services:
web:
image: registry.joinfirefish.org/firefish/firefish
# Choose one of these tags:
# stable-amd64, stable-arm64, beta-amd64, beta-arm64
image: registry.joinfirefish.org/firefish/firefish:stable-amd64
container_name: firefish_web
restart: unless-stopped
depends_on:

View file

@ -4,6 +4,11 @@ Breaking changes are indicated by the :warning: icon.
## v1.0.5 (unreleased)
### dev21
- `admin/update-meta` can now take `moreUrls` parameter, and response of `admin/meta` now includes `moreUrls`
- These URLs are used for the help menu ([related merge request](https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10640))
### dev18
- :warning: response of `meta` no longer includes the following:

View file

@ -52,7 +52,7 @@ gulp.task("build:backend:script", () => {
"./packages/backend/src/server/web/bios.js",
"./packages/backend/src/server/web/cli.js",
])
.pipe(replace("LANGS", JSON.stringify(Object.keys(locales))))
.pipe(replace("SUPPORTED_LANGS", JSON.stringify(Object.keys(locales))))
.pipe(
terser({
toplevel: true,

View file

@ -112,7 +112,7 @@ you: "Tu"
clickToShow: "Fes clic per a mostrar"
sensitive: "NSFW"
add: "Afegeix"
reaction: "Reaccions"
reaction: "Reacció"
reactionSetting: "Reaccions a mostrar al selector de reaccions"
reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem
\"+\" per afegir."
@ -792,11 +792,11 @@ customEmojis: Emojis personalitzats
cacheRemoteFilesDescription: Quan aquesta opció està desactivada, els fitxers remots
es carreguen directament del servidor remot. Desactivar-la farà que baixi l'ús d'emmagatzematge,
però incrementa el tràfic, perquè les miniatures no es generaran.
flagAsBot: Marca aquest compte com a bot
flagAsBot: Marca aquest compte com automatitzat
flagAsBotDescription: Activa aquesta opció si aquest compte és controlat per un programa.
Si s'activa, això actuarà com una bandera per a altres desenvolupadors i ajuda a
prevenir cadenes de interaccions infinites amb altres bots a més d'ajustar els sistemes
interns de Firefish per tractar aquest compte com un bot.
prevenir cadenes de interaccions infinites amb altres comptes automatitzats a més
d'ajustar els sistemes interns de Firefish per tractar aquest compte com automatitzat.
flagAsCat: Ets un gat? 🐱
flagShowTimelineReplies: Mostra respostes a la línia de temps
flagAsCatDescription: Guanyaràs unes orelles de gat i parlares com un gat!
@ -895,7 +895,7 @@ nUsersRead: llegit per {n}
agreeTo: Estic d'acord amb {0}
activity: Activitat
home: Inici
remoteUserCaution: La informació dels usuaris remots pot estar incompleta.
remoteUserCaution: La informació dels usuaris remots és incompleta.
themeForDarkMode: Tema a fer servir en mode fosc
light: Clar
registeredDate: Data de registre
@ -1051,7 +1051,7 @@ popularTags: Etiquetes populars
about: Sobre
recentlyUpdatedUsers: Usuaris actius fa poc
recentlyRegisteredUsers: Usuaris registrats fa poc
recentlyDiscoveredUsers: Nous suaris descoberts
recentlyDiscoveredUsers: Nous usuaris descoberts
administrator: Administrador
token: Token
registerSecurityKey: Registreu una clau de seguretat
@ -2127,7 +2127,7 @@ clipsDesc: Els clips són com marcadors categoritzats que es poden compartir. Po
selectChannel: Selecciona un canal
isLocked: Aquest compte té les següents aprovacions
isPatron: Mecenes de Firefish
isBot: Aquest compte és un bot
isBot: Aquest es un compte automatitzat
isModerator: Moderador
isAdmin: Administrador
_filters:
@ -2199,3 +2199,19 @@ openServerInfo: Mostra la informació del servidor fent clic al símbol del serv
en un missatge
vibrate: Activar vibracions
clickToShowPatterns: Fes clic per veure patrons de mòduls
iconSet: Conjunt d'Icones
_iconSets:
fill: Omplerts
regular: Normals
bold: Negreta
duotone: Bitó
light: Prims
showAttachedNotes: Mostrar publicacions que contenen aquest fitxer
reactions: Reaccions
attachedToNotes: Publicacions que contenen aquest fitxer
replies: Respostes
quotes: Cites
renotes: Impulsos
moreUrls: Pàgines fixades
moreUrlsDescription: "Introdueix les pàgines que vols fixar al menú d'ajuda a la part
inferior esquerra fent servir aquesta notació:\n\"Nom a mostrar\": https://example.com/"

View file

@ -2218,3 +2218,4 @@ openServerInfo: Anzeigen von Serverinformationen durch Anklicken des Server-Tick
in einem Beitrag
vibrate: Vibrationen abspielen
clickToShowPatterns: Klicken um Modul-Muster anzuzeigen
replies: Antworten

View file

@ -312,7 +312,7 @@ agreeTo: "I agree to {0}"
tos: "Terms of Service"
start: "Begin"
home: "Home"
remoteUserCaution: "Information from remote users may be incomplete."
remoteUserCaution: "Information from remote users are incomplete."
activity: "Activity"
images: "Images"
birthday: "Birthday"
@ -1156,6 +1156,8 @@ detectPostLanguage: "Automatically detect the language and show a translate butt
vibrate: "Play vibrations"
openServerInfo: "Show server information by clicking the server ticker on a post"
iconSet: "Icon set"
useEmojiCdn: "Get Twemoji from CDN"
useEmojiCdnDescription: "Use Twemoji from the JSDelivr CDN instead of the server's assets."
_sensitiveMediaDetection:
description: "Reduces the effort of server moderation through automatically recognizing
@ -2161,3 +2163,5 @@ _iconSets:
regular: "Regular"
fill: "Filled"
duotone: "Duotone"
moreUrls: "Pinned pages"
moreUrlsDescription: "Enter the pages you want to pin to the help menu in the lower left corner using this notation:\n\"Display name\": https://example.com/"

View file

@ -1219,6 +1219,13 @@ _wordMute:
soft: "Suave"
hard: "Duro"
mutedNotes: "Publicaciones silenciadas"
muteLangsDescription2: 'Utilizar códigos de idioma, por ejemplo: en, fr, ja, zh.'
lang: Idioma
langDescription: Ocultar publicaciones de linea de tiempo que coincidan con el idioma
seleccionado.
muteLangs: Idiomas silenciados
muteLangsDescription: Separar con espacios o saltos de lineas para una condición
OR
_instanceMute:
instanceMuteDescription: "Silencia todas las publicaciones e impusos de los servidores
seleccionados, incluyendo respuestas a los usuarios de las mismas."
@ -2162,3 +2169,15 @@ silencedWarning: Esta página se muestra debido a que estos usuarios son de serv
que tu administrador ha silenciado, ya que son presumiblemente fuente de spam.
isBot: Esta cuenta es un bot
clickToShowPatterns: Haz clic para mostrar patrones de módulos
detectPostLanguage: Detectar automáticamente el idioma y mostrar el botón de traducción
para publicaciones en otros idiomas
indexableDescription: Permitir que el buscador integrado muestre tus publicaciones
reactions: Reacciones
exportZip: Exportar ZIP
emojiPackCreator: Creador de pack de Emoji
importZip: Importar ZIP
vibrate: Reproducir vibraciones
openServerInfo: Mostrar información del servidor al presionar el simbolo del servidor
en una publicación
languageForTranslation: Traducción de publicaciones
confirm: Confirmar

View file

@ -278,8 +278,7 @@ agreeTo: "Saya setuju kepada {0}"
tos: "Syarat dan ketentuan"
start: "Mulai"
home: "Beranda"
remoteUserCaution: "Informasi ini mungkin tidak mutakhir, karena pengguna ini berasal
dari instansi luar."
remoteUserCaution: "Informasi dari pengguna luar tidak lengkap."
activity: "Aktivitas"
images: "Gambar"
birthday: "Tanggal lahir"
@ -2192,3 +2191,8 @@ reactions: Reaksi
replies: Balasan
quotes: Kutipan
renotes: Postingan ulang
showAttachedNotes: Tampilkan postingan dengan berkas ini
attachedToNotes: Posting dengan berkas ini
moreUrls: Halaman tersemat
moreUrlsDescription: "Masukkan halaman yang ingin kamu sematkan ke menu bantuan di
pojok kiri bawah dengan notasi ini:\n\"Nama tampilan\": https://contoh.com/"

View file

@ -268,7 +268,7 @@ agreeTo: "Sono d'accordo con {0}"
tos: "Termini d'uso"
start: "Inizia"
home: "Home"
remoteUserCaution: "Le informazioni degli utenti remoti possono essere incomplete."
remoteUserCaution: "Le informazioni degli utenti remoti sono incomplete."
activity: "Attività"
images: "Immagini"
birthday: "Compleanno"
@ -2180,3 +2180,5 @@ reactions: Reazioni
replies: Risposte
quotes: Citazioni
renotes: Boost
showAttachedNotes: Mostra i post con questo allegato
attachedToNotes: Post con questo allegato

View file

@ -994,6 +994,8 @@ addRe: "閲覧注意の投稿への返信で、注釈の先頭に\"re:\"を追
languageForTranslation: "投稿翻訳に使用する言語"
detectPostLanguage: "投稿の言語を自動検出し、外国語の投稿に翻訳ボタンを表示する"
iconSet: "アイコンのスタイル"
useEmojiCdn: "CDN から Twemoji を使用する"
useEmojiCdnDescription: "サーバーのアセットではなく、JSDelivr CDN から Twemoji を使用してください。"
_sensitiveMediaDetection:
description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てられます。サーバーの負荷が少し増えます。"
@ -2003,3 +2005,5 @@ _iconSets:
regular: "標準"
fill: "塗りつぶし"
duotone: "2色"
moreUrls: "固定するページ"
moreUrlsDescription: "左下のヘルプメニューに固定したいページを以下の形式で、改行区切りで入力してください:\n\"表示名\": https://example.com/"

View file

@ -1,25 +1,26 @@
_lang_: "ภาษาไทย"
headlineFirefish: "เชื่อมต่อเครือข่ายโดยโน้ต"
introFirefish: "ยินดีต้อนรับค่ะ/ครับ! Firefish เป็นแพลตฟอร์มโซเชียลมีเดียแบบโอเพ่นซอร์สที่มีการกระจายอำนาจซึ่งให้บริการฟรีตลอดไป!
headlineFirefish: "แพลตฟอร์มโซเชียลมีเดียแบบโอเพนซอร์สที่มีการกระจายอำนาจซึ่งให้บริการฟรีตลอดไป!
🚀"
introFirefish: "ยินดีต้อนรับค่ะ/ครับ! Firefish เป็นแพลตฟอร์มโซเชียลมีเดียแบบโอเพนซอร์สที่มีการกระจายอำนาจซึ่งให้บริการฟรีตลอดไป!
🚀"
monthAndDay: "{เดือน}/{วัน}"
search: "ค้นหา"
notifications: "การเเจ้งเตือน"
username: "ชื่อผู้ใช้"
password: "รหัสผ่าน"
forgotPassword: "ลืมรหัสผ่านอ่ะ"
fetchingAsApObject: "กำลังดึงข้อมูล จาก เฟดิเวิร์ส"
forgotPassword: "ลืมรหัสผ่าน"
fetchingAsApObject: "กำลังดึงข้อมูลจากเฟดิเวิร์ส"
ok: "ตกลง"
gotIt: "เข้าใจแล้ว !"
cancel: "ยกเลิก"
enterUsername: "ใส่ชื่อผู้ใช้"
renotedBy: "บูตเตอร์โดย {user}"
renotedBy: "บูสต์โดย {user}"
noNotes: "ไม่มีโพสต์"
noNotifications: "ไม่มีการแจ้งเตือน"
instance: "เซิฟเวอร์"
instance: "เซิร์ฟเวอร์"
settings: "การตั้งค่า"
basicSettings: "การตั้งค่าพื้นฐาน"
otherSettings: "การตั้งค่าอื่นๆ"
otherSettings: "การตั้งค่าอื่น ๆ"
openInWindow: "เปิดในหน้าต่าง"
profile: "โปรไฟล์"
timeline: "ไทม์ไลน์"
@ -28,14 +29,14 @@ login: "เข้าสู่ระบบ"
loggingIn: "กำลังเข้าสู่ระบบ"
logout: "ออกจากระบบ"
signup: "สร้างบัญชีผู้ใช้"
uploading: "กำลังอัโหลด..."
uploading: "กำลังอัโหลด..."
save: "บันทึก"
users: "ผู้ใช้งาน"
addUser: "เพิ่มผู้ใช้"
favorite: "รายการโปรด"
favorite: "เพิ่มลงในรายการโปรด"
favorites: "รายการโปรด"
unfavorite: "ลบออกจากรายการโปรด"
favorited: "เพิ่มแล้วในรายการโปรด"
favorited: "เพิ่มในรายการโปรดแล้ว"
alreadyFavorited: "เพิ่มในรายการโปรดอยู่แล้ว"
cantFavorite: "ไม่สามารถเพิ่มในรายการโปรดได้"
pin: "ปักหมุดไปยังโปรไฟล์"
@ -55,22 +56,22 @@ loadMore: "โหลดเพิ่มเติม"
showMore: "แสดงเพิ่มเติม"
showLess: "ปิด"
youGotNewFollower: "ได้ติดตามคุณ"
receiveFollowRequest: "คำขอผู้ติดตามที่ได้รับ"
followRequestAccepted: "ผู้ติดตามได้ตอบรับคำขอร้องของคุณแล้ว"
receiveFollowRequest: "ได้รับคำขอติดตาม"
followRequestAccepted: "ผู้ติดตามได้ตอบรับคำขอของคุณแล้ว"
mention: "กล่าวถึง"
mentions: "พูดถึง"
mentions: "กล่าวถึง"
directNotes: "ไดเร็คข้อความ"
importAndExport: "นำเข้า / ส่งออก"
import: "การนำเข้า"
export: "การนำออก"
importAndExport: "นำเข้า / ส่งออกข้อมูล"
import: "นำเข้า"
export: "ส่งออก"
files: "ไฟล์"
download: "ดาวน์โหลด"
driveFileDeleteConfirm: "คุณแน่ใจแล้วหรอว่าต้องการลบไฟล์ \"{name}\"? โพสต์ย่อที่แนบมากับไฟล์นี้ก็จะถูกลบด้วยนะ"
unfollowConfirm: "คุณแน่ใจแล้วหรอว่าต้องการเลิกติดตาม {name}?"
exportRequested: "เมื่อคุณได้ร้องขอการส่งออก อาจจะต้องใช้เวลาสักครู่ และจะถูกเพิ่มในไดรฟ์ของคุณเมื่อเสร็จสิ้นแล้ว"
importRequested: "เมื่อคุณได้ร้องขอการนำเข้า อาจจะต้องใช้เวลาสักครู่นะ"
lists: "รายการ"
noLists: "คุณไม่มีลิสต์ใดนะ"
importRequested: "คุณได้ร้องขอการนำเข้า อาจจะต้องใช้เวลาสักครู่นะ"
lists: "ลิสต์"
noLists: "คุณไม่มีลิสต์ใด ๆ"
note: "โพสต์"
notes: "โพสต์"
following: "กำลังติดตาม"
@ -79,64 +80,64 @@ followsYou: "ติดตามคุณ"
createList: "สร้างลิสต์"
manageLists: "จัดการลิสต์"
error: "ผิดพลาด"
somethingHappened: "อุ๊ย ! มีอะไรบางอย่างผิดพลาด"
somethingHappened: "เกิดข้อผิดพลาด"
retry: "ลองใหม่อีกครั้ง"
pageLoadError: "เกิดข้อผิดพลาดในการโหลดหน้านี้"
pageLoadErrorDescription: "โดยปกติแล้วมักจะเกิดจากข้อผิดพลาดของเครือข่ายหรือแคชของเบราว์เซอร์
ลองล้างแคชแล้วลองใหม่อีกครั้งหลังจากรอสักครู่นะ"
serverIsDead: "เซิร์ฟเวอร์นี้ไม่มีการตอบสนอง ได้โปรดกรุณารอสักครู่แล้วลองใหม่อีกครั้งนะ"
youShouldUpgradeClient: "หากต้องการดูหน้านี้ได้โปรดกรุณา รีเซ็ตเพื่ออัปเดตไคลเอ็นต์ของคุณนะ"
enterListName: "ใส่ชื่อสำหรับรายการลิสต์"
serverIsDead: "เซิร์ฟเวอร์นี้ไม่มีการตอบสนอง กรุณารอสักครู่แล้วลองใหม่อีกครั้งนะ"
youShouldUpgradeClient: "หากต้องการดูหน้านี้ กรุณารีเฟรชเพื่ออัปเดตไคลเอ็นต์ของคุณ"
enterListName: "ใส่ชื่อสำหรับลิสต์"
privacy: "ความเป็นส่วนตัว"
makeFollowManuallyApprove: "ติดตามคำขอที่ต้องได้รับการอนุมัติ"
makeFollowManuallyApprove: "คำขอติดตามต้องได้รับการอนุมัติ"
defaultNoteVisibility: "การมองเห็นที่เป็นค่าเริ่มต้น"
follow: "กำลังติดตาม"
follow: "ติดตาม"
followRequest: "คำขอติดตาม"
followRequests: "ติดตามการร้องขอ"
followRequests: "การติดตามที่ร้องขอ"
unfollow: "เลิกติดตาม"
followRequestPending: "กำลังรอดำเนินการร้องขอติดตาม"
enterEmoji: "ใส่อีโมจิ"
renote: "บูสต์"
unrenote: "เลิกบูสต์"
renoted: "บูสต์แล้ว"
cantRenote: "โพสต์นี้ไม่สามารถบูสต์ใหม่ได้"
cantReRenote: "ไม่สามารถบูสต์ไว้ใหม่ได้"
quote: "อ้างคำพูด"
cantRenote: "โพสต์นี้ไม่สามารถบูสต์ได้"
cantReRenote: "ไม่สามารถบูสต์การบูสต์ได้"
quote: "โควต"
pinnedNote: "โพสต์ที่ปักหมุดแล้ว"
pinned: "ปักหมุดไปยังโปรไฟล์"
you: "ตัวเอง"
you: "คุณ"
clickToShow: "คลิกเพื่อแสดง"
sensitive: "เนื้อหาที่ละเอียดอ่อน NSFW"
sensitive: "เนื้อหาที่ละเอียดอ่อน"
add: "เพิ่ม"
reaction: "รีแอคชัน"
reactionSetting: "รีแอคชั่นไปยังแสดงผลในตัวเลือกการรีแอคชัน"
reactionSettingDescription2: "กดลากเพื่อจัดลำดับใหม่ กดคลิกเพื่อลบ กด \"+\" เพื่อเพิ่ม"
reaction: "รีแอคชัน"
reactionSetting: "รีแอคชันที่จะแสดงผลในตัวเลือกการรีแอคชัน"
reactionSettingDescription2: "ลากเพื่อจัดลำดับใหม่ คลิกเพื่อลบ กด \"+\" เพื่อเพิ่ม"
rememberNoteVisibility: "จดจำการตั้งค่าการมองเห็นโพสต์"
attachCancel: "ลบไฟล์ออกที่แนบมา"
attachCancel: "ลบไฟล์ที่แนบมา"
markAsSensitive: "ทำเครื่องหมายว่าละเอียดอ่อน"
unmarkAsSensitive: "ยกเลิกทำเครื่องหมายเป็น NSFW"
unmarkAsSensitive: "ยกเลิกทำเครื่องหมายว่าละเอียดอ่อน"
enterFileName: "พิมพ์ชื่อไฟล์"
mute: "ปิดเสียง"
unmute: "ไม่ปิดเสียง"
unmute: "ยกเลิกการปิดเสียง"
block: "บล็อค"
unblock: "เลิกปิดกั้น"
unblock: "เลิกบล็อค"
suspend: "ถูกระงับ"
unsuspend: "ยกเลิกระงับ"
blockConfirm: "คุณแน่ใจแล้วเหรอ ว่าต้องการบล็อบัญชีนี้?"
blockConfirm: "คุณแน่ใจแล้วเหรอ ว่าต้องการบล็อบัญชีนี้?"
unblockConfirm: "คุณแน่ใจแล้วเหรอ ว่าต้องการปลดบล็อคบัญชีนี้?"
suspendConfirm: "คุณแน่ใจแล้วเหรอว่าต้องการระงับบัญชีนี้อ่ะ?"
suspendConfirm: "คุณแน่ใจแล้วเหรอว่าต้องการระงับบัญชีนี้?"
unsuspendConfirm: "คุณแน่ใจแล้วหรอว่าต้องการยกเลิกการระงับบัญชีนี้?"
selectList: "เลือกรายการ"
selectList: "เลือกลิสต์"
selectAntenna: "เลือกเสาอากาศ"
selectWidget: "เลือกวิดเจ็ต"
editWidgets: "แก้ไขวิดเจ็ต"
editWidgetsExit: "เรียบร้อย"
customEmojis: "กำหนดอีโมจิเอง"
customEmojis: "อีโมจิที่กำหนดเอง"
emoji: "อีโมจิ"
emojis: "อีโมจิ"
emojiName: "ชื่ออิโมจิ"
emojiUrl: "อิโมจิ URL"
addEmoji: "แทรกอีโมจิ"
emojiUrl: "URL ของอิโมจิ"
addEmoji: "เพิ่มอีโมจิ"
settingGuide: "การตั้งค่าที่แนะนำ"
cacheRemoteFiles: "แคชไฟล์ระยะไกล"
cacheRemoteFilesDescription: "เมื่อปิดใช้งานการตั้งค่านี้ ไฟล์ระยะไกลนั้นจะถูกโหลดโดยตรงจากระยะไกลเซิฟเวอร์
@ -1245,22 +1246,27 @@ _deck:
list: "รายการ"
mentions: "พูดถึง"
noThankYou: ไม่ล่ะขอบคุณ
removeReaction: ลบรีเเอดชั่นของคุณ
renoteMute: ปิดเสียงบูส
renoteUnmute: เลิกปิดเสียงบูส
removeReaction: ลบรีเเอคชันของคุณ
renoteMute: ปิดเสียงบูสต์
renoteUnmute: เลิกปิดเสียงบูสต์
manageGroups: จัดการกลุ่ม
addInstance: เพิ่มเซิฟเวอร์
searchPlaceholder: ค้นหา Firefish
addInstance: เพิ่มเซิร์ฟเวอร์
searchPlaceholder: ค้นหาใน Firefish
deleted: ลบแล้ว
editNote: แก้ไขโพสต์
edited: แก้ไขแล้วเมื่อ {date} {time}
jumpToPrevious: ข้ามไปที่ก่อนหน้านี้
listsDesc: ลิสต์รายการนั้นช่วยให้คุณได้สร้างไทม์ไลน์กับผู้ใช้ที่ระบุได้นะ ยังสามารถเข้าถึงได้จากหน้าไทม์ไลน์ได้อีกด้วย
enableEmojiReactions: เปิดใช้งานรีแอดชั่นอีโมจิ
listsDesc: ลิสต์นั้นช่วยให้คุณได้สร้างไทม์ไลน์กับผู้ใช้ที่ระบุได้ คุณสามารถเข้าถึงได้จากหน้าไทม์ไลน์
enableEmojiReactions: เปิดใช้งานรีแอคชันอีโมจิ
selectChannel: เลือกช่อง
older: เก่ากว่านี้
newer: ใหม่กว่านี้
older: เก่ากว่า
newer: ใหม่กว่า
selectInstance: เลือกเซิฟเวอร์
showEmojisInReactionNotifications: แสดงอิโมจิในการแจ้งเตือนรีแอคชั
showEmojisInReactionNotifications: แสดงอิโมจิในการแจ้งเตือนรีแอคชั
flagSpeakAsCat: พูดเหมือนแมว
cw: คำเตือนเนื้อหา
reactions: รีแอคชัน
replies: การตอบกลับ
quotes: โควต
clickToShowPatterns: คลิกเพื่อแสดงรูปแบบโมดูล
renotes: บูสต์

View file

@ -2001,3 +2001,5 @@ _iconSets:
bold: 粗線
duotone: 雙色
light: 細線
showAttachedNotes: 顯示有此附件的貼文
attachedToNotes: 帶有此附件的貼文

View file

@ -1,12 +1,12 @@
{
"name": "firefish",
"version": "1.0.5-dev21",
"version": "1.0.5-rc",
"codename": "aqua",
"repository": {
"type": "git",
"url": "https://git.joinfirefish.org/firefish/firefish.git"
},
"packageManager": "pnpm@8.10.5",
"packageManager": "pnpm@8.11.0",
"private": true,
"scripts": {
"rebuild": "pnpm run clean && pnpm run build",
@ -66,7 +66,7 @@
"gulp-replace": "1.1.4",
"gulp-terser": "2.1.0",
"install-peers": "^1.0.4",
"pnpm": "8.10.5",
"pnpm": "8.11.0",
"start-server-and-test": "2.0.3",
"typescript": "5.2.2"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 889 B

After

Width:  |  Height:  |  Size: 889 B

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Some files were not shown because too many files have changed in this diff Show more