mirror of
https://github.com/funamitech/mastodon
synced 2024-12-01 00:08:39 +09:00
Merge branch 'master' into glitch-soc/merge-upstream
This commit is contained in:
commit
1c6c40d17c
207
AUTHORS.md
207
AUTHORS.md
@ -5,62 +5,66 @@ Mastodon is available on [GitHub](https://github.com/tootsuite/mastodon)
|
||||
and provided thanks to the work of the following contributors:
|
||||
|
||||
* [Gargron](https://github.com/Gargron)
|
||||
* [dependabot-preview[bot]](https://github.com/apps/dependabot-preview)
|
||||
* [ThibG](https://github.com/ThibG)
|
||||
* [ykzts](https://github.com/ykzts)
|
||||
* [dependabot[bot]](https://github.com/apps/dependabot)
|
||||
* [akihikodaki](https://github.com/akihikodaki)
|
||||
* [dependabot-preview[bot]](https://github.com/apps/dependabot-preview)
|
||||
* [mjankowski](https://github.com/mjankowski)
|
||||
* [unarist](https://github.com/unarist)
|
||||
* [yiskah](https://github.com/yiskah)
|
||||
* [nolanlawson](https://github.com/nolanlawson)
|
||||
* [ysksn](https://github.com/ysksn)
|
||||
* [abcang](https://github.com/abcang)
|
||||
* [ysksn](https://github.com/ysksn)
|
||||
* [mayaeh](https://github.com/mayaeh)
|
||||
* [sorin-davidoi](https://github.com/sorin-davidoi)
|
||||
* [lynlynlynx](https://github.com/lynlynlynx)
|
||||
* [mayaeh](https://github.com/mayaeh)
|
||||
* [m4sk1n](mailto:me@m4sk.in)
|
||||
* [Marcin Mikołajczak](mailto:me@m4sk.in)
|
||||
* [Kjwon15](https://github.com/Kjwon15)
|
||||
* [noellabo](https://github.com/noellabo)
|
||||
* [renatolond](https://github.com/renatolond)
|
||||
* [alpaca-tc](https://github.com/alpaca-tc)
|
||||
* [jeroenpraat](https://github.com/jeroenpraat)
|
||||
* [nclm](https://github.com/nclm)
|
||||
* [ineffyble](https://github.com/ineffyble)
|
||||
* [mabkenar](https://github.com/mabkenar)
|
||||
* [shleeable](https://github.com/shleeable)
|
||||
* [zunda](https://github.com/zunda)
|
||||
* [Masoud Abkenar](mailto:ampbox@gmail.com)
|
||||
* [blackle](https://github.com/blackle)
|
||||
* [Quent-in](https://github.com/Quent-in)
|
||||
* [JantsoP](https://github.com/JantsoP)
|
||||
* [zunda](https://github.com/zunda)
|
||||
* [nullkal](https://github.com/nullkal)
|
||||
* [yookoala](https://github.com/yookoala)
|
||||
* [Sasha-Sorokin](https://github.com/Sasha-Sorokin)
|
||||
* [Aditoo17](https://github.com/Aditoo17)
|
||||
* [Quenty31](https://github.com/Quenty31)
|
||||
* [marek-lach](https://github.com/marek-lach)
|
||||
* [shuheiktgw](https://github.com/shuheiktgw)
|
||||
* [ashfurrow](https://github.com/ashfurrow)
|
||||
* [eramdam](https://github.com/eramdam)
|
||||
* [noellabo](https://github.com/noellabo)
|
||||
* [takayamaki](https://github.com/takayamaki)
|
||||
* [danhunsaker](https://github.com/danhunsaker)
|
||||
* [eramdam](https://github.com/eramdam)
|
||||
* [takayamaki](https://github.com/takayamaki)
|
||||
* [ariasuni](https://github.com/ariasuni)
|
||||
* [masarakki](https://github.com/masarakki)
|
||||
* [ticky](https://github.com/ticky)
|
||||
* [ThisIsMissEm](https://github.com/ThisIsMissEm)
|
||||
* [hinaloe](https://github.com/hinaloe)
|
||||
* [hcmiya](https://github.com/hcmiya)
|
||||
* [stephenburgess8](https://github.com/stephenburgess8)
|
||||
* [Wonderfall](https://github.com/Wonderfall)
|
||||
* [Wonderfall](mailto:wonderfall@targaryen.house)
|
||||
* [matteoaquila](https://github.com/matteoaquila)
|
||||
* [yukimochi](https://github.com/yukimochi)
|
||||
* [palindromordnilap](https://github.com/palindromordnilap)
|
||||
* [rkarabut](https://github.com/rkarabut)
|
||||
* [Artoria2e5](https://github.com/Artoria2e5)
|
||||
* [trwnh](https://github.com/trwnh)
|
||||
* [nightpool](https://github.com/nightpool)
|
||||
* [Artoria2e5](https://github.com/Artoria2e5)
|
||||
* [marrus-sh](https://github.com/marrus-sh)
|
||||
* [hinaloe](https://github.com/hinaloe)
|
||||
* [krainboltgreene](https://github.com/krainboltgreene)
|
||||
* [pfigel](https://github.com/pfigel)
|
||||
* [Aldarone](https://github.com/Aldarone)
|
||||
* [BoFFire](https://github.com/BoFFire)
|
||||
* [Aldarone](https://github.com/Aldarone)
|
||||
* [clworld](https://github.com/clworld)
|
||||
* [MasterGroosha](https://github.com/MasterGroosha)
|
||||
* [dracos](https://github.com/dracos)
|
||||
@ -68,52 +72,50 @@ and provided thanks to the work of the following contributors:
|
||||
* [SerCom_KC](mailto:sercom-kc@users.noreply.github.com)
|
||||
* [Sylvhem](https://github.com/Sylvhem)
|
||||
* [MitarashiDango](https://github.com/MitarashiDango)
|
||||
* [angristan](https://github.com/angristan)
|
||||
* [JeanGauthier](https://github.com/JeanGauthier)
|
||||
* [kschaper](https://github.com/kschaper)
|
||||
* [beatrix-bitrot](https://github.com/beatrix-bitrot)
|
||||
* [angristan](https://github.com/angristan)
|
||||
* [koyuawsmbrtn](https://github.com/koyuawsmbrtn)
|
||||
* [BenLubar](https://github.com/BenLubar)
|
||||
* [adbelle](https://github.com/adbelle)
|
||||
* [evanminto](https://github.com/evanminto)
|
||||
* [MightyPork](https://github.com/MightyPork)
|
||||
* [ashleyhull-versent](mailto:ashley.hull@versent.com.au)
|
||||
* [ashleyhull-versent](https://github.com/ashleyhull-versent)
|
||||
* [yhirano55](https://github.com/yhirano55)
|
||||
* [rinsuki](https://github.com/rinsuki)
|
||||
* [dunn](https://github.com/dunn)
|
||||
* [devkral](https://github.com/devkral)
|
||||
* [camponez](https://github.com/camponez)
|
||||
* [hugogameiro](https://github.com/hugogameiro)
|
||||
* [SerCom_KC](mailto:szescxz@gmail.com)
|
||||
* [aschmitz](https://github.com/aschmitz)
|
||||
* [trwnh](https://github.com/trwnh)
|
||||
* [devkral](https://github.com/devkral)
|
||||
* [fpiesche](https://github.com/fpiesche)
|
||||
* [hugogameiro](https://github.com/hugogameiro)
|
||||
* [gandaro](https://github.com/gandaro)
|
||||
* [johnsudaar](https://github.com/johnsudaar)
|
||||
* [ariasuni](https://github.com/ariasuni)
|
||||
* [trebmuh](https://github.com/trebmuh)
|
||||
* [rmhasan](https://github.com/rmhasan)
|
||||
* [kedamaDQ](https://github.com/kedamaDQ)
|
||||
* [lindwurm](https://github.com/lindwurm)
|
||||
* [victorhck](mailto:victorhck@geeko.site)
|
||||
* [voidsatisfaction](https://github.com/voidsatisfaction)
|
||||
* [BenLubar](https://github.com/BenLubar)
|
||||
* [hikari-no-yume](https://github.com/hikari-no-yume)
|
||||
* [seefood](https://github.com/seefood)
|
||||
* [jackjennings](https://github.com/jackjennings)
|
||||
* [koyuawsmbrtn](https://github.com/koyuawsmbrtn)
|
||||
* [mfmfuyu](https://github.com/mfmfuyu)
|
||||
* [puckipedia](https://github.com/puckipedia)
|
||||
* [spla](mailto:spla@mastodont.cat)
|
||||
* [expenses](https://github.com/expenses)
|
||||
* [walf443](https://github.com/walf443)
|
||||
* [JoelQ](https://github.com/JoelQ)
|
||||
* [mistydemeo](https://github.com/mistydemeo)
|
||||
* [dunn](https://github.com/dunn)
|
||||
* [Ashley](mailto:expenses@airmail.cc)
|
||||
* [xqus](https://github.com/xqus)
|
||||
* [pfm-eyesightjp](https://github.com/pfm-eyesightjp)
|
||||
* [fakenine](https://github.com/fakenine)
|
||||
* [Shleeble](https://github.com/Shleeble)
|
||||
* [Samy KACIMI](mailto:samy.kacimi@gmail.com)
|
||||
* [tsuwatch](https://github.com/tsuwatch)
|
||||
* [victorhck](https://github.com/victorhck)
|
||||
* [mkljczk](https://github.com/mkljczk)
|
||||
* [manuelviens](https://github.com/manuelviens)
|
||||
* [puckipedia](https://github.com/puckipedia)
|
||||
* [fvh-P](https://github.com/fvh-P)
|
||||
* [rtucker](https://github.com/rtucker)
|
||||
* [Anna e só](mailto:contraexemplos@gmail.com)
|
||||
@ -123,6 +125,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [diomed](https://github.com/diomed)
|
||||
* [Neetshin](mailto:neetshin@neetsh.in)
|
||||
* [rainyday](https://github.com/rainyday)
|
||||
* [tcitworld](https://github.com/tcitworld)
|
||||
* [ProgVal](https://github.com/ProgVal)
|
||||
* [valentin2105](https://github.com/valentin2105)
|
||||
* [yuntan](https://github.com/yuntan)
|
||||
@ -136,44 +139,53 @@ and provided thanks to the work of the following contributors:
|
||||
* [TheKinrar](https://github.com/TheKinrar)
|
||||
* [AA4ch1](https://github.com/AA4ch1)
|
||||
* [alexgleason](https://github.com/alexgleason)
|
||||
* [Bèr Kessels](mailto:ber@berk.es)
|
||||
* [cpytel](https://github.com/cpytel)
|
||||
* [northerner](https://github.com/northerner)
|
||||
* [fhemberger](https://github.com/fhemberger)
|
||||
* [Gomasy](https://github.com/Gomasy)
|
||||
* [greysteil](https://github.com/greysteil)
|
||||
* [hencatsmith](https://github.com/hencatsmith)
|
||||
* [d6rkaiz](https://github.com/d6rkaiz)
|
||||
* [Reverite](https://github.com/Reverite)
|
||||
* [JohnD28](https://github.com/JohnD28)
|
||||
* [znz](https://github.com/znz)
|
||||
* [saper](https://github.com/saper)
|
||||
* [Naouak](https://github.com/Naouak)
|
||||
* [pawelngei](https://github.com/pawelngei)
|
||||
* [reneklacan](https://github.com/reneklacan)
|
||||
* [ekiru](https://github.com/ekiru)
|
||||
* [tcitworld](https://github.com/tcitworld)
|
||||
* [geta6](https://github.com/geta6)
|
||||
* [happycoloredbanana](https://github.com/happycoloredbanana)
|
||||
* [leopku](https://github.com/leopku)
|
||||
* [SansPseudoFix](https://github.com/SansPseudoFix)
|
||||
* [salvadorpla](https://github.com/salvadorpla)
|
||||
* [spla](mailto:sp@mastodont.cat)
|
||||
* [tateisu](https://github.com/tateisu)
|
||||
* [tomfhowe](https://github.com/tomfhowe)
|
||||
* [noraworld](https://github.com/noraworld)
|
||||
* [lfuelling](https://github.com/lfuelling)
|
||||
* [theboss](https://github.com/theboss)
|
||||
* [nzws](https://github.com/nzws)
|
||||
* [duxovni](https://github.com/duxovni)
|
||||
* [smorimoto](https://github.com/smorimoto)
|
||||
* [178inaba](https://github.com/178inaba)
|
||||
* [acid-chicken](https://github.com/acid-chicken)
|
||||
* [xgess](https://github.com/xgess)
|
||||
* [alyssais](https://github.com/alyssais)
|
||||
* [aablinov](https://github.com/aablinov)
|
||||
* [stalker314314](https://github.com/stalker314314)
|
||||
* [cutls](https://github.com/cutls)
|
||||
* [dariusk](https://github.com/dariusk)
|
||||
* [huertanix](https://github.com/huertanix)
|
||||
* [genesixx](https://github.com/genesixx)
|
||||
* [eleboucher](https://github.com/eleboucher)
|
||||
* [halkeye](https://github.com/halkeye)
|
||||
* [Hanage999](https://github.com/Hanage999)
|
||||
* [treby](https://github.com/treby)
|
||||
* [jpdevries](https://github.com/jpdevries)
|
||||
* [gdpelican](https://github.com/gdpelican)
|
||||
* [kmichl](https://github.com/kmichl)
|
||||
* [Kurtis Rainbolt-Greene](mailto:me@kurtisrainboltgreene.name)
|
||||
* [saper](https://github.com/saper)
|
||||
* [panarom](https://github.com/panarom)
|
||||
* [Dar13](https://github.com/Dar13)
|
||||
* [nevillepark](https://github.com/nevillepark)
|
||||
* [ornithocoder](https://github.com/ornithocoder)
|
||||
@ -181,7 +193,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [pierreozoux](https://github.com/pierreozoux)
|
||||
* [qguv](https://github.com/qguv)
|
||||
* [Ram Lmn](mailto:ramlmn@users.noreply.github.com)
|
||||
* [aurelia-sl](https://github.com/aurelia-sl)
|
||||
* [Sascha](mailto:sascha@serenitylabs.cloud)
|
||||
* [harukasan](https://github.com/harukasan)
|
||||
* [stamak](https://github.com/stamak)
|
||||
* [Technowix](https://github.com/Technowix)
|
||||
@ -196,9 +208,9 @@ and provided thanks to the work of the following contributors:
|
||||
* [chr-1x](https://github.com/chr-1x)
|
||||
* [esetomo](https://github.com/esetomo)
|
||||
* [foxiehkins](https://github.com/foxiehkins)
|
||||
* [highemerly](https://github.com/highemerly)
|
||||
* [hoodie](mailto:hoodiekitten@outlook.com)
|
||||
* [luzi82](https://github.com/luzi82)
|
||||
* [duxovni](https://github.com/duxovni)
|
||||
* [slice](https://github.com/slice)
|
||||
* [tmm576](https://github.com/tmm576)
|
||||
* [unsmell](mailto:unsmell@users.noreply.github.com)
|
||||
@ -209,13 +221,12 @@ and provided thanks to the work of the following contributors:
|
||||
* [AndreLewin](https://github.com/AndreLewin)
|
||||
* [0xflotus](https://github.com/0xflotus)
|
||||
* [redtachyons](https://github.com/redtachyons)
|
||||
* [acid-chicken](https://github.com/acid-chicken)
|
||||
* [thurloat](https://github.com/thurloat)
|
||||
* [aaribaud](https://github.com/aaribaud)
|
||||
* [pointlessone](https://github.com/pointlessone)
|
||||
* [Andrew](mailto:andrewlchronister@gmail.com)
|
||||
* [aurelien-reeves](https://github.com/aurelien-reeves)
|
||||
* [AnaGelez](https://github.com/AnaGelez)
|
||||
* [elegaanz](https://github.com/elegaanz)
|
||||
* [estuans](https://github.com/estuans)
|
||||
* [dissolve](https://github.com/dissolve)
|
||||
* [PurpleBooth](https://github.com/PurpleBooth)
|
||||
@ -227,16 +238,14 @@ and provided thanks to the work of the following contributors:
|
||||
* [muffinista](https://github.com/muffinista)
|
||||
* [cdutson](https://github.com/cdutson)
|
||||
* [farlistener](https://github.com/farlistener)
|
||||
* [dariusk](https://github.com/dariusk)
|
||||
* [DavidLibeau](https://github.com/DavidLibeau)
|
||||
* [dmerejkowsky](https://github.com/dmerejkowsky)
|
||||
* [ddevault](https://github.com/ddevault)
|
||||
* [Fjoerfoks](https://github.com/Fjoerfoks)
|
||||
* [fmauNeko](https://github.com/fmauNeko)
|
||||
* [gloaec](https://github.com/gloaec)
|
||||
* [Gomasy](https://github.com/Gomasy)
|
||||
* [unstabler](https://github.com/unstabler)
|
||||
* [potato4d](https://github.com/potato4d)
|
||||
* [Hanage999](https://github.com/Hanage999)
|
||||
* [h-izumi](https://github.com/h-izumi)
|
||||
* [ErikXXon](https://github.com/ErikXXon)
|
||||
* [ian-kelling](https://github.com/ian-kelling)
|
||||
@ -251,13 +260,17 @@ and provided thanks to the work of the following contributors:
|
||||
* [tkbky](https://github.com/tkbky)
|
||||
* [Kaylee](mailto:kaylee@codethat.sucks)
|
||||
* [Kazhnuz](https://github.com/Kazhnuz)
|
||||
* [mkody](https://github.com/mkody)
|
||||
* [connyduck](https://github.com/connyduck)
|
||||
* [LindseyB](https://github.com/LindseyB)
|
||||
* [Lorenz Diener](mailto:halcyon@icosahedron.website)
|
||||
* [alimony](https://github.com/alimony)
|
||||
* [Markus Amalthea Magnuson](mailto:markus.magnuson@gmail.com)
|
||||
* [madmath03](https://github.com/madmath03)
|
||||
* [mig5](https://github.com/mig5)
|
||||
* [moritzheiber](https://github.com/moritzheiber)
|
||||
* [Nathaniel Suchy](mailto:me@lunorian.is)
|
||||
* [ndarville](https://github.com/ndarville)
|
||||
* [NimaBoscarino](https://github.com/NimaBoscarino)
|
||||
* [Abzol](https://github.com/Abzol)
|
||||
* [PatOnTheBack](https://github.com/PatOnTheBack)
|
||||
* [xPaw](https://github.com/xPaw)
|
||||
@ -287,16 +300,15 @@ and provided thanks to the work of the following contributors:
|
||||
* [amazedkoumei](https://github.com/amazedkoumei)
|
||||
* [anon5r](https://github.com/anon5r)
|
||||
* [aus-social](https://github.com/aus-social)
|
||||
* [imbsky](https://github.com/imbsky)
|
||||
* [bsky](mailto:me@imbsky.net)
|
||||
* [codl](https://github.com/codl)
|
||||
* [cpsdqs](https://github.com/cpsdqs)
|
||||
* [barzamin](https://github.com/barzamin)
|
||||
* [fhalna](https://github.com/fhalna)
|
||||
* [highemerly](https://github.com/highemerly)
|
||||
* [haoyayoi](https://github.com/haoyayoi)
|
||||
* [ik11235](https://github.com/ik11235)
|
||||
* [kawax](https://github.com/kawax)
|
||||
* [shrft](https://github.com/shrft)
|
||||
* [007lva](https://github.com/007lva)
|
||||
* [mbajur](https://github.com/mbajur)
|
||||
* [matsurai25](https://github.com/matsurai25)
|
||||
@ -307,15 +319,18 @@ and provided thanks to the work of the following contributors:
|
||||
* [pinfort](https://github.com/pinfort)
|
||||
* [rbaumert](https://github.com/rbaumert)
|
||||
* [rhoio](https://github.com/rhoio)
|
||||
* [sclaire-1](https://github.com/sclaire-1)
|
||||
* [umonaca](https://github.com/umonaca)
|
||||
* [usagi-f](https://github.com/usagi-f)
|
||||
* [vidarlee](https://github.com/vidarlee)
|
||||
* [vjackson725](https://github.com/vjackson725)
|
||||
* [wxcafe](https://github.com/wxcafe)
|
||||
* [Grawl](https://github.com/Grawl)
|
||||
* [新都心(Neet Shin)](mailto:nucx@dio-vox.com)
|
||||
* [clarfon](https://github.com/clarfon)
|
||||
* [cygnan](https://github.com/cygnan)
|
||||
* [Awea](https://github.com/Awea)
|
||||
* [halcy](https://github.com/halcy)
|
||||
* [eai04191](https://github.com/eai04191)
|
||||
* [8398a7](https://github.com/8398a7)
|
||||
* [857b](https://github.com/857b)
|
||||
* [insom](https://github.com/insom)
|
||||
@ -332,6 +347,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [a2](https://github.com/a2)
|
||||
* [alfiedotwtf](https://github.com/alfiedotwtf)
|
||||
* [0xa](https://github.com/0xa)
|
||||
* [ArisuOngaku](https://github.com/ArisuOngaku)
|
||||
* [virtualpain](https://github.com/virtualpain)
|
||||
* [sapphirus](https://github.com/sapphirus)
|
||||
* [amandavisconti](https://github.com/amandavisconti)
|
||||
@ -342,15 +358,22 @@ and provided thanks to the work of the following contributors:
|
||||
* [schas002](https://github.com/schas002)
|
||||
* [contraexemplo](https://github.com/contraexemplo)
|
||||
* [abackstrom](https://github.com/abackstrom)
|
||||
* [arielrodrigues](https://github.com/arielrodrigues)
|
||||
* [orlea](https://github.com/orlea)
|
||||
* [armandfardeau](https://github.com/armandfardeau)
|
||||
* [raboof](https://github.com/raboof)
|
||||
* [jumbosushi](https://github.com/jumbosushi)
|
||||
* [ayumin](https://github.com/ayumin)
|
||||
* [bzg](https://github.com/bzg)
|
||||
* [benediktg](https://github.com/benediktg)
|
||||
* [BastienDurel](https://github.com/BastienDurel)
|
||||
* [li-bei](https://github.com/li-bei)
|
||||
* [Benedikt Geißler](mailto:benedikt@g5r.eu)
|
||||
* [BenisonSebastian](https://github.com/BenisonSebastian)
|
||||
* [blakebarnett](https://github.com/blakebarnett)
|
||||
* [bradj](https://github.com/bradj)
|
||||
* [Brad Janke](mailto:brad.janke@gmail.com)
|
||||
* [bclindner](https://github.com/bclindner)
|
||||
* [brycied00d](https://github.com/brycied00d)
|
||||
* [berkes](https://github.com/berkes)
|
||||
* [carlosjs23](https://github.com/carlosjs23)
|
||||
* [cgxxx](https://github.com/cgxxx)
|
||||
* [kibitan](https://github.com/kibitan)
|
||||
@ -358,41 +381,48 @@ and provided thanks to the work of the following contributors:
|
||||
* [chris-martin](https://github.com/chris-martin)
|
||||
* [DoubleMalt](https://github.com/DoubleMalt)
|
||||
* [Moosh-be](https://github.com/Moosh-be)
|
||||
* [cchoi12](https://github.com/cchoi12)
|
||||
* [Motoma](https://github.com/Motoma)
|
||||
* [Christopher Kolstad](mailto:christopher.kolstad@finn.no)
|
||||
* [csu](https://github.com/csu)
|
||||
* [kklleemm](https://github.com/kklleemm)
|
||||
* [colindean](https://github.com/colindean)
|
||||
* [DeeUnderscore](https://github.com/DeeUnderscore)
|
||||
* [dachinat](https://github.com/dachinat)
|
||||
* [multiple-creatures](https://github.com/multiple-creatures)
|
||||
* [shapeshifter-system](https://github.com/shapeshifter-system)
|
||||
* [watilde](https://github.com/watilde)
|
||||
* [daprice](https://github.com/daprice)
|
||||
* [da2x](https://github.com/da2x)
|
||||
* [codesections](https://github.com/codesections)
|
||||
* [dar5hak](https://github.com/dar5hak)
|
||||
* [kant](https://github.com/kant)
|
||||
* [maxolasersquad](https://github.com/maxolasersquad)
|
||||
* [singingwolfboy](https://github.com/singingwolfboy)
|
||||
* [caldwell](https://github.com/caldwell)
|
||||
* [davidcelis](https://github.com/davidcelis)
|
||||
* [divergentdave](https://github.com/divergentdave)
|
||||
* [davefp](https://github.com/davefp)
|
||||
* [yipdw](https://github.com/yipdw)
|
||||
* [debanshuk](https://github.com/debanshuk)
|
||||
* [mascali33](https://github.com/mascali33)
|
||||
* [DerekNonGeneric](https://github.com/DerekNonGeneric)
|
||||
* [dblandin](https://github.com/dblandin)
|
||||
* [Drew Gates](mailto:aranaur@users.noreply.github.com)
|
||||
* [dtschust](https://github.com/dtschust)
|
||||
* [Dryusdan](https://github.com/Dryusdan)
|
||||
* [eai04191](https://github.com/eai04191)
|
||||
* [d3vgru](https://github.com/d3vgru)
|
||||
* [Elizafox](https://github.com/Elizafox)
|
||||
* [enewhuis](https://github.com/enewhuis)
|
||||
* [ericblade](https://github.com/ericblade)
|
||||
* [mikoim](https://github.com/mikoim)
|
||||
* [espenronnevik](https://github.com/espenronnevik)
|
||||
* [Expenses](mailto:expenses@airmail.cc)
|
||||
* [fabianonline](https://github.com/fabianonline)
|
||||
* [Finariel](https://github.com/Finariel)
|
||||
* [siuying](https://github.com/siuying)
|
||||
* [zoc](https://github.com/zoc)
|
||||
* [fwenzel](https://github.com/fwenzel)
|
||||
* [gabrielrumiranda](https://github.com/gabrielrumiranda)
|
||||
* [GenbuHase](https://github.com/GenbuHase)
|
||||
* [nilsding](https://github.com/nilsding)
|
||||
* [hattori6789](https://github.com/hattori6789)
|
||||
@ -401,6 +431,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [myfreeweb](https://github.com/myfreeweb)
|
||||
* [gfaivre](https://github.com/gfaivre)
|
||||
* [Fiaxhs](https://github.com/Fiaxhs)
|
||||
* [rasjonell](https://github.com/rasjonell)
|
||||
* [reedcourty](https://github.com/reedcourty)
|
||||
* [anneau](https://github.com/anneau)
|
||||
* [lanodan](https://github.com/lanodan)
|
||||
@ -421,46 +452,49 @@ and provided thanks to the work of the following contributors:
|
||||
* [jack-michaud](https://github.com/jack-michaud)
|
||||
* [Floppy](https://github.com/Floppy)
|
||||
* [loomchild](https://github.com/loomchild)
|
||||
* [jglauche](https://github.com/jglauche)
|
||||
* [jenkr55](https://github.com/jenkr55)
|
||||
* [hyenagirl64](https://github.com/hyenagirl64)
|
||||
* [press5](https://github.com/press5)
|
||||
* [TrollDecker](https://github.com/TrollDecker)
|
||||
* [jmontane](https://github.com/jmontane)
|
||||
* [jonathanklee](https://github.com/jonathanklee)
|
||||
* [jguerder](https://github.com/jguerder)
|
||||
* [Jehops](https://github.com/Jehops)
|
||||
* [joshuap](https://github.com/joshuap)
|
||||
* [Tiwy57](https://github.com/Tiwy57)
|
||||
* [xuv](https://github.com/xuv)
|
||||
* [Jnsll](https://github.com/Jnsll)
|
||||
* [j0k3r](https://github.com/j0k3r)
|
||||
* [KEINOS](https://github.com/KEINOS)
|
||||
* [futoase](https://github.com/futoase)
|
||||
* [pot8to](https://github.com/pot8to)
|
||||
* [Jonathan Klee](mailto:klee.jonathan@gmail.com)
|
||||
* [Jordan Guerder](mailto:jguerder@fr.pulseheberg.net)
|
||||
* [Joseph Mingrone](mailto:jehops@users.noreply.github.com)
|
||||
* [Joshua Wood](mailto:josh@joshuawood.net)
|
||||
* [Julien](mailto:tiwy57@users.noreply.github.com)
|
||||
* [Julien Deswaef](mailto:juego@requiem4tv.com)
|
||||
* [June Sallou](mailto:jnsll@users.noreply.github.com)
|
||||
* [Jérémy Benoist](mailto:j0k3r@users.noreply.github.com)
|
||||
* [KEINOS](mailto:github@keinos.com)
|
||||
* [Keiji Matsuzaki](mailto:futoase@gmail.com)
|
||||
* [Kevin Liu](mailto:kevin@potatofrom.space)
|
||||
* [Kit Redgrave](mailto:qwertyitis@gmail.com)
|
||||
* [Knut Erik](mailto:abjectio@users.noreply.github.com)
|
||||
* [mkody](https://github.com/mkody)
|
||||
* [k0ta0uchi](https://github.com/k0ta0uchi)
|
||||
* [KrzysiekJ](https://github.com/KrzysiekJ)
|
||||
* [Kota Ouchi](mailto:k0ta0uchi@gmail.com)
|
||||
* [Krzysztof Jurewicz](mailto:krzysztof.jurewicz@gmail.com)
|
||||
* [Leo Wzukw](mailto:leowzukw@users.noreply.github.com)
|
||||
* [Tak](https://github.com/Tak)
|
||||
* [cacheflow](https://github.com/cacheflow)
|
||||
* [ldidry](https://github.com/ldidry)
|
||||
* [jemus42](https://github.com/jemus42)
|
||||
* [lfuelling](https://github.com/lfuelling)
|
||||
* [Grabacr07](https://github.com/Grabacr07)
|
||||
* [mistermantas](https://github.com/mistermantas)
|
||||
* [MareenaKunjachan](https://github.com/MareenaKunjachan)
|
||||
* [mareklach](https://github.com/mareklach)
|
||||
* [wirehack7](https://github.com/wirehack7)
|
||||
* [martymcguire](https://github.com/martymcguire)
|
||||
* [marvinkopf](https://github.com/marvinkopf)
|
||||
* [otsune](https://github.com/otsune)
|
||||
* [mbugowski](https://github.com/mbugowski)
|
||||
* [Leonie](mailto:62470640+bubblineyuri@users.noreply.github.com)
|
||||
* [Levi Bard](mailto:taktaktaktaktaktaktaktaktaktak@gmail.com)
|
||||
* [Lex Alexander](mailto:l.alexander10@gmail.com)
|
||||
* [Lorenz Diener](mailto:lorenzd@gmail.com)
|
||||
* [Luc Didry](mailto:ldidry@users.noreply.github.com)
|
||||
* [Lukas Burk](mailto:jemus42@users.noreply.github.com)
|
||||
* [Manato Kameya](mailto:grabacr07+github@gmail.com)
|
||||
* [Mantas](mailto:mistermantas@users.noreply.github.com)
|
||||
* [Marcin Mikołajczak](mailto:me@mkljczk.pl)
|
||||
* [Mareena Kunjachan](mailto:mareenakunjachan@gmail.com)
|
||||
* [Marek Lach](mailto:marek.brohatwack.lach@gmail.com)
|
||||
* [Markus R](mailto:wirehack7@users.noreply.github.com)
|
||||
* [Marty McGuire](mailto:schmartissimo@gmail.com)
|
||||
* [Marvin Kopf](mailto:marvinkopf@posteo.de)
|
||||
* [Masafumi Otsune](mailto:info@otsune.com)
|
||||
* [Matej Ľach](mailto:matejlach@users.noreply.github.com)
|
||||
* [Mateusz Bugowski](mailto:23140767+mbugowski@users.noreply.github.com)
|
||||
* [Mathias B](mailto:10813340+mathias-b@users.noreply.github.com)
|
||||
* [madmath03](https://github.com/madmath03)
|
||||
* [matt-auckland](https://github.com/matt-auckland)
|
||||
* [webroo](https://github.com/webroo)
|
||||
* [Mathieu Brunot](mailto:mb.mathieu.brunot@gmail.com)
|
||||
* [Matt](mailto:matt-auckland@users.noreply.github.com)
|
||||
* [Matt Sweetman](mailto:webroo@gmail.com)
|
||||
* [Matthias Beyer](mailto:mail@beyermatthias.de)
|
||||
* [Matthias Jouan](mailto:matthias.jouan@gmail.com)
|
||||
* [Matthieu Paret](mailto:matthieuparet69@gmail.com)
|
||||
@ -512,10 +546,11 @@ and provided thanks to the work of the following contributors:
|
||||
* [S.H](mailto:gamelinks007@gmail.com)
|
||||
* [Sadiq Saif](mailto:staticsafe@users.noreply.github.com)
|
||||
* [Sam Hewitt](mailto:hewittsamuel@gmail.com)
|
||||
* [Sasha Sorokin](mailto:dafri.nochiterov8@gmail.com)
|
||||
* [Sara Aimée Smiseth](mailto:51710585+sarasmiseth@users.noreply.github.com)
|
||||
* [Satoshi KOJIMA](mailto:skoji@mac.com)
|
||||
* [ScienJus](mailto:i@scienjus.com)
|
||||
* [Scott Larkin](mailto:scott@codeclimate.com)
|
||||
* [Scott Sweeny](mailto:scott@ssweeny.net)
|
||||
* [Sebastian Hübner](mailto:imolein@users.noreply.github.com)
|
||||
* [Sebastian Morr](mailto:sebastian@morr.cc)
|
||||
* [Sergei Č](mailto:noiwex1911@gmail.com)
|
||||
@ -525,10 +560,12 @@ and provided thanks to the work of the following contributors:
|
||||
* [Shin Kojima](mailto:shin@kojima.org)
|
||||
* [Shouko Yu](mailto:imshouko@gmail.com)
|
||||
* [Sina Mashek](mailto:sina@mashek.xyz)
|
||||
* [Soft. Dev](mailto:24978+nileshkumar@users.noreply.github.com)
|
||||
* [Soshi Kato](mailto:mail@sossii.com)
|
||||
* [Spanky](mailto:2788886+spankyworks@users.noreply.github.com)
|
||||
* [StefOfficiel](mailto:pichard.stephane@free.fr)
|
||||
* [Steven Tappert](mailto:admin@dark-it.net)
|
||||
* [Stéphane Guillou](mailto:stephane.guillou@member.fsf.org)
|
||||
* [Svetlozar Todorov](mailto:svetlik@users.noreply.github.com)
|
||||
* [Sébastien Santoro](mailto:dereckson@espace-win.org)
|
||||
* [Tad Thorley](mailto:phaedryx@users.noreply.github.com)
|
||||
@ -536,7 +573,10 @@ and provided thanks to the work of the following contributors:
|
||||
* [Takayuki KUSANO](mailto:github@tkusano.jp)
|
||||
* [TakesxiSximada](mailto:takesxi.sximada@gmail.com)
|
||||
* [Tao Bror Bojlén](mailto:brortao@users.noreply.github.com)
|
||||
* [Taras Gogol](mailto:taras2358@gmail.com)
|
||||
* [Tdxdxoz](mailto:tdxdxoz@gmail.com)
|
||||
* [TheInventrix](mailto:theinventrix@users.noreply.github.com)
|
||||
* [TheMainOne](mailto:50847364+theevilskeleton@users.noreply.github.com)
|
||||
* [Thomas Alberola](mailto:thomas@needacoffee.fr)
|
||||
* [Toby Deshane](mailto:fortyseven@users.noreply.github.com)
|
||||
* [Toby Pinder](mailto:gigitrix@gmail.com)
|
||||
@ -563,6 +603,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [Yann Klis](mailto:yann.klis@gmail.com)
|
||||
* [Yağızhan](mailto:35808275+yagizhan49@users.noreply.github.com)
|
||||
* [Yeechan Lu](mailto:wz.bluesnow@gmail.com)
|
||||
* [Your Name](mailto:lorenzd@gmail.com)
|
||||
* [Yusuke Abe](mailto:moonset20@gmail.com)
|
||||
* [Zachary Spector](mailto:logicaldash@gmail.com)
|
||||
* [ZiiX](mailto:ziix@users.noreply.github.com)
|
||||
@ -572,6 +613,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [bsky](mailto:git@imbsky.net)
|
||||
* [caesarologia](mailto:lopesgemelli.1@gmail.com)
|
||||
* [cbayerlein](mailto:c.bayerlein@gmail.com)
|
||||
* [chr v1.x](mailto:chr@cybre.space)
|
||||
* [chrolis](mailto:chrolis@users.noreply.github.com)
|
||||
* [cormo](mailto:cormorant2+github@gmail.com)
|
||||
* [d0p1](mailto:dopi-sama@hush.com)
|
||||
@ -582,6 +624,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [fusshi-](mailto:dikky1218@users.noreply.github.com)
|
||||
* [gentaro](mailto:gentaroooo@gmail.com)
|
||||
* [gol-cha](mailto:info@mevo.xyz)
|
||||
* [guigeekz](mailto:pattusg@gmail.com)
|
||||
* [hakoai](mailto:hk--76@qa2.so-net.ne.jp)
|
||||
* [haosbvnker](mailto:github@chaosbunker.com)
|
||||
* [ichi_i](mailto:51489410+ichi-i@users.noreply.github.com)
|
||||
@ -593,10 +636,11 @@ and provided thanks to the work of the following contributors:
|
||||
* [jooops](mailto:joops@autistici.org)
|
||||
* [jukper](mailto:jukkaperanto@gmail.com)
|
||||
* [jumoru](mailto:jumoru@mailbox.org)
|
||||
* [kaiyou](mailto:pierre@jaury.eu)
|
||||
* [karlyeurl](mailto:karl.yeurl@gmail.com)
|
||||
* [kedama](mailto:32974885+kedamadq@users.noreply.github.com)
|
||||
* [kodai](mailto:shirafuta.kodai@gmail.com)
|
||||
* [kuro5hin](mailto:rusty@kuro5hin.org)
|
||||
* [leo60228](mailto:leo@60228.dev)
|
||||
* [luzpaz](mailto:luzpaz@users.noreply.github.com)
|
||||
* [maxypy](mailto:maxime@mpigou.fr)
|
||||
* [mhe](mailto:mail@marcus-herrmann.com)
|
||||
@ -607,21 +651,25 @@ and provided thanks to the work of the following contributors:
|
||||
* [muan](mailto:muan@github.com)
|
||||
* [namelessGonbai](mailto:43787036+namelessgonbai@users.noreply.github.com)
|
||||
* [neetshin](mailto:neetshin@neetsh.in)
|
||||
* [noiob](mailto:8197071+noiob@users.noreply.github.com)
|
||||
* [notozeki](mailto:notozeki@users.noreply.github.com)
|
||||
* [ntl-purism](mailto:57806346+ntl-purism@users.noreply.github.com)
|
||||
* [nzws](mailto:git-yuzu@svk.jp)
|
||||
* [rch850](mailto:rich850@gmail.com)
|
||||
* [roikale](mailto:roikale@users.noreply.github.com)
|
||||
* [rysiekpl](mailto:rysiek@hackerspace.pl)
|
||||
* [saturday06](mailto:dyob@lunaport.net)
|
||||
* [scd31](mailto:57571338+scd31@users.noreply.github.com)
|
||||
* [scriptjunkie](mailto:scriptjunkie@scriptjunkie.us)
|
||||
* [seekr](mailto:mario.drs@gmail.com)
|
||||
* [sternenseemann](mailto:git@lukasepple.de)
|
||||
* [sundevour](mailto:31990469+sundevour@users.noreply.github.com)
|
||||
* [syui](mailto:syui@users.noreply.github.com)
|
||||
* [tackeyy](mailto:mailto.takita.yusuke@gmail.com)
|
||||
* [tateisu](mailto:tateisu@gmail.com)
|
||||
* [taicv](mailto:chuvantai@gmail.com)
|
||||
* [tmyt](mailto:shigure@refy.net)
|
||||
* [trevDev()](mailto:trev@trevdev.ca)
|
||||
* [tsia](mailto:github@tsia.de)
|
||||
* [umonaca](mailto:53662960+umonaca@users.noreply.github.com)
|
||||
* [utam0k](mailto:k0ma@utam0k.jp)
|
||||
* [vpzomtrrfrt](mailto:vpzomtrrfrt@gmail.com)
|
||||
* [walfie](mailto:walfington@gmail.com)
|
||||
@ -634,6 +682,7 @@ and provided thanks to the work of the following contributors:
|
||||
* [りんすき](mailto:6533808+rinsuki@users.noreply.github.com)
|
||||
* [ヨイツの賢狼ホロ | 3rd style](mailto:horo@yoitsu.moe)
|
||||
* [唐宗勛](mailto:tangzongxun@hotmail.com)
|
||||
* [夕日](mailto:xirikm@gmail.com)
|
||||
* [猫吸血鬼ディフリス / 猫ロキP](mailto:deflis@gmail.com)
|
||||
* [艮 鮟鱇](mailto:ushitora_anqou@yahoo.co.jp)
|
||||
* [西小倉宏信](mailto:nishiko@mindia.jp)
|
||||
|
143
CHANGELOG.md
143
CHANGELOG.md
@ -3,6 +3,149 @@ Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## Unreleased
|
||||
### Added
|
||||
|
||||
- Add `SMTP_SSL` environment variable ([OmmyZhang](https://github.com/tootsuite/mastodon/pull/14309))
|
||||
- Add hotkey for toggling content warning input in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13987))
|
||||
- **Add e-mail-based sign in challenge for users with disabled 2FA** ([Gargron](https://github.com/tootsuite/mastodon/pull/14013))
|
||||
- If user tries signing in after:
|
||||
- Being inactive for a while
|
||||
- With a previously unknown IP
|
||||
- Without 2FA being enabled
|
||||
- Require to enter a token sent via e-mail before sigining in
|
||||
- Add `limit` param to RSS feeds ([noellabo](https://github.com/tootsuite/mastodon/pull/13743))
|
||||
- Add `visibility` param to share page ([noellabo](https://github.com/tootsuite/mastodon/pull/13023))
|
||||
- Add blurhash to link previews ([ThibG](https://github.com/tootsuite/mastodon/pull/13984), [ThibG](https://github.com/tootsuite/mastodon/pull/14143), [ThibG](https://github.com/tootsuite/mastodon/pull/13985), [Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14267), [Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14278), [ThibG](https://github.com/tootsuite/mastodon/pull/14126), [ThibG](https://github.com/tootsuite/mastodon/pull/14261), [ThibG](https://github.com/tootsuite/mastodon/pull/14260))
|
||||
- In web UI, toots cannot be marked as sensitive unless there is media attached
|
||||
- However, it's possible to do via API or ActivityPub
|
||||
- Thumnails of link previews of such posts now use blurhash in web UI
|
||||
- The Card entity in REST API has a new `blurhash` attribute
|
||||
- Add support for `summary` field for media description in ActivityPub ([ThibG](https://github.com/tootsuite/mastodon/pull/13763))
|
||||
- Add hints about incomplete remote content to web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14031), [noellabo](https://github.com/tootsuite/mastodon/pull/14195))
|
||||
- **Add personal notes for accounts** ([ThibG](https://github.com/tootsuite/mastodon/pull/14148), [Gargron](https://github.com/tootsuite/mastodon/pull/14208), [Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14251))
|
||||
- To clarify, these are notes only you can see, to help you remember details
|
||||
- Notes can be viewed and edited from profiles in web UI
|
||||
- New REST API: `POST /api/v1/accounts/:id/note` with `comment` param
|
||||
- The Relationship entity in REST API has a new `note` attribute
|
||||
- Add Helm chart ([dunn](https://github.com/tootsuite/mastodon/pull/14090), [dunn](https://github.com/tootsuite/mastodon/pull/14256), [dunn](https://github.com/tootsuite/mastodon/pull/14245))
|
||||
- **Add customizable thumbnails for audio and video attachments** ([Gargron](https://github.com/tootsuite/mastodon/pull/14145), [Gargron](https://github.com/tootsuite/mastodon/pull/14244), [Gargron](https://github.com/tootsuite/mastodon/pull/14273), [Gargron](https://github.com/tootsuite/mastodon/pull/14203), [ThibG](https://github.com/tootsuite/mastodon/pull/14255), [ThibG](https://github.com/tootsuite/mastodon/pull/14306))
|
||||
- Metadata (album, artist, etc) is no longer stripped from audio files
|
||||
- Album art is automatically extracted from audio files
|
||||
- Thumbnail can be manually uploaded for both audio and video attachments
|
||||
- Media upload APIs now support `thumbnail` param
|
||||
- On `POST /api/v1/media` and `POST /api/v2/media`
|
||||
- And on `PUT /api/v1/media/:id`
|
||||
- ActivityPub representation of media attachments represents custom thumbnails with an `icon` attribute
|
||||
- **Add color extraction for thumbnails** ([Gargron](https://github.com/tootsuite/mastodon/pull/14209), [ThibG](https://github.com/tootsuite/mastodon/pull/14264))
|
||||
- The `meta` attribute on the Media Attachment entity in REST API can now have a `colors` attribute which in turn contains three hex colors: `background`, `foreground`, and `accent`
|
||||
- The background color is chosen from the most dominant color around the edges of the thumbnail
|
||||
- The foreground and accent colors are chosen from the colors that are the most different from the background color using the CIEDE2000 algorithm
|
||||
- The most satured color of the two is designated as the accent color
|
||||
- The one with the highest W3C contrast is designated as the foreground color
|
||||
- If there are not enough colors in the thumbnail, new ones are generated using a monochrome pattern
|
||||
- Add a visibility indicator to toots in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14123), [highemerly](https://github.com/tootsuite/mastodon/pull/14292))
|
||||
- Add `tootctl email_domain_blocks` ([tateisu](https://github.com/tootsuite/mastodon/pull/13589), [Gargron](https://github.com/tootsuite/mastodon/pull/14147))
|
||||
- Add "Add new domain block" to header of federation page in admin UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13934))
|
||||
- Add ability to keep emoji picker open with ctrl+click in web UI ([bclindner](https://github.com/tootsuite/mastodon/pull/13896), [noellabo](https://github.com/tootsuite/mastodon/pull/14096))
|
||||
|
||||
### Changed
|
||||
|
||||
- Change `.env.production.sample` to be leaner and cleaner ([Gargron](https://github.com/tootsuite/mastodon/pull/14206))
|
||||
- It was overloaded as de-facto documentation and getting quite crowded
|
||||
- Defer to the actual documentation while still giving a minimal example
|
||||
- Change `tootctl search deploy` to work faster and display progress ([Gargron](https://github.com/tootsuite/mastodon/pull/14300))
|
||||
- Change User-Agent of link preview fetching service to include "Bot" ([Gargron](https://github.com/tootsuite/mastodon/pull/14248))
|
||||
- Some websites may not render OpenGraph tags into HTML if that's not the case
|
||||
- Change behaviour to carry blocks over when someone migrates their followers ([ThibG](https://github.com/tootsuite/mastodon/pull/14144))
|
||||
- Change volume control and download buttons in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14122))
|
||||
- **Change design of audio players in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/14095), [ThibG](https://github.com/tootsuite/mastodon/pull/14281), [Gargron](https://github.com/tootsuite/mastodon/pull/14282), [ThibG](https://github.com/tootsuite/mastodon/pull/14118), [Gargron](https://github.com/tootsuite/mastodon/pull/14199))
|
||||
- Change reply filter to never filter own toots in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14128))
|
||||
- Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14132))
|
||||
- Change contrast of flash messages ([cchoi12](https://github.com/tootsuite/mastodon/pull/13892))
|
||||
- Change wording from "Hide media" to "Hide image/images" in web UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13834))
|
||||
- Change appearence of settings pages to be more consistent ([ariasuni](https://github.com/tootsuite/mastodon/pull/13938))
|
||||
- Change "Add media" tooltip to not include long list of formats in web UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13954))
|
||||
- Change how badly contrasting emoji are rendered in web UI ([leo60228](https://github.com/tootsuite/mastodon/pull/13773), [ThibG](https://github.com/tootsuite/mastodon/pull/13772), [mfmfuyu](https://github.com/tootsuite/mastodon/pull/14020), [ThibG](https://github.com/tootsuite/mastodon/pull/14015))
|
||||
- Change structure of unavailable content section on about page ([ariasuni](https://github.com/tootsuite/mastodon/pull/13930))
|
||||
- Change behaviour to accept ActivityPub activities relayed through group actor ([noellabo](https://github.com/tootsuite/mastodon/pull/14279))
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove the terms "blacklist" and "whitelist" from UX ([Gargron](https://github.com/tootsuite/mastodon/pull/14149), [mayaeh](https://github.com/tootsuite/mastodon/pull/14192))
|
||||
- Environment variables changed (old versions continue to work):
|
||||
- `WHITELIST_MODE` → `LIMITED_FEDERATION_MODE`
|
||||
- `EMAIL_DOMAIN_BLACKLIST` → `EMAIL_DOMAIN_DENYLIST`
|
||||
- `EMAIL_DOMAIN_WHITELIST` → `EMAIL_DOMAIN_ALLOWLIST`
|
||||
- CLI option changed:
|
||||
- `tootctl domains purge --whitelist-mode` → `tootctl domains purge --limited-federation-mode`
|
||||
- Remove some unnecessary database indices ([lfuelling](https://github.com/tootsuite/mastodon/pull/13695), [noellabo](https://github.com/tootsuite/mastodon/pull/14259))
|
||||
- Remove unnecessary Node.js version upper bound ([ykzts](https://github.com/tootsuite/mastodon/pull/14139))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix large shortened numbers (like 1.2K) using incorrect pluralization ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14061))
|
||||
- Fix streaming server trying to use empty password to connect to Redis when `REDIS_PASSWORD` is given but blank ([ThibG](https://github.com/tootsuite/mastodon/pull/14135))
|
||||
- Fix being unable to unboost posts when blocked by their author ([ThibG](https://github.com/tootsuite/mastodon/pull/14308))
|
||||
- Fix account domain block not properly unfollowing accounts from domain ([Gargron](https://github.com/tootsuite/mastodon/pull/14304))
|
||||
- Fix removing a domain allow wiping known accounts in open federation mode ([ThibG](https://github.com/tootsuite/mastodon/pull/14298))
|
||||
- Fix blocks and mutes pagination in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14275))
|
||||
- Fix new posts pushing down origin of opened dropdown in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14271))
|
||||
- Fix timeline markers not being saved sometimes ([ThibG](https://github.com/tootsuite/mastodon/pull/13887), [ThibG](https://github.com/tootsuite/mastodon/pull/13889), [ThibG](https://github.com/tootsuite/mastodon/pull/14155))
|
||||
- Fix CSV uploads being rejected ([noellabo](https://github.com/tootsuite/mastodon/pull/13835))
|
||||
- Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/tootsuite/mastodon/pull/13828))
|
||||
- Fix being able to search posts where you're in the target audience but not actively mentioned ([noellabo](https://github.com/tootsuite/mastodon/pull/13829))
|
||||
- Fix non-local posts appearing on local-only hashtag timelines in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/13827))
|
||||
- Fix `tootctl media remove-orphans` choking on unknown files in storage ([Gargron](https://github.com/tootsuite/mastodon/pull/13765))
|
||||
- Fix `tootctl upgrade storage-schema` misbehaving ([Gargron](https://github.com/tootsuite/mastodon/pull/13761), [angristan](https://github.com/tootsuite/mastodon/pull/13768))
|
||||
- Fix it marking records as upgraded even though no files were moved
|
||||
- Fix it not working with S3 storage
|
||||
- Fix it not working with custom emojis
|
||||
- Fix GIF reader raising incorrect exceptions ([ThibG](https://github.com/tootsuite/mastodon/pull/13760))
|
||||
- Fix hashtag search performing account search as well ([ThibG](https://github.com/tootsuite/mastodon/pull/13758))
|
||||
- Fix Webfinger returning wrong status code on malformed or missing param ([ThibG](https://github.com/tootsuite/mastodon/pull/13759))
|
||||
- Fix `rake mastodon:setup` error when some environment variables are set ([ThibG](https://github.com/tootsuite/mastodon/pull/13928))
|
||||
- Fix admin page crashing when trying to block an invalid domain name in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13884))
|
||||
- Fix unsent toot confirmation dialog not popping up in single column mode in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13888))
|
||||
- Fix performance of follow import ([noellabo](https://github.com/tootsuite/mastodon/pull/13836))
|
||||
- Reduce timeout of Webfinger requests to that of other requests
|
||||
- Use circuit breakers to stop hitting unresponsive servers
|
||||
- Avoid hitting servers that are already known to be generally unavailable
|
||||
- Fix filters ignoring media descriptions ([BenLubar](https://github.com/tootsuite/mastodon/pull/13837))
|
||||
- Fix soem actions on custom emojis leading to cryptic errors in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13951))
|
||||
- Fix ActivityPub serialization of replies when some of them are URIs ([ThibG](https://github.com/tootsuite/mastodon/pull/13957))
|
||||
- Fix `rake mastodon:setup` choking on environment variables containing `%` ([ThibG](https://github.com/tootsuite/mastodon/pull/13940))
|
||||
- Fix account redirect confirmation message talking about moved followers ([ThibG](https://github.com/tootsuite/mastodon/pull/13950))
|
||||
- Fix avatars having the wrong size on public detailed status pages ([ThibG](https://github.com/tootsuite/mastodon/pull/14140))
|
||||
- Fix various issues around OpenGraph representation of media ([Gargron](https://github.com/tootsuite/mastodon/pull/14133))
|
||||
- Pages containing audio no longer say "Attached: 1 image" in description
|
||||
- Audio attachments now represented as OpenGraph `og:audio`
|
||||
- The `twitter:player` page now uses Mastodon's proper audio/video player
|
||||
- Audio/video buffered bars now display correctly in audio/video player
|
||||
- Volume and progress bars now respond to movement/move smoother
|
||||
- Fix audio/video/images/cards not reacting to window resizes in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14130))
|
||||
- Fix very wide media attachments resulting in too thin a thumbnail in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14127))
|
||||
- Fix crash when merging posts into home feed after following someone ([ThibG](https://github.com/tootsuite/mastodon/pull/14129))
|
||||
- Fix unique username constraint for local users not being enforced in database ([ThibG](https://github.com/tootsuite/mastodon/pull/14099))
|
||||
- Fix unnecessary gap under video modal in web UI ([mfmfuyu](https://github.com/tootsuite/mastodon/pull/14098))
|
||||
- Fix 2FA and sign in token pages not respecting user locale ([mfmfuyu](https://github.com/tootsuite/mastodon/pull/14087))
|
||||
- Fix unapproved users being able to view profiles when in limited-federation mode *and* requiring approval for sign-ups ([ThibG](https://github.com/tootsuite/mastodon/pull/14093))
|
||||
- Fix initial audio volume not corresponding to what's displayed in audio player in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14057))
|
||||
- Fix timelines sometimes jumping when closing modals in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14019))
|
||||
- Fix memory usage of downloading remote files ([Gargron](https://github.com/tootsuite/mastodon/pull/14184), [Gargron](https://github.com/tootsuite/mastodon/pull/14181))
|
||||
- Don't read entire file (up to 40 MB) into memory
|
||||
- Read and write it to temp file in small chunks
|
||||
- Fix inconsistent account header padding in web UI ([trwnh](https://github.com/tootsuite/mastodon/pull/14179))
|
||||
- Fix Thai being skipped from language detection ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/13989))
|
||||
- Since Thai has its own alphabet, it can be detected more reliably
|
||||
- Fix broken hashtag column options styling in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14247))
|
||||
- Fix pointer cursor being shown on toots that are not clickable in web UI ([arielrodrigues](https://github.com/tootsuite/mastodon/pull/14185))
|
||||
- Fix lock icon not being shown when locking account in profile settings ([ThibG](https://github.com/tootsuite/mastodon/pull/14190))
|
||||
- Fix domain blocks doing work the wrong way around ([ThibG](https://github.com/tootsuite/mastodon/pull/13424))
|
||||
- Instead of suspending accounts one by one, mark all as suspended first (quick)
|
||||
- Only then proceed to start removing their data (slow)
|
||||
- Clear out media attachments in a separate worker (slow)
|
||||
|
||||
## [v3.1.5] - 2020-07-07
|
||||
### Security
|
||||
|
||||
|
@ -298,6 +298,8 @@ class Audio extends React.PureComponent {
|
||||
|
||||
_renderCanvas () {
|
||||
requestAnimationFrame(() => {
|
||||
if (!this.audio) return;
|
||||
|
||||
this.handleTimeUpdate();
|
||||
this._clear();
|
||||
this._draw();
|
||||
|
@ -182,6 +182,8 @@ class Video extends React.PureComponent {
|
||||
|
||||
_updateTime () {
|
||||
requestAnimationFrame(() => {
|
||||
if (!this.video) return;
|
||||
|
||||
this.handleTimeUpdate();
|
||||
|
||||
if (!this.state.paused) {
|
||||
|
@ -23,7 +23,7 @@
|
||||
"account.last_status": "Hoạt động gần đây",
|
||||
"account.link_verified_on": "Liên kết này đã được xác thực vào {date}",
|
||||
"account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.",
|
||||
"account.media": "Đa phương tiện",
|
||||
"account.media": "Bộ sưu tập",
|
||||
"account.mention": "Nhắc đến @{name}",
|
||||
"account.moved_to": "{name} đã dời sang:",
|
||||
"account.mute": "Ẩn @{name}",
|
||||
@ -43,7 +43,7 @@
|
||||
"account.unfollow": "Ngưng theo dõi",
|
||||
"account.unmute": "Bỏ ẩn @{name}",
|
||||
"account.unmute_notifications": "Hiển lại thông báo từ @{name}",
|
||||
"account_note.placeholder": "Không nói gì thêm",
|
||||
"account_note.placeholder": "Nhấn để thêm ghi chú",
|
||||
"alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Vượt giới hạn",
|
||||
"alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.",
|
||||
|
9
app/services/after_unallow_domain_service.rb
Normal file
9
app/services/after_unallow_domain_service.rb
Normal file
@ -0,0 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AfterUnallowDomainService < BaseService
|
||||
def call(domain)
|
||||
Account.where(domain: domain).find_each do |account|
|
||||
SuspendAccountService.new.call(account, reserve_username: false)
|
||||
end
|
||||
end
|
||||
end
|
@ -12,8 +12,7 @@ class UnallowDomainService < BaseService
|
||||
private
|
||||
|
||||
def suspend_accounts!(domain)
|
||||
Account.where(domain: domain).find_each do |account|
|
||||
SuspendAccountService.new.call(account, reserve_username: false)
|
||||
end
|
||||
Account.where(domain: domain).in_batches.update_all(suspended_at: Time.now.utc)
|
||||
AfterUnallowDomainWorker.perform_async(domain)
|
||||
end
|
||||
end
|
||||
|
9
app/workers/after_unallow_domain_worker.rb
Normal file
9
app/workers/after_unallow_domain_worker.rb
Normal file
@ -0,0 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AfterUnallowDomainWorker
|
||||
include Sidekiq::Worker
|
||||
|
||||
def perform(domain)
|
||||
AfterUnallowDomainService.new.call(domain)
|
||||
end
|
||||
end
|
@ -21,9 +21,7 @@ bn:
|
||||
federation_hint_html: "%{instance}তে একটা নিবন্ধন থাকলে আপনি যেকোনো মাস্টাডন বা এধরণের অন্যান্য সার্ভারের মানুষের সাথে যুক্ত হতে পারবেন ।"
|
||||
get_apps: মোবাইল এপ্প একটা ব্যবহার করতে পারেন
|
||||
hosted_on: এই মাস্টাডনটি আছে %{domain} এ
|
||||
instance_actor_flash: 'এই অ্যাকাউন্টটি ভার্চুয়াল এক্টর যা নিজে কোনও সার্ভারের প্রতিনিধিত্ব করতে ব্যবহৃত হয় এবং কোনও পৃথক ব্যবহারকারী নয়। এটি ফেডারেশনের উদ্দেশ্যে ব্যবহৃত হয় এবং আপনি যদি পুরো ইনস্ট্যান্স ব্লক করতে না চান তবে অবরুদ্ধ করা উচিত নয়, সেক্ষেত্রে আপনার ডোমেন ব্লক ব্যবহার করা উচিত।
|
||||
|
||||
'
|
||||
instance_actor_flash: এই অ্যাকাউন্টটি ভার্চুয়াল এক্টর যা নিজে কোনও সার্ভারের প্রতিনিধিত্ব করতে ব্যবহৃত হয় এবং কোনও পৃথক ব্যবহারকারী নয়। এটি ফেডারেশনের উদ্দেশ্যে ব্যবহৃত হয় এবং আপনি যদি পুরো ইনস্ট্যান্স ব্লক করতে না চান তবে অবরুদ্ধ করা উচিত নয়, সেক্ষেত্রে আপনার ডোমেন ব্লক ব্যবহার করা উচিত।
|
||||
learn_more: বিস্তারিত জানুন
|
||||
privacy_policy: গোপনীয়তা নীতি
|
||||
see_whats_happening: কী কী হচ্ছে দেখুন
|
||||
|
@ -47,7 +47,7 @@ zh-HK:
|
||||
subject: 'Mastodon: 重設密碼'
|
||||
title: 重設密碼
|
||||
two_factor_disabled:
|
||||
explanation: 您帳戶的兩步驟驗證已停用。現在只能使用電子信箱位址及密碼登入。
|
||||
explanation: 您帳戶的兩步驟驗證已停用。現在只能使用電子信箱及密碼登入。
|
||||
subject: Mastodon:已停用兩步驟驗證
|
||||
title: 已停用 2FA
|
||||
two_factor_enabled:
|
||||
|
@ -21,9 +21,7 @@ eu:
|
||||
federation_hint_html: "%{instance} instantzian kontu bat izanda edozein Mastodon zerbitzariko jendea jarraitu ahal izango duzu, eta harago ere."
|
||||
get_apps: Probatu mugikorrerako aplikazio bat
|
||||
hosted_on: Mastodon %{domain} domeinuan ostatatua
|
||||
instance_actor_flash: 'Kontu hau zerbitzaria bera adierazten duen aktore birtual bat da, ez norbanako bat. Federaziorako erabiltzen da eta ez zenuke blokeatu behar instantzia osoa blokeatu nahi ez baduzu, kasu horretan domeinua blokeatzea egokia litzateke.
|
||||
|
||||
'
|
||||
instance_actor_flash: Kontu hau zerbitzaria bera adierazten duen aktore birtual bat da, ez norbanako bat. Federaziorako erabiltzen da eta ez zenuke blokeatu behar instantzia osoa blokeatu nahi ez baduzu, kasu horretan domeinua blokeatzea egokia litzateke.
|
||||
learn_more: Ikasi gehiago
|
||||
privacy_policy: Pribatutasun politika
|
||||
see_whats_happening: Ikusi zer gertatzen ari den
|
||||
|
@ -21,9 +21,7 @@ gl:
|
||||
federation_hint_html: Cunha conta en %{instance} poderás seguir ás persoas en calquera servidor do Mastodon e alén.
|
||||
get_apps: Probar unha aplicación móbil
|
||||
hosted_on: Mastodon aloxado en %{domain}
|
||||
instance_actor_flash: 'Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queiras bloquear a toda a instancia, en tal caso deberías utilizar o bloqueo do dominio.
|
||||
|
||||
'
|
||||
instance_actor_flash: Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queiras bloquear a toda a instancia, en tal caso deberías utilizar o bloqueo do dominio.
|
||||
learn_more: Saber máis
|
||||
privacy_policy: Política de privacidade
|
||||
see_whats_happening: Ver o que está a acontecer
|
||||
|
@ -21,9 +21,7 @@ hu:
|
||||
federation_hint_html: Egy %{instance} fiókkal bármely más Mastodon szerveren vagy a föderációban lévő felhasználót követni tudsz.
|
||||
get_apps: Próbálj ki egy mobil appot
|
||||
hosted_on: "%{domain} Mastodon szerver"
|
||||
instance_actor_flash: 'Ez a fiók egy virtuális szereplő, mely magát a szervert reprezentálja, nem egy felhasználót. Ez a föderáció támogatására készült, ezért nem szabad blokkolni, hacsak egy teljes szervert nem akarsz kitiltani, amire persze a domain blokkolása jobb megoldás.
|
||||
|
||||
'
|
||||
instance_actor_flash: Ez a fiók egy virtuális szereplő, mely magát a szervert reprezentálja, nem egy felhasználót. Ez a föderáció támogatására készült, ezért nem szabad blokkolni, hacsak egy teljes szervert nem akarsz kitiltani, amire persze a domain blokkolása jobb megoldás.
|
||||
learn_more: Tudj meg többet
|
||||
privacy_policy: Adatvédelmi szabályzat
|
||||
see_whats_happening: Nézd, mi történik
|
||||
|
@ -21,9 +21,7 @@ id:
|
||||
federation_hint_html: Dengan akun di %{instance} Anda dapat mengikuti orang di server Mastodon mana pun dan di luarnya.
|
||||
get_apps: Coba aplikasi mobile
|
||||
hosted_on: Mastodon dihosting di %{domain}
|
||||
instance_actor_flash: 'Akun ini adalah aktor virtual yang dipakai untuk merepresentasikan server, bukan pengguna individu. Ini dipakai untuk tujuan federasi dan jangan diblokir kecuali Anda ingin memblokir seluruh instansi, yang seharusnya Anda pakai blokir domain.
|
||||
|
||||
'
|
||||
instance_actor_flash: Akun ini adalah aktor virtual yang dipakai untuk merepresentasikan server, bukan pengguna individu. Ini dipakai untuk tujuan federasi dan jangan diblokir kecuali Anda ingin memblokir seluruh instansi, yang seharusnya Anda pakai blokir domain.
|
||||
learn_more: Pelajari selengkapnya
|
||||
privacy_policy: Kebijakan Privasi
|
||||
see_whats_happening: Lihat apa yang sedang terjadi
|
||||
|
@ -21,9 +21,7 @@ ja:
|
||||
federation_hint_html: "%{instance} のアカウントひとつでどんなMastodon互換サーバーのユーザーでもフォローできるでしょう。"
|
||||
get_apps: モバイルアプリを試す
|
||||
hosted_on: Mastodon hosted on %{domain}
|
||||
instance_actor_flash: 'このアカウントはサーバーそのものを示す仮想的なもので、特定のユーザーを示すものではありません。これはサーバーの連合のために使用されます。サーバー全体をブロックするときは、このアカウントをブロックせずに、ドメインブロックを使用してください。
|
||||
|
||||
'
|
||||
instance_actor_flash: このアカウントはサーバーそのものを示す仮想的なもので、特定のユーザーを示すものではありません。これはサーバーの連合のために使用されます。サーバー全体をブロックするときは、このアカウントをブロックせずに、ドメインブロックを使用してください。
|
||||
learn_more: もっと詳しく
|
||||
privacy_policy: プライバシーポリシー
|
||||
see_whats_happening: やりとりを見てみる
|
||||
|
@ -263,6 +263,7 @@ kab:
|
||||
add_new: Rnu amaynut
|
||||
delete: Kkes
|
||||
domain: Taγult
|
||||
from_html: seg %{domain}
|
||||
new:
|
||||
create: Rnu taγult
|
||||
title: Timerna n taɣult tamaynut n imayl ɣer tebdart taberkant
|
||||
@ -303,6 +304,9 @@ kab:
|
||||
title: Imnegliyen
|
||||
reports:
|
||||
account:
|
||||
notes:
|
||||
one: "%{count} n tamawt"
|
||||
other: "%{count} n timawin"
|
||||
reports:
|
||||
one: "%{count} uneqqis"
|
||||
other: "%{count} n ineqqisen"
|
||||
@ -382,6 +386,7 @@ kab:
|
||||
view_profile: Ssken-d amaɣnu
|
||||
view_status: Ssken-d tasuffiɣt
|
||||
auth:
|
||||
apply_for_account: Suter asnebgi
|
||||
change_password: Awal uffir
|
||||
checkbox_agreement_html: Qebleγ <a href="%{rules_path}" target="_blank">ilugan n uqeddac-a</a> akked <a href="%{terms_path}" target="_blank">tiwtilin n useqdec</a>
|
||||
checkbox_agreement_without_rules_html: Qebleγ <a href="%{terms_path}" target="_blank">tiwtilin n useqdec</a>
|
||||
|
@ -21,9 +21,7 @@ nl:
|
||||
federation_hint_html: Met een account op %{instance} ben je in staat om mensen die zich op andere Mastodonservers (en op andere plekken) bevinden te volgen.
|
||||
get_apps: Mobiele apps
|
||||
hosted_on: Mastodon op %{domain}
|
||||
instance_actor_flash: 'Dit account is een virtuel actor dat wordt gebruikt om de server zelf te vertegenwoordigen en is geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden geblokkeerd, tenzij je de hele server wilt blokkeren. In zo''n geval dien je echter een domeinblokkade te gebruiken.
|
||||
|
||||
'
|
||||
instance_actor_flash: Dit account is een virtuel actor dat wordt gebruikt om de server zelf te vertegenwoordigen en is geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden geblokkeerd, tenzij je de hele server wilt blokkeren. In zo'n geval dien je echter een domeinblokkade te gebruiken.
|
||||
learn_more: Meer leren
|
||||
privacy_policy: Privacybeleid
|
||||
see_whats_happening: Kijk wat er aan de hand is
|
||||
|
@ -21,9 +21,7 @@
|
||||
federation_hint_html: Med en konto på %{instance} vil du kunne følge folk på enhver Mastodon-tjener, og mer til.
|
||||
get_apps: Prøv en mobilapp
|
||||
hosted_on: Mastodon driftet på %{domain}
|
||||
instance_actor_flash: 'Denne brukeren er en virtuell aktør brukt til å representere selve serveren og ingen individuell bruker. Det brukes til foreningsformål og bør ikke blokkeres med mindre du vil blokkere hele instansen, hvor domeneblokkering bør brukes i stedet.
|
||||
|
||||
'
|
||||
instance_actor_flash: Denne brukeren er en virtuell aktør brukt til å representere selve serveren og ingen individuell bruker. Det brukes til foreningsformål og bør ikke blokkeres med mindre du vil blokkere hele instansen, hvor domeneblokkering bør brukes i stedet.
|
||||
learn_more: Lær mer
|
||||
privacy_policy: Privatlivsretningslinjer
|
||||
see_whats_happening: Se hva som skjer
|
||||
|
@ -21,9 +21,7 @@ sv:
|
||||
federation_hint_html: Med ett konto på %{instance} kommer du att kunna följa personer på alla Mastodon-servers och mer än så.
|
||||
get_apps: Prova en mobilapp
|
||||
hosted_on: Mastodon-värd på %{domain}
|
||||
instance_actor_flash: 'Detta konto är en virtuell agent som används för att representera servern själv och inte någon individuell användare. Det används av sammanslutningsskäl och ska inte blockeras såvitt du inte vill blockera hela instansen, och för detta fall ska domänblockering användas.
|
||||
|
||||
'
|
||||
instance_actor_flash: Detta konto är en virtuell agent som används för att representera servern själv och inte någon individuell användare. Det används av sammanslutningsskäl och ska inte blockeras såvitt du inte vill blockera hela instansen, och för detta fall ska domänblockering användas.
|
||||
learn_more: Lär dig mer
|
||||
privacy_policy: Integritetspolicy
|
||||
see_whats_happening: Se vad som händer
|
||||
|
@ -21,9 +21,7 @@ uk:
|
||||
federation_hint_html: З обліковим записом на %{instance} ви зможете слідкувати за людьми на будь-якому сервері Mastodon та поза ним.
|
||||
get_apps: Спробуйте мобільний додаток
|
||||
hosted_on: Mastodon розміщено на %{domain}
|
||||
instance_actor_flash: 'Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену.
|
||||
|
||||
'
|
||||
instance_actor_flash: Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену.
|
||||
learn_more: Дізнатися більше
|
||||
privacy_policy: Політика приватності
|
||||
see_whats_happening: Погляньте, що відбувається
|
||||
|
@ -21,9 +21,7 @@ vi:
|
||||
federation_hint_html: Đăng ký tài khoản %{instance}, bạn có thể giao tiếp với mọi người trên bất kỳ máy chủ Mastodon nào và hơn thế nữa.
|
||||
get_apps: Dùng thử ứng dụng di động
|
||||
hosted_on: "%{domain} vận hành nhờ Mastodon"
|
||||
instance_actor_flash: 'Tài khoản này là một tác nhân ảo được sử dụng để đại diện cho chính máy chủ chứ không phải bất kỳ người dùng cá nhân nào. Nó được sử dụng cho mục đích liên kết và không nên bị chặn trừ khi bạn muốn chặn toàn bộ máy chủ.
|
||||
|
||||
'
|
||||
instance_actor_flash: Tài khoản này là một tác nhân ảo được sử dụng để đại diện cho chính máy chủ chứ không phải bất kỳ người dùng cá nhân nào. Nó được sử dụng cho mục đích liên kết và không nên bị chặn trừ khi bạn muốn chặn toàn bộ máy chủ.
|
||||
learn_more: Tìm hiểu thêm
|
||||
privacy_policy: Chính sách bảo mật
|
||||
see_whats_happening: Xem những gì đang xảy ra
|
||||
@ -60,7 +58,7 @@ vi:
|
||||
joined: Đã tham gia %{date}
|
||||
last_active: hoạt động gần đây
|
||||
link_verified_on: Liên kết này đã được xác thực quyền sở hữu vào %{date}
|
||||
media: Đa phương tiện
|
||||
media: Bộ sưu tập
|
||||
moved_html: "%{name} đã dời sang %{new_profile_link}:"
|
||||
network_hidden: Thông tin này không còn tồn tại
|
||||
never_active: Chưa có
|
||||
@ -587,7 +585,7 @@ vi:
|
||||
deleted: Đã xóa
|
||||
failed_to_execute: Không thể thực thi
|
||||
media:
|
||||
title: Đa phương tiện
|
||||
title: Bộ sưu tập
|
||||
no_media: Không có ảnh hoặc video
|
||||
no_status_selected: Không có tút nào thay đổi vì không có tút nào được chọn
|
||||
title: Trạng thái tài khoản
|
||||
@ -723,7 +721,7 @@ vi:
|
||||
invalid_signature: không phải là chữ ký số Ed25519 đúng
|
||||
date:
|
||||
formats:
|
||||
default: "%d.%m.%Y"
|
||||
default: "%b.%-m.%Y"
|
||||
datetime:
|
||||
distance_in_words:
|
||||
about_x_hours: "%{count}h"
|
||||
@ -1161,7 +1159,7 @@ vi:
|
||||
mastodon-light: Mastodon (Sáng)
|
||||
time:
|
||||
formats:
|
||||
default: "%b %d, %Y, %H:%M"
|
||||
default: lúc %H:%M %b %d năm%_Y
|
||||
month: "%B %Y"
|
||||
two_factor_authentication:
|
||||
code_hint: Nhập mã được tạo bởi ứng dụng xác thực của bạn để xác nhận
|
||||
|
@ -21,9 +21,7 @@ zh-CN:
|
||||
federation_hint_html: 在%{instance} 上拥有账号后,你可以关注任何 Mastodon 服务器或其他服务器上的人。
|
||||
get_apps: 尝试移动应用
|
||||
hosted_on: 一个在 %{domain} 上运行的 Mastodon 实例
|
||||
instance_actor_flash: '这个账号是个虚拟帐号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。
|
||||
|
||||
'
|
||||
instance_actor_flash: 这个账号是个虚拟帐号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。
|
||||
learn_more: 了解详情
|
||||
privacy_policy: 隐私政策
|
||||
see_whats_happening: 看一看现在在发生什么
|
||||
|
@ -9,15 +9,15 @@ module Mastodon
|
||||
end
|
||||
|
||||
def minor
|
||||
1
|
||||
2
|
||||
end
|
||||
|
||||
def patch
|
||||
5
|
||||
0
|
||||
end
|
||||
|
||||
def flags
|
||||
''
|
||||
'rc1'
|
||||
end
|
||||
|
||||
def suffix
|
||||
|
64
spec/services/unallow_domain_service_spec.rb
Normal file
64
spec/services/unallow_domain_service_spec.rb
Normal file
@ -0,0 +1,64 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe UnallowDomainService, type: :service do
|
||||
let!(:bad_account) { Fabricate(:account, username: 'badguy666', domain: 'evil.org') }
|
||||
let!(:bad_status1) { Fabricate(:status, account: bad_account, text: 'You suck') }
|
||||
let!(:bad_status2) { Fabricate(:status, account: bad_account, text: 'Hahaha') }
|
||||
let!(:bad_attachment) { Fabricate(:media_attachment, account: bad_account, status: bad_status2, file: attachment_fixture('attachment.jpg')) }
|
||||
let!(:already_banned_account) { Fabricate(:account, username: 'badguy', domain: 'evil.org', suspended: true, silenced: true) }
|
||||
let!(:domain_allow) { Fabricate(:domain_allow, domain: 'evil.org') }
|
||||
|
||||
subject { UnallowDomainService.new }
|
||||
|
||||
context 'in limited federation mode' do
|
||||
before do
|
||||
allow(subject).to receive(:whitelist_mode?).and_return(true)
|
||||
end
|
||||
|
||||
describe '#call' do
|
||||
before do
|
||||
subject.call(domain_allow)
|
||||
end
|
||||
|
||||
it 'removes the allowed domain' do
|
||||
expect(DomainAllow.allowed?('evil.org')).to be false
|
||||
end
|
||||
|
||||
it 'removes remote accounts from that domain' do
|
||||
expect(Account.where(domain: 'evil.org').exists?).to be false
|
||||
end
|
||||
|
||||
it 'removes the remote accounts\'s statuses and media attachments' do
|
||||
expect { bad_status1.reload }.to raise_exception ActiveRecord::RecordNotFound
|
||||
expect { bad_status2.reload }.to raise_exception ActiveRecord::RecordNotFound
|
||||
expect { bad_attachment.reload }.to raise_exception ActiveRecord::RecordNotFound
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'without limited federation mode' do
|
||||
before do
|
||||
allow(subject).to receive(:whitelist_mode?).and_return(false)
|
||||
end
|
||||
|
||||
describe '#call' do
|
||||
before do
|
||||
subject.call(domain_allow)
|
||||
end
|
||||
|
||||
it 'removes the allowed domain' do
|
||||
expect(DomainAllow.allowed?('evil.org')).to be false
|
||||
end
|
||||
|
||||
it 'does not remove accounts from that domain' do
|
||||
expect(Account.where(domain: 'evil.org').exists?).to be true
|
||||
end
|
||||
|
||||
it 'removes the remote accounts\'s statuses and media attachments' do
|
||||
expect { bad_status1.reload }.to_not raise_exception ActiveRecord::RecordNotFound
|
||||
expect { bad_status2.reload }.to_not raise_exception ActiveRecord::RecordNotFound
|
||||
expect { bad_attachment.reload }.to_not raise_exception ActiveRecord::RecordNotFound
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user