diff --git a/Cargo.lock b/Cargo.lock index 57b3e7f..a8ac001 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-channel" @@ -397,9 +397,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.3" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" [[package]] name = "byteorder" @@ -427,12 +427,13 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" [[package]] name = "cc" -version = "1.1.7" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -549,15 +550,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -666,17 +667,18 @@ dependencies = [ [[package]] name = "cuid-util" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea2bfe0336ff1b7ca74819b2df8dfae9afea358aff6b1688baa5c181d8c3713" +checksum = "1d59a706635108a7e8eaae7ec8e6154504fafa4a415ef38690d94fccea051757" [[package]] name = "cuid2" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d99cacd52fd67db7490ad051c8c1973fb75520174d69aabbae08c534c9d0e8" +checksum = "50e281dc36864ea88fae2ec4e21eb280e8239487acb1ddc59b528b0afa7997bd" dependencies = [ "cuid-util", + "getrandom", "num", "rand", "sha3", @@ -948,9 +950,19 @@ dependencies = [ [[package]] name = "error-doc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6ecb74b1f4f3bbe7256b096a7ae9f7ce8f38558659b6624b7ad04e35919cf2e" +dependencies = [ + "error-doc-impl", + "thiserror", +] + +[[package]] +name = "error-doc-impl" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ffaad84523e0144697672bce3a0d8e300fd43404a630d420f238e2ef2e85b84" +checksum = "7a10557d7f42ee2e042f39b7bcfac19f1c4fad711e364a5ed9f9d7b6fa71b481" dependencies = [ "proc-macro2", "quote", @@ -1567,9 +1579,9 @@ checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126" [[package]] name = "indexmap" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown", @@ -1685,9 +1697,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -1758,9 +1770,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.157" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "374af5f94e54fa97cf75e945cce8a6b201e88a1a07e688b47dfd2a59c66dbd86" [[package]] name = "libfuzzer-sys" @@ -1812,9 +1824,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "libc", @@ -1877,6 +1889,7 @@ name = "macros-impl" version = "0.0.0" dependencies = [ "convert_case", + "proc-macro-tester", "proc-macro2", "quote", "syn 2.0.75", @@ -1932,9 +1945,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi", "libc", @@ -2176,9 +2189,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.2" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -2582,6 +2595,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-tester" +version = "0.1.0-alpha.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe34f46c8f3754bfd1f73ec173dbf2e140fa43ece1f96ad81c02524f8c26b92a" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -2627,9 +2650,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2814,9 +2837,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.47" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12bc8d2f72df26a5d3178022df33720fbede0d31d82c7291662eff89836994d" +checksum = "0f86ae463694029097b846d8f99fd5536740602ae00022c0c50c5600720b2f71" dependencies = [ "bytemuck", ] @@ -3127,9 +3150,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "b3b863381a05ffefbc82571a2d893edf47b27fb0ebedbf582c39640e51abebef" dependencies = [ "itoa", "memchr", @@ -3200,6 +3223,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -3630,9 +3659,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4115055da5f572fff541dd0c4e61b0262977f453cc9fe04be83aba25a89bdab" +checksum = "2b92e0bdf838cbc1c4c9ba14f9c97a7ec6cdcd1ae66b10e1e42775a25553f45d" dependencies = [ "core-foundation-sys", "libc", @@ -3662,15 +3691,15 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand 2.1.0", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4128,19 +4157,20 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", @@ -4153,9 +4183,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4163,9 +4193,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", @@ -4176,9 +4206,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "web-push" @@ -4326,6 +4356,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" diff --git a/Cargo.toml b/Cargo.toml index 29d4985..c72ed7d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,9 +21,9 @@ bb8 = { version = "0.8.5", default-features = false } bcrypt = { version = "0.15.1", default-features = false } chrono = { version = "0.4.38", default-features = false } convert_case = { version = "0.6.0", default-features = false } -cuid2 = { version = "0.1.2", default-features = false } +cuid2 = { version = "0.1.3", default-features = false } emojis = { version = "0.6.3", default-features = false } -error-doc = { version = "0.1.0" } +error-doc = { version = "0.2.0" } futures-util = { version = "0.3.30", default-features = false } identicon-rs = "5.0.1" idna = { version = "1.0.2", default-features = false } @@ -32,18 +32,19 @@ isahc = { version = "1.7.2", default-features = false } nom-exif = { version = "1.3.0", default-features = false } once_cell = { version = "1.19.0", default-features = false } pretty_assertions = { version = "1.4.0", default-features = false } +proc-macro-tester = { version = "0.1.0-alpha.1", default-features = false } proc-macro2 = { version = "1.0.86", default-features = false } -quote = { version = "1.0.36", default-features = false } +quote = { version = "1.0.37", default-features = false } rand = { version = "0.8.5", default-features = false } redis = { version = "0.26.1", default-features = false } regex = { version = "1.10.6", default-features = false } rmp-serde = { version = "1.3.0", default-features = false } sea-orm = { version = "1.0.0", default-features = false } serde = { version = "1.0.208", default-features = false } -serde_json = { version = "1.0.125", default-features = false } +serde_json = { version = "1.0.126", default-features = false } serde_yaml = { version = "0.9.34", default-features = false } syn = { version = "2.0.75", default-features = false } -sysinfo = { version = "0.31.2", default-features = false } +sysinfo = { version = "0.31.3", default-features = false } thiserror = { version = "1.0.63", default-features = false } tokio = { version = "1.39.3", default-features = false } tokio-test = { version = "0.4.4", default-features = false } diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index bb39683..3919dcc 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -51,7 +51,7 @@ addToList: "Afegeix a la llista" sendMessage: "Envia un missatge" copyUsername: "Copia el nom d'usuari" searchUser: "Cerca un usuari" -reply: "Resposta" +reply: "Respon" loadMore: "Carrega'n més" showMore: "Mostra'n més" youGotNewFollower: "t'ha seguit" @@ -110,7 +110,7 @@ pinnedNote: "Publicació fixada" pinned: "Fixa al perfil" you: "Tu" clickToShow: "Fes clic per mostrar" -sensitive: "NSFW" +sensitive: "Sensible" add: "Afegeix" reaction: "Reacció" reactionSetting: "Reaccions per mostrar al selector de reaccions" @@ -118,8 +118,8 @@ reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, pr \"+\" per afegir." rememberNoteVisibility: "Recorda la configuració de visibilitat de les publicacions" attachCancel: "Elimina el fitxer adjunt" -markAsSensitive: "Marca com a NSFW" -unmarkAsSensitive: "Desmarca com a NSFW" +markAsSensitive: "Marca com a sensible" +unmarkAsSensitive: "Desmarca com a sensible" enterFileName: "Introdueix un nom de fitxer" mute: "Silencia" unmute: "Deixar de silenciar" @@ -129,7 +129,7 @@ suspend: "Suspèn" unsuspend: "Treu la suspensió" instances: "Servidors" remove: "Elimina" -nsfw: "NSFW" +nsfw: "Sensible" pinnedNotes: "Publicacions fixades" userList: "Llistes" smtpUser: "Nom d'usuari" @@ -846,7 +846,7 @@ federating: Federant blocked: Bloquejat subscribing: Subscrivint publishing: Publicant -notResponding: Sense resposta +notResponding: Sense respon instanceUsers: Usuaris d'aquest servidor instanceFollowing: Seguint al servidor instanceFollowers: Seguidors del servidor @@ -1300,7 +1300,7 @@ no: No noCrawle: Rebutjar la indexació dels restrejadors driveUsage: Espai fet servir al Disk noCrawleDescription: Demanar als motors de cerca externs no indexar el teu contingut. -alwaysMarkSensitive: Marcar per defecte com a NSFW +alwaysMarkSensitive: Marcar per defecte com a sensible lockedAccountInfo: Si has configurat la visibilitat del compte per "Només seguidors" les teves publicacions no serien visibles per a ningú més, inclús si has d'aprovar els teus seguidors manualment. @@ -1573,10 +1573,10 @@ sensitiveMediaDetection: Detecció de mitjans NSFW remoteOnly: Només remotes failedToUpload: S'ha produït un error en la càrrega cannotUploadBecauseInappropriate: Aquest fitxer no s'ha pogut carregar perquè s'han - detectat parts d'aquest com a potencialment NSFW. + detectat parts d'aquest com a potencialment sensibles. cannotUploadBecauseNoFreeSpace: La pujada ha fallat a causa de la manca d'espai al Disc. -enableAutoSensitive: Marcatge automàtic NSFW +enableAutoSensitive: Marca automàticament com a sensible moveTo: Mou aquest compte a un compte nou customKaTeXMacro: Macros KaTeX personalitzats _aboutFirefish: @@ -1766,8 +1766,8 @@ defaultReaction: Reacció d'emoji predeterminades per a publicacions sortints i enableCustomKaTeXMacro: Activa les macros KaTeX personalitzades noteId: ID de la publicació _nsfw: - respect: Amaga els mitjans NSFW - ignore: No amagueu els mitjans NSFW + respect: Amaga els mitjans sensibles + ignore: No amagueu els mitjans sensibles force: Amaga tots els mitjans inUse: Utilitzat ffVisibilityDescription: Et permet configurar qui pot veure a qui segueixes i qui @@ -2265,7 +2265,7 @@ publishTimelinesDescription: Si està activat, les línies de temps Global i Loc noAltTextWarning: Alguns fitxers adjunts no tenen una descripció. T'has s oblidat d'escriure-les? showNoAltTextWarning: Mostra un avís si públiques un fitxer sense descripció -toReply: Resposta +toReply: Respondre toQuote: Citar toEdit: Edita searchUsersDescription: "Per buscar publicacions concretes d'un usuari/servidor, escriu @@ -2291,8 +2291,8 @@ incorrectLanguageWarning: "Semblar ser que la teva publicació es troba en {dete markLocalFilesNsfwByDefault: Marcar tots els fitxers locals nous com a sensibles per defecte markLocalFilesNsfwByDefaultDescription: Independentment d'aquest ajust, els usuaris - poden treure l'etiqueta NSFW els mateixos. Els fitxers que ja existeixen no es veuen - afectats. + poden treure els mateixos l'etiqueta de sensible. Els fitxers que ja existeixen + no es veuen afectats. autocorrectNoteLanguage: Mostra un avís si l'idioma de la publicació no coincideix amb el resultat de l'idioma detectat automàticament noteEditHistory: Historial d'edicions diff --git a/package.json b/package.json index bcddd2e..c47f2c6 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "puyoskey", - "version": "v0.1.0-20240818", + "version": "v0.1.0-20240818.snapshot-16d0df49724a614ee912c022d2540c8b7040805f", "repository": { "type": "git", "url": "https://git.v-sli.me/HidemaruOwO/puyoskey.git" }, - "packageManager": "pnpm@9.7.1", + "packageManager": "pnpm@9.8.0", "private": true, "scripts": { "rebuild": "pnpm run clean && pnpm run build", @@ -47,8 +47,8 @@ "@biomejs/cli-darwin-x64": "1.8.3", "@biomejs/cli-linux-arm64": "1.8.3", "@biomejs/cli-linux-x64": "1.8.3", - "@types/node": "20.15.0", + "@types/node": "20.16.1", "execa": "9.3.1", - "pnpm": "9.7.1" + "pnpm": "9.8.0" } } diff --git a/packages/backend-rs/src/cache/redis.rs b/packages/backend-rs/src/cache/redis.rs index dfa5f3f..4b4da21 100644 --- a/packages/backend-rs/src/cache/redis.rs +++ b/packages/backend-rs/src/cache/redis.rs @@ -16,7 +16,7 @@ pub enum Category { Test, } -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("failed to execute Redis command")] Redis(#[from] RedisError), diff --git a/packages/backend-rs/src/database/redis.rs b/packages/backend-rs/src/database/redis.rs index a17271f..7410381 100644 --- a/packages/backend-rs/src/database/redis.rs +++ b/packages/backend-rs/src/database/redis.rs @@ -82,7 +82,7 @@ async fn init_conn_pool() -> Result<(), RedisError> { Ok(()) } -#[macros::errors] +#[error_doc::errors] pub enum RedisConnError { #[error("failed to initialize Redis connection pool")] Redis(RedisError), diff --git a/packages/backend-rs/src/federation/activitypub/object/follow.rs b/packages/backend-rs/src/federation/activitypub/object/follow.rs index 8ac67ee..469f22d 100644 --- a/packages/backend-rs/src/federation/activitypub/object/follow.rs +++ b/packages/backend-rs/src/federation/activitypub/object/follow.rs @@ -11,7 +11,7 @@ pub struct ApFollow { impl ApObject for ApFollow {} -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("follower uri is missing")] MissingFollowerUri, diff --git a/packages/backend-rs/src/federation/activitypub/object/like.rs b/packages/backend-rs/src/federation/activitypub/object/like.rs index 7a786f0..b72c965 100644 --- a/packages/backend-rs/src/federation/activitypub/object/like.rs +++ b/packages/backend-rs/src/federation/activitypub/object/like.rs @@ -7,7 +7,7 @@ use crate::{ }; use sea_orm::{ColumnTrait, DbErr, EntityTrait, QueryFilter, QuerySelect}; -#[macros::errors] +#[error_doc::errors] pub enum Error { #[doc = "Nonexistent note"] #[error("note {0} not found")] diff --git a/packages/backend-rs/src/federation/activitypub/object/relay.rs b/packages/backend-rs/src/federation/activitypub/object/relay.rs deleted file mode 100644 index f3d7656..0000000 --- a/packages/backend-rs/src/federation/activitypub/object/relay.rs +++ /dev/null @@ -1,28 +0,0 @@ -use super::*; -use crate::{config::CONFIG, federation::internal_actor}; -use serde::Serialize; - -#[derive(Serialize)] -#[macros::export(object)] -pub struct FollowRelay { - pub id: String, - pub r#type: Activity, - pub actor: String, - pub object: String, -} - -impl ActivityPubObject for FollowRelay {} - -#[macros::export(js_name = "renderFollowRelay")] -pub async fn follow(relay_id: &str) -> Result { - Ok(FollowRelay { - id: format!("{}/activities/follow-relay/{}", CONFIG.url, relay_id), - r#type: Activity::Follow, - actor: format!( - "{}/users/{}", - CONFIG.url, - internal_actor::relay::get_id().await? - ), - object: "https://www.w3.org/ns/activitystreams#Public".to_owned(), - }) -} diff --git a/packages/backend-rs/src/federation/internal_actor/instance.rs b/packages/backend-rs/src/federation/internal_actor/instance.rs index 8c5a03f..2e1ef19 100644 --- a/packages/backend-rs/src/federation/internal_actor/instance.rs +++ b/packages/backend-rs/src/federation/internal_actor/instance.rs @@ -7,7 +7,7 @@ use tokio::sync::OnceCell; pub const USERNAME: &str = "instance.actor"; static INSTANCE_ACTOR: OnceCell = OnceCell::const_new(); -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("@instance.actor not found")] InstanceActorNotFound, diff --git a/packages/backend-rs/src/federation/internal_actor/relay.rs b/packages/backend-rs/src/federation/internal_actor/relay.rs index 8fe9e95..ad1595a 100644 --- a/packages/backend-rs/src/federation/internal_actor/relay.rs +++ b/packages/backend-rs/src/federation/internal_actor/relay.rs @@ -7,7 +7,7 @@ use tokio::sync::OnceCell; pub const USERNAME: &str = "relay.actor"; static RELAY_ACTOR_ID: OnceCell = OnceCell::const_new(); -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("@relay.actor not found")] RelayActorNotFound, diff --git a/packages/backend-rs/src/federation/nodeinfo/fetch.rs b/packages/backend-rs/src/federation/nodeinfo/fetch.rs index a4e6fcd..28fe1eb 100644 --- a/packages/backend-rs/src/federation/nodeinfo/fetch.rs +++ b/packages/backend-rs/src/federation/nodeinfo/fetch.rs @@ -8,7 +8,7 @@ use isahc::AsyncReadResponseExt; use serde::Deserialize; /// Errors that can occur while fetching NodeInfo from a remote server -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("failed to acquire an HTTP client")] HttpClient(#[from] http_client::Error), diff --git a/packages/backend-rs/src/federation/nodeinfo/generate.rs b/packages/backend-rs/src/federation/nodeinfo/generate.rs index 6dd3e9d..87a5e60 100644 --- a/packages/backend-rs/src/federation/nodeinfo/generate.rs +++ b/packages/backend-rs/src/federation/nodeinfo/generate.rs @@ -143,7 +143,7 @@ pub async fn nodeinfo_2_0() -> Result { } #[macros::for_ts] -#[macros::errors] +#[error_doc::errors] pub enum Error { #[doc = "Database error"] #[error(transparent)] diff --git a/packages/backend-rs/src/misc/convert_host.rs b/packages/backend-rs/src/misc/convert_host.rs index fff1f9f..702873a 100644 --- a/packages/backend-rs/src/misc/convert_host.rs +++ b/packages/backend-rs/src/misc/convert_host.rs @@ -2,7 +2,7 @@ // We may want to (re)implement these functions in the `federation` module // in a Rusty way (e.g., traits of actor type) if needed. -#[macros::errors] +#[error_doc::errors] pub enum Error { #[doc = "UTS #46 process has failed"] #[error(transparent)] diff --git a/packages/backend-rs/src/misc/emoji.rs b/packages/backend-rs/src/misc/emoji.rs deleted file mode 100644 index 47c2e0d..0000000 --- a/packages/backend-rs/src/misc/emoji.rs +++ /dev/null @@ -1,6 +0,0 @@ -//! This module is used in the TypeScript backend only. - -#[macros::ts_export] -pub fn is_unicode_emoji(s: &str) -> bool { - emojis::get(s).is_some() -} diff --git a/packages/backend-rs/src/misc/emoji/reaction.rs b/packages/backend-rs/src/misc/emoji/reaction.rs index afae0a6..3d43b44 100644 --- a/packages/backend-rs/src/misc/emoji/reaction.rs +++ b/packages/backend-rs/src/misc/emoji/reaction.rs @@ -53,7 +53,7 @@ pub fn count_reactions(reactions: &HashMap) -> HashMap res } -#[macros::errors] +#[error_doc::errors] pub enum Error { #[doc = "UTS #46 process has failed"] #[error(transparent)] diff --git a/packages/backend-rs/src/misc/get_image_size.rs b/packages/backend-rs/src/misc/get_image_size.rs index 172ac21..9f2d1fe 100644 --- a/packages/backend-rs/src/misc/get_image_size.rs +++ b/packages/backend-rs/src/misc/get_image_size.rs @@ -7,7 +7,7 @@ use nom_exif::{parse_jpeg_exif, EntryValue, ExifTag}; use std::io::Cursor; use tokio::sync::Mutex; -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("Redis cache operation has failed")] Cache(#[from] cache::redis::Error), diff --git a/packages/backend-rs/src/misc/latest_version.rs b/packages/backend-rs/src/misc/latest_version.rs index 5df10de..1a0a331 100644 --- a/packages/backend-rs/src/misc/latest_version.rs +++ b/packages/backend-rs/src/misc/latest_version.rs @@ -6,7 +6,7 @@ use futures_util::AsyncReadExt; use isahc::AsyncReadResponseExt; use serde::Deserialize; -#[macros::errors] +#[error_doc::errors] pub enum Error { #[error("HTTP request failed")] Isahc(#[from] isahc::Error), diff --git a/packages/backend-rs/src/misc/password.rs b/packages/backend-rs/src/misc/password.rs index 8d6be41..7874ba5 100644 --- a/packages/backend-rs/src/misc/password.rs +++ b/packages/backend-rs/src/misc/password.rs @@ -15,7 +15,7 @@ pub fn hash_password(password: &str) -> Result + + + + + + + + diff --git a/packages/backend/package.json b/packages/backend/package.json index cea4f20..34cf1c9 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -26,15 +26,15 @@ "@koa/router": "13.0.0", "@ladjs/koa-views": "9.0.0", "@peertube/http-signature": "1.7.0", - "@redocly/openapi-core": "1.19.0", + "@redocly/openapi-core": "1.21.0", "@sinonjs/fake-timers": "11.2.2", "adm-zip": "0.5.15", "ajv": "8.17.1", "archiver": "7.0.1", "async-lock": "1.4.1", "async-mutex": "0.5.0", - "aws-sdk": "2.1677.0", - "axios": "1.7.4", + "aws-sdk": "2.1681.0", + "axios": "1.7.5", "backend-rs": "workspace:*", "blurhash": "2.0.5", "bull": "4.16.0", @@ -80,7 +80,7 @@ "nested-property": "4.0.0", "node-fetch": "3.3.2", "nodemailer": "6.9.14", - "otpauth": "9.3.1", + "otpauth": "9.3.2", "parse5": "7.1.2", "pg": "8.12.0", "private-ip": "3.0.2", @@ -133,7 +133,7 @@ "@types/koa__cors": "5.0.0", "@types/koa__multer": "2.0.7", "@types/koa__router": "12.0.4", - "@types/node": "20.15.0", + "@types/node": "20.16.1", "@types/node-fetch": "2.6.11", "@types/nodemailer": "6.4.15", "@types/oauth": "0.9.5", @@ -147,7 +147,7 @@ "@types/random-seed": "0.3.5", "@types/ratelimiter": "3.4.6", "@types/rename": "1.0.7", - "@types/sanitize-html": "2.11.0", + "@types/sanitize-html": "2.13.0", "@types/semver": "7.5.8", "@types/sinonjs__fake-timers": "8.1.5", "@types/syslog-pro": "1.0.3", @@ -165,7 +165,7 @@ "tsconfig-paths": "4.2.0", "type-fest": "4.25.0", "typescript": "5.5.4", - "webpack": "5.93.0", + "webpack": "5.94.0", "ws": "8.18.0" } } diff --git a/packages/client/package.json b/packages/client/package.json index d2d1567..3fef182 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -37,7 +37,7 @@ "autobind-decorator": "2.4.0", "autosize": "6.0.1", "broadcast-channel": "7.0.0", - "chart.js": "4.4.3", + "chart.js": "4.4.4", "chartjs-adapter-date-fns": "3.0.0", "chartjs-chart-matrix": "2.0.1", "chartjs-plugin-gradient": "0.6.1", @@ -45,7 +45,7 @@ "check-password-strength": "2.0.10", "city-timezones": "1.3.0", "compare-versions": "6.1.1", - "cropperjs": "2.0.0-rc.1", + "cropperjs": "2.0.0-rc.2", "date-fns": "3.6.0", "emojilib": "3.0.12", "eventemitter3": "5.0.1", @@ -69,12 +69,12 @@ "punycode": "2.3.1", "qrcode": "1.5.4", "qrcode-vue3": "1.6.8", - "rollup": "4.20.0", + "rollup": "4.21.0", "s-age": "1.1.2", "sass": "1.77.8", "seedrandom": "3.0.5", "stringz": "2.1.0", - "swiper": "11.1.9", + "swiper": "11.1.10", "textarea-caret": "3.1.0", "throttle-debounce": "5.0.2", "tinycolor2": "1.6.0", @@ -82,7 +82,7 @@ "typescript": "5.5.4", "unicode-emoji-json": "0.6.0", "uuid": "10.0.0", - "vite": "5.4.1", + "vite": "5.4.2", "vite-plugin-compression": "0.5.1", "vue": "3.4.38", "vue-draggable-plus": "0.5.3", diff --git a/packages/client/src/components/MkInstanceCardMini.vue b/packages/client/src/components/MkInstanceCardMini.vue index afb64a2..a11c33e 100644 --- a/packages/client/src/components/MkInstanceCardMini.vue +++ b/packages/client/src/components/MkInstanceCardMini.vue @@ -10,7 +10,7 @@ }, ]" > - +
{{ instance.name ?? instance.host }}