Thibaut Girka
b6e9b7d1cd
[Glitch] When sending a toot, ensure a CW is only set if the CW field is visible
...
Partial port of ccc7fe3e1d
to glitch-soc
It doesn't ensure the field isn't changed, just that it isn't submitted if
the field isn't visible. Ensuring the field isn't changed would require
reworking the “always show CW field” feature.
5 years ago
ThibG
cbb41e2dad
[Glitch] Optimize makeGetStatus
...
Port f895bf1984
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
ThibG
46829e009e
[Glitch] Use ScrollToOptions for smooth scrolling if supported
...
Port 84ff393842
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
Thibaut Girka
c5495a448c
Merge branch 'master' into glitch-soc/merge-upstream
5 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
5 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.
5 years ago
ThibG
84ff393842
Use ScrollToOptions for smooth scrolling if supported ( #11207 )
5 years ago
Eugen Rochko
662252c8f7
[Glitch] Add categories for custom emojis
...
Port front-end changes from e64e6a03dd
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
ThibG
4d964398de
[Glitch] Fix swiping columns on mobile sometimes failing
...
Port 072158ee97
to glitch-soc
5 years ago
Thibaut Girka
3922b518f7
Merge branch 'master' into glitch-soc/merge-upstream
5 years ago
ThibG
4f5b221be2
Display FTS warning based on actual search term, not the one being typed ( #11202 )
...
Follow-up to #11112
5 years ago
ThibG
43698e08ca
[Glitch] Add message telling FTS is disabled when no toot can be found because of this
...
Port ca8944728f
to glitch-soc
5 years ago
Eugen Rochko
e64e6a03dd
Add categories for custom emojis ( #11196 )
...
Fix #7940
5 years ago
ThibG
072158ee97
Fix swiping columns on mobile sometimes failing ( #11200 )
...
Fixes #9779
5 years ago
Thibaut Girka
c8ba75b963
Merge branch 'master' into glitch-soc/merge-upstream
5 years ago
Thibaut Girka
6ad870a410
Change search components classes and styling to match upstream
5 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
5 years ago
ThibG
9a90ec3b3b
Fix account URI in UpdatePollSerializer ( #11194 )
...
* Fix account URI in UpdatePollSerializer
Fixes #11185
* Add specs
5 years ago
Thibaut Girka
ca17bae904
Use a redis-cached feed for the DM timeline
5 years ago
Thibaut Girka
6ab7051b48
Merge branch 'master' into glitch-soc/merge-upstream
5 years ago
mayaeh
a02f4b7cd4
Fix NameError ( #11192 )
5 years ago
ThibG
4175f13155
[Glitch] Add option to disable blurhash previews
...
Port 3086c645fd
to glitch-soc
5 years ago
PatOnTheBack
383136d9bb
[Glitch] Removed extra pipes from regex.
...
Port 5b20284f6f
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
ThibG
5c3171e8ea
[Glitch] Apply filters to poll options in WebUI
...
Port 47ef4a6c7a
to glitch-soc
5 years ago
Thibaut Girka
aaec64a500
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- app/controllers/settings/preferences_controller.rb
- app/lib/user_settings_decorator.rb
- app/models/user.rb
- config/locales/simple_form.en.yml
5 years ago
ThibG
3086c645fd
Add option to disable blurhash previews ( #11188 )
...
* Add option to disable blurhash previews
* Update option text
* Change options order
5 years ago
ThibG
915c619394
Add support for Audio activities ( #11189 )
...
Fixes #11127
5 years ago
ThibG
32a4494926
Scroll to compose form rather than reply indicator on focus ( #11182 )
5 years ago
Thibaut Girka
9ef25877df
Scroll to compose form rather than reply indicator on focus
5 years ago
PatOnTheBack
5b20284f6f
Removed extra pipes from regex. ( #11181 )
5 years ago
Eugen Rochko
6836587117
Fix unnecessary SQL query performed on unauthenticated requests ( #11179 )
5 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
5 years ago
Thibaut Girka
598cdc9542
Use a different icon for audio attachments
5 years ago
Eugen Rochko
d7eb580053
[Glitch] Add media description as title to links of unknown media attachments
...
Port front-end changes from 49ebda4d49
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
Eugen Rochko
967456b6a9
[Glitch] Add audio uploads
...
Port front-end changes from f7f23b4a19
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
5 years ago
Thibaut Girka
ddd875ad99
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- app/models/media_attachment.rb
Upstream added audio attachment support
- app/serializers/initial_state_serializer.rb
Upstream added audio attachment support and how mimetypes are returned
- app/serializers/rest/instance_serializer.rb
Upstream added a few fields
- config/application.rb
Upstream added a different paperclip transcoder
5 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
5 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
5 years ago
koyu
6eb5241099
Change camera icon to paperclip icon in upload form ( #11149 )
5 years ago
Eugen Rochko
d61d164685
Add `short_description` and `approval_required` to `GET /api/v1/instance` ( #11146 )
5 years ago
Eugen Rochko
aa9b37822b
Fix audio not being downloaded from remote servers ( #11145 )
5 years ago
Eugen Rochko
84f945d64c
Bump version to 2.9.1 ( #11143 )
5 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
5 years ago
Eugen Rochko
1b052c7b2d
Remove expensive counters from federation page in admin UI ( #11139 )
5 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
5 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
5 years ago
Thibaut Girka
38d2882447
Fix NavigationBar styling
5 years ago
Thibaut Girka
bb9459774d
Add NavigationBar to getting started column in single-column mode
...
Fixes #1131
5 years ago
Eugen Rochko
8f23726918
Fix converted media being saved with original extension and mime type ( #11130 )
5 years ago
Eugen Rochko
7696f77245
Add moderation API ( #9387 )
...
Fix #8580
Fix #7143
5 years ago