Eugen Rochko
6172263a63
Fix activity being rendered within activity due to caching ( #11271 )
...
Fix #11270
6 years ago
Eugen Rochko
4e92183227
Refactor domain block checks ( #11268 )
6 years ago
ThibG
1e7187f2a8
Fix Status.remote scope matching *all* statuses ( #11265 )
6 years ago
Eugen Rochko
ef15246397
Remove unused remote unfollow controller ( #11250 )
6 years ago
Eugen Rochko
63c7fe8e48
Refactor controllers for statuses, accounts, and more ( #11249 )
6 years ago
ThibG
87c1ad4ea3
Fix BackupService crashing when an attachment is missing ( #11241 )
...
* Fix BackupService crashing when an attachment is missing
For various reasons such as admin error or out-of-sync media and
database backups, it might be possible for local attachments to be lost.
This commit allows the BackupService to continue its work even if some media
file is missing.
* Change error message
6 years ago
Eugen Rochko
b851456139
Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` ( #11247 )
6 years ago
Eugen Rochko
406b46395d
Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ( #11231 )
6 years ago
ThibG
58276715be
Fix support for HTTP proxies ( #11245 )
...
* Disable incorrect check for hidden services in Socket
Hidden services can only be accessed with an HTTP proxy, in which
case the host seen by the Socket class will be the proxy, not the
target host.
Hidden services are already filtered in `Request#initialize`.
* Use our Socket class to connect to HTTP proxies
Avoid the timeout logic being bypassed
* Add support for IP addresses in Request::Socket
* Refactor a bit, no need to keep the DNS resolver around
6 years ago
Eugen Rochko
23aeef52cc
Remove Salmon and PubSubHubbub ( #11205 )
...
* Remove Salmon and PubSubHubbub endpoints
* Add error when trying to follow OStatus accounts
* Fix new accounts not being created in ResolveAccountService
6 years ago
ThibG
c07cca4727
Only scroll to the compose form if it's not horizontally in the viewport ( #11246 )
...
Avoids jumping the scroll around vertically when giving it focus and
editing long toots.
6 years ago
Eugen Rochko
ae003d54f9
Fix option to send e-mail notification about account action always being true ( #11242 )
6 years ago
ThibG
ed544f3166
Fix HTTP requests to IPv6 hosts ( #11240 )
6 years ago
Eugen Rochko
0c1b1069c9
Remove deprecated REST API `GET /api/v1/statuses/:id/card` ( #11213 )
6 years ago
Eugen Rochko
3fd6ab99e6
Remove deprecated REST API `GET /api/v1/timelines/direct` ( #11212 )
6 years ago
ThibG
99924f282f
Memoize ancestorIds and descendantIds in detailed status view ( #11234 )
6 years ago
Eugen Rochko
1a747f7020
Fix statsd UDP sockets not being cleaned up in Sidekiq ( #11230 )
6 years ago
Eugen Rochko
bc60d794f8
Change ActivityPub::DeliveryWorker to not retry HTTP 501 errors ( #11233 )
6 years ago
ThibG
dc88d226e1
When deleting & redrafting a poll, fill in closest expires_in ( #11203 )
...
Use the smallest preset expires_in such that the new poll would
not expire before the old one.
In the typical case of a quick delete & redraft, this results in
using the same poll duration.
Fixes #10567
6 years ago
Eugen Rochko
0d9ffe56fb
Add request pool to improve delivery performance ( #10353 )
...
* Add request pool to improve delivery performance
Fix #7909
* Ensure connection is closed when exception interrupts execution
* Remove Timeout#timeout from socket connection
* Fix infinite retrial loop on HTTP::ConnectionError
* Close sockets on failure, reduce idle time to 90 seconds
* Add MAX_REQUEST_POOL_SIZE option to limit concurrent connections to the same server
* Use a shared pool size, 512 by default, to stay below open file limit
* Add some tests
* Add more tests
* Reduce MAX_IDLE_TIME from 90 to 30 seconds, reap every 30 seconds
* Use a shared pool that returns preferred connection but re-purposes other ones when needed
* Fix wrong connection being returned on subsequent calls within the same thread
* Reduce mutex calls on flushes from 2 to 1 and add test for reaping
6 years ago
Eugen Rochko
2cfa427ea7
Change domain block behaviour to prevent creation of accounts from suspended domains ( #11219 )
6 years ago
ThibG
082b3b282f
Fix expiration date of filters being set to “Never” when editing them ( #11204 )
...
When editing a custom filter, select the shortest preset duration that
still covers the remaining time of that filter.
Fixes #9506
6 years ago
Eugen Rochko
06424786a1
Fix support for MP4 files that are actually M4V files ( #11210 )
...
Resolve #11187
6 years ago
ThibG
f895bf1984
Optimize makeGetStatus ( #11211 )
...
* Optimize makeGetStatus
Because `ImmutableList.filter` always returns a new object and `createSelector`
memoizes based on object identity, the selector returned by `makeGetStatus`
would *always* execute.
To avoid that, we wrap `getFilters` into a new memoizer that memoizes based on
deep equality, thus returning the same object as long as the filters haven't
changed, allowing the memoization of `makeGetStatus` to work.
Furthermore, we memoize the compiled regexs instead of recomputing them each
time the selector is called.
* Fix memoized result being cleared too often
* Make notifications use memoized getFiltersRegex
6 years ago
ThibG
ccc7fe3e1d
When sending a toot, ensure a CW is only set if the CW field is visible ( #11206 )
...
In some occasions, such as the browser or a browser extension auto-filling
the existing but disabled/hidden CW field, a CW can be set without the user
knowing.
6 years ago
ThibG
84ff393842
Use ScrollToOptions for smooth scrolling if supported ( #11207 )
6 years ago
ThibG
4f5b221be2
Display FTS warning based on actual search term, not the one being typed ( #11202 )
...
Follow-up to #11112
6 years ago
Eugen Rochko
e64e6a03dd
Add categories for custom emojis ( #11196 )
...
Fix #7940
6 years ago
ThibG
072158ee97
Fix swiping columns on mobile sometimes failing ( #11200 )
...
Fixes #9779
6 years ago
ThibG
ca8944728f
Add message telling FTS is disabled when no toot can be found because of this ( #11112 )
...
* Add message telling FTS is disabled when no toot can be found because of this
Fixes #11082
* Remove info icon and reword message
6 years ago
ThibG
9a90ec3b3b
Fix account URI in UpdatePollSerializer ( #11194 )
...
* Fix account URI in UpdatePollSerializer
Fixes #11185
* Add specs
6 years ago
mayaeh
a02f4b7cd4
Fix NameError ( #11192 )
6 years ago
ThibG
3086c645fd
Add option to disable blurhash previews ( #11188 )
...
* Add option to disable blurhash previews
* Update option text
* Change options order
6 years ago
ThibG
915c619394
Add support for Audio activities ( #11189 )
...
Fixes #11127
6 years ago
ThibG
32a4494926
Scroll to compose form rather than reply indicator on focus ( #11182 )
6 years ago
PatOnTheBack
5b20284f6f
Removed extra pipes from regex. ( #11181 )
6 years ago
Eugen Rochko
6836587117
Fix unnecessary SQL query performed on unauthenticated requests ( #11179 )
6 years ago
ThibG
47ef4a6c7a
Apply filters to poll options ( #11174 )
...
* Apply filters to poll options in WebUI
Fixes #11128
* Apply filters to poll options server-side
* Add poll options to searchable text
6 years ago
Eugen Rochko
8fe7116cdf
New Crowdin translations ( #11144 )
...
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
6 years ago
Eugen Rochko
b927bb3f07
Fix audio-only OGG and WebM files not being processed as such ( #11151 )
...
Also, because Chrome sends audio/mp3 instead of audio/mpeg as it's
supposed to, we need to whitelist that mime type as well
6 years ago
koyu
6eb5241099
Change camera icon to paperclip icon in upload form ( #11149 )
6 years ago
Eugen Rochko
d61d164685
Add `short_description` and `approval_required` to `GET /api/v1/instance` ( #11146 )
6 years ago
Eugen Rochko
aa9b37822b
Fix audio not being downloaded from remote servers ( #11145 )
6 years ago
Eugen Rochko
84f945d64c
Bump version to 2.9.1 ( #11143 )
6 years ago
Eugen Rochko
6e7e714bd9
New Crowdin translations ( #11116 )
...
* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations activerecord.en.yml (Thai)
[ci skip]
* New translations activerecord.en.yml (Slovak)
[ci skip]
* New translations activerecord.en.yml (French)
[ci skip]
* New translations activerecord.en.yml (Hungarian)
[ci skip]
* New translations activerecord.en.yml (Hebrew)
[ci skip]
* New translations activerecord.en.yml (Greek)
[ci skip]
* New translations activerecord.en.yml (German)
[ci skip]
* New translations activerecord.en.yml (Georgian)
[ci skip]
* New translations activerecord.en.yml (Galician)
[ci skip]
* New translations activerecord.en.yml (Esperanto)
[ci skip]
* New translations activerecord.en.yml (Danish)
[ci skip]
* New translations activerecord.en.yml (Czech)
[ci skip]
* New translations activerecord.en.yml (Corsican)
[ci skip]
* New translations activerecord.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations activerecord.en.yml (Indonesian)
[ci skip]
* New translations activerecord.en.yml (Japanese)
[ci skip]
* New translations activerecord.en.yml (Swedish)
[ci skip]
* New translations activerecord.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations activerecord.en.yml (Spanish)
[ci skip]
* New translations activerecord.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Ido)
[ci skip]
* New translations activerecord.en.yml (Serbian (Latin))
[ci skip]
* New translations activerecord.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations activerecord.en.yml (Russian)
[ci skip]
* New translations activerecord.en.yml (Portuguese)
[ci skip]
* New translations activerecord.en.yml (Kazakh)
[ci skip]
* New translations activerecord.en.yml (Polish)
[ci skip]
* New translations activerecord.en.yml (Persian)
[ci skip]
* New translations activerecord.en.yml (Occitan)
[ci skip]
* New translations activerecord.en.yml (Norwegian)
[ci skip]
* New translations activerecord.en.yml (Korean)
[ci skip]
* New translations devise.en.yml (Hungarian)
[ci skip]
* New translations devise.en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations devise.en.yml (Persian)
[ci skip]
* New translations devise.en.yml (Serbian (Latin))
[ci skip]
* New translations devise.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations devise.en.yml (Russian)
[ci skip]
* New translations devise.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations devise.en.yml (Portuguese)
[ci skip]
* New translations devise.en.yml (Polish)
[ci skip]
* New translations devise.en.yml (Occitan)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Norwegian)
[ci skip]
* New translations activerecord.en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Korean)
[ci skip]
* New translations devise.en.yml (Kazakh)
[ci skip]
* New translations devise.en.yml (Japanese)
[ci skip]
* New translations devise.en.yml (Slovak)
[ci skip]
* New translations devise.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations devise.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations devise.en.yml (Welsh)
[ci skip]
* New translations devise.en.yml (Ukrainian)
[ci skip]
* New translations devise.en.yml (Turkish)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations activerecord.en.yml (Catalan)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Ido)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations devise.en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.json (Ido)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Ido)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations activerecord.en.yml (Basque)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations activerecord.en.yml (Finnish)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.json (German)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
6 years ago
Eugen Rochko
1b052c7b2d
Remove expensive counters from federation page in admin UI ( #11139 )
6 years ago
Eugen Rochko
707ddf7808
Change domain blocks to automatically support subdomains ( #11138 )
...
* Change domain blocks to automatically support subdomains
If a more authoritative domain is blocked (example.com), then the
same block will be applied to a subdomain (foo.example.com)
* Match subdomains of existing accounts when blocking/unblocking domains
* Improve code style
6 years ago
Eugen Rochko
49ebda4d49
Change audio format from ogg to mp3 for wider compatibility ( #11141 )
...
* Change audio format from ogg to mp3 for wider compatibility
* Add media description as title to links of unknown media attachments
6 years ago
Eugen Rochko
8f23726918
Fix converted media being saved with original extension and mime type ( #11130 )
6 years ago
Eugen Rochko
7696f77245
Add moderation API ( #9387 )
...
Fix #8580
Fix #7143
6 years ago