fuyu
5711899c59
Don't display toggle reveal button in video modal when full screen ( #13026 )
2020-02-03 12:26:00 +01:00
Thibaut Girka
885e9227c6
Fix poll compose form being broken on single-column layout
2020-02-03 11:56:31 +01:00
ThibG
3dcb279da3
[Glitch] Change how unread announcements are handled
...
Port 3adc722d1c
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-02-03 09:31:32 +01:00
Sasha Sorokin
dd6149ca0b
[Glitch] Add "Show thread" button to public profiles
...
Port 50cd73e5d7
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-02-03 09:30:13 +01:00
Eugen Rochko
9dc1f7d299
[Glitch] Fix mascot being too large, and a code style issue
...
Port bba0269d97
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-02-03 09:27:51 +01:00
Thibaut Girka
369201a425
Merge branch 'master' into glitch-soc/merge-upstream
2020-02-03 09:22:58 +01:00
ThibG
3adc722d1c
Change how unread announcements are handled ( #13020 )
...
* Change meaning of /api/v1/announcements/:id/dismiss to mark an announcement as read
* Change how unread announcements are counted in UI
* Add unread marker to announcements and mark announcements as unread as they are displayed
* Fixups
2020-02-03 01:53:09 +01:00
Thibaut Girka
4cd2d13bd2
When submitting markers, use last displayed notification, not last received one
2020-02-01 19:53:01 +01:00
Thibaut Girka
e135b293fa
Fetch last read notification id to update unread notification count on load
2020-02-01 19:53:01 +01:00
abcang
61a7390b66
Search account domain in lowercase ( #13016 )
...
* Search account domain in lowercase
* fix rubocop error
* fix spec/models/account_spec.rb
2020-02-01 15:42:24 +01:00
Renato "Lond" Cerqueira
37dc12dd53
Fix error when sending moderation notification ( #13014 )
...
Since the statuses helper is not loaded, the rtl helper cannot be found
and the email cannot be sent.
2020-02-01 15:42:12 +01:00
Sasha Sorokin
50cd73e5d7
Add "Show thread" button to public profiles ( #13000 )
...
This adds "Show thread" button to the status view which is used in
profiles. The logic to display the button is mimicking logic in
web app available at app/javascript/mastodon/components/status.js#L439.
* The little change in components CSS required to remove enforced
underline for all links on public pages on our button.
2020-01-29 17:35:54 +01:00
Eugen Rochko
bba0269d97
Fix mascot being too large, and a code style issue ( #13002 )
2020-01-29 16:18:33 +01:00
Sasha Sorokin
0c611e3115
Add missing translations ( #12996 )
...
This commit adds missing translations for #12966 and #12954 .
2020-01-28 20:28:38 +01:00
Thibaut Girka
cf5b769857
Add support for xmpp: and magnet: URIs to misleading link detection code
2020-01-28 20:25:56 +01:00
Eugen Rochko
8bb5d1abaa
[Glitch] Fix design of announcements in admin UI
...
Port 305abc9e05
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-28 19:17:47 +01:00
Eugen Rochko
ed5fb51168
[Glitch] Change announcements to be collapsed on page load in web UI
...
Port 0fcc4b1c56
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-28 19:17:06 +01:00
Thibaut Girka
44744e3ce1
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-28 19:15:03 +01:00
Sasha Sorokin
04459687f8
Fix regressions caused by #12961 ( #12961 )
...
This commit attempts to fix most of regressions caused by #12961
pull request which added even spread of space between tabs.
The following fixes were done:
- Don't hide overflow in tabs
As tabs use ::after and ::before pseudo-elements to create arrow on
the bottom of selected tab, "overflow: hidden" will cause this arrow
to look split from the bottom container.
For the future we probably should use slider element instead, which
would align according to currently selected tab, instead of relying
on pseudo-elements. Such method would also allow smooth transitions.
- Disallow wrapping tab text on insufficient space
This would fix some unwanted behavior[1] when on insufficient width,
renderer might attempt wrapping text to not overtake others' space.
[1]: https://mastodon.social/@Gargron/103546083813829165
2020-01-28 02:21:18 +01:00
Eugen Rochko
305abc9e05
Fix design of announcements in admin UI ( #12989 )
2020-01-28 02:21:00 +01:00
Eugen Rochko
0fcc4b1c56
Change announcements to be collapsed on page load in web UI ( #12990 )
2020-01-28 02:20:47 +01:00
Eugen Rochko
cf230d551f
[Glitch] Change number animations direction based on decrease or increase
...
Port 10e209d8e0
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 16:06:03 +01:00
Eugen Rochko
b0139dcf5e
[Glitch] Add animations to announcement reactions
...
Port dd4eec6bf6
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 16:05:37 +01:00
ThibG
41d0869d7f
[Glitch] Change last_status_at to be a date, not datetime
...
Port 42d2a915e4
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 16:03:24 +01:00
Eugen Rochko
187a822074
[Glitch] Fix link colors in announcements
...
Port 2f8c3c17ee
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 16:01:46 +01:00
Eugen Rochko
e36d0a98cc
[Glitch] Add streaming API updates for announcements being modified or deleted
...
Port b9d74d4076
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 16:01:06 +01:00
ThibG
8a8936725e
[Glitch] Fix status overflowing in report dialog
...
Port 389e3f6094
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-27 15:59:25 +01:00
Thibaut Girka
c56a504d11
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `app/serializers/rest/account_serializer.rb`:
Upstream added code too close to glitch-soc-specific followers-hiding code.
Ported upstream changes.
2020-01-27 15:46:50 +01:00
Eugen Rochko
c2dfd5e4e2
Revert "Avoid using uppercase text-transform ( #12684 )" ( #12987 )
...
This reverts commit 7da54001fe
.
2020-01-27 13:44:29 +01:00
Eugen Rochko
663ea84b08
Add publish/unpublish controls to announcements in admin UI ( #12967 )
2020-01-27 11:05:33 +01:00
Eugen Rochko
10e209d8e0
Change number animations direction based on decrease or increase ( #12971 )
2020-01-27 11:04:11 +01:00
Eugen Rochko
dd4eec6bf6
Add animations to announcement reactions ( #12970 )
2020-01-27 11:03:45 +01:00
ThibG
42d2a915e4
Change last_status_at to be a date, not datetime ( #12966 )
...
* Return last_status_at as date, not datetime
* Fix relative timestamp for dates when delay is inferior to 1 day
* Also fix public directory
* Fix error when last_status_at isn't set
2020-01-26 23:13:48 +01:00
Eugen Rochko
401f32f9ee
Fix expired announcements being re-published ( #12964 )
2020-01-26 22:43:18 +01:00
Eugen Rochko
2f8c3c17ee
Fix link colors in announcements ( #12965 )
2020-01-26 22:26:50 +01:00
Eugen Rochko
b9d74d4076
Add streaming API updates for announcements being modified or deleted ( #12963 )
...
Change `all_day` to be a visual client-side cue only
Publish immediately if `scheduled_at` is in the past
Add `published_at` and `updated_at` to announcements JSON
2020-01-26 20:07:26 +01:00
Thibaut Girka
8924743349
Refactor notifications cleaning mode
2020-01-26 14:55:03 +01:00
ButterflyOfFire
408b3e2b93
Add kabyle language to Mastodon ( #12962 )
...
* Add kabyle language to settings_helper
* Adding kabyle language to application.rb
2020-01-26 14:42:35 +01:00
ThibG
389e3f6094
Fix status overflowing in report dialog ( #12959 )
...
Fixes #12942
2020-01-25 22:59:00 +01:00
ThibG
5e4d1f699e
[Glitch] Fix “new items glow” being displayed above settings and announcements
...
Port 90b13ffd00
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 20:05:36 +01:00
ThibG
98d5ab6be9
[Glitch] Fix spurious error and incorrect state change when adding a reaction twice
...
Port c06d2ff437
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 19:53:04 +01:00
Thibaut Girka
3d9310bf3f
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-25 19:46:24 +01:00
ThibG
90b13ffd00
Fix “new items glow” being displayed above settings and announcements ( #12958 )
2020-01-25 19:40:36 +01:00
ThibG
c06d2ff437
Fix spurious error and incorrect state change when adding a reaction twice ( #12957 )
...
* Fix spurious error and incorrect state change when adding a reaction twice
* Remove superfluous top border for announcements box
2020-01-25 18:19:24 +01:00
ThibG
6ce72f1fee
[Glitch] Improve announcements design
...
Port 48c55b6392
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 16:57:03 +01:00
Thibaut Girka
27ddcddcd3
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-25 16:50:24 +01:00
ThibG
48c55b6392
Improve announcements design ( #12954 )
...
* Move announcements above scroll container; add button to temporarily hide them
* Remove interface for dismissing announcements
* Display number of unread announcements
* Count unread announcements accurately
* Fix size of announcement box not fitting the currently displayed announcement
* Fix announcement box background color to match button color
2020-01-25 16:35:33 +01:00
Eugen Rochko
ae2198bd95
Fix validations of reactions limit ( #12955 )
2020-01-25 16:00:29 +01:00
Eugen Rochko
fcd79a5584
New Crowdin translations ( #12936 )
...
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.yml (Kannada)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.json (Kannada)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations simple_form.en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Kabyle)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.json (Ido)
[ci skip]
* New translations en.yml (Ido)
[ci skip]
* New translations simple_form.en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations activerecord.en.yml (Kabyle)
[ci skip]
* New translations devise.en.yml (Kabyle)
[ci skip]
* New translations activerecord.en.yml (Spanish)
[ci skip]
* New translations devise.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations devise.en.yml (Catalan)
[ci skip]
* New translations activerecord.en.yml (Catalan)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations devise.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
2020-01-25 11:54:10 +01:00
Eugen Rochko
4e1efacfac
[Glitch] Add limit of 8 different reaction types per announcement
...
Port f816da9c64
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 10:36:27 +01:00
Eugen Rochko
f1e4738f81
[Glitch] Add number animations
...
Port 76f1ed834e
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 10:36:27 +01:00
Eugen Rochko
3c4bd03949
[Glitch] Change font size of announcements to be the same as statuses
...
Port b89e6cfe70
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 10:21:13 +01:00
Sasha Sorokin
2bde217ea5
[Glitch] Fix unlocalized dropdown button title
...
Port 1268e3b572
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 10:20:05 +01:00
Thibaut Girka
1f8563c256
Rename DropdownMenu's ariaLabel to title, to reduce unnecessary changes with upstream
2020-01-25 10:17:13 +01:00
Ben Lubar
05351cbffb
[Glitch] minor server-sent events fixes
...
Port front-end changes from 0dfba0884e
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-25 10:13:56 +01:00
Thibaut Girka
61f699c0e9
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-25 10:04:41 +01:00
Eugen Rochko
f816da9c64
Add limit of 8 different reaction types per announcement ( #12950 )
2020-01-25 05:23:33 +01:00
Eugen Rochko
76f1ed834e
Add number animations ( #12948 )
2020-01-25 05:23:05 +01:00
Eugen Rochko
71921f6bc3
Fix user disabling changing activity timestamps, fix nil error ( #12943 )
2020-01-25 05:22:35 +01:00
Eugen Rochko
b89e6cfe70
Change font size of announcements to be the same as statuses ( #12949 )
2020-01-25 12:20:06 +09:00
Sasha Sorokin
1268e3b572
Fix unlocalized dropdown button title ( #12947 )
...
In detailed status component, "More" action bar button wasn't
localized. This commit fixes it according to previously used code.
2020-01-24 22:37:04 +01:00
ThibG
288f509424
Fix type error in announcement reaction update event payload ( #12946 )
2020-01-24 22:08:24 +01:00
Ben Lubar
0dfba0884e
minor server-sent events fixes ( #12945 )
...
* Send output on the server-sent events stream immediately so the client sees that it was successfully opened even if it doesn't have any messages.
Fix transparent SSE streaming for the public:local and hashtag:local stream types.
* Tell caches to never store server-sent events.
2020-01-24 20:51:33 +01:00
Sasha Sorokin
14ca559705
Evenly spread space between tabs ( #12944 )
...
This commit fixes uneven spread of space between the tabs in profiles
or notifications (filters). The problem was that links and buttons
shown as blocks had their width determined according to the content
inside of them, so if one tab has more text content than another, it
is going to take over others space, which is uneven and results in
incorrectly aligned (?) tabs display.
By specifying the size of 100% for each tab, parent container will be
forced to divide available space by the number of elements and evenly
give each child fixed space, "text-align: center" then doing its best
job to keep tabs text centered in that space. This relatively fixes
the problem, but will introduce another one - when the block has more
content that its width allows to have, in this scenario the text should
be wrapped or will be displayed over the other elements, but I see this
more as translators' problem. Still, for this case "overflow: hidden"
is added and any unfitting text will be cut out.
2020-01-24 20:50:49 +01:00
Thibaut Girka
bdc1581556
Fix emoji button styling in glitch-soc
2020-01-24 16:45:29 +01:00
Eugen Rochko
376e524278
[Glitch] Add announcements
...
Port front-end changes from f52c988e12
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24 16:45:29 +01:00
ThibG
4f51fe03c9
[Glitch] Add “account timeline” filter category
...
Port JS changes from 43daeccccb
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24 15:27:15 +01:00
ThibG
de76a8969e
[Glitch] Fix unfollow confirmations in account directory
...
Port ec3ee67564
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24 15:25:48 +01:00
Ben Lubar
4417e9e1fd
[Glitch] Add transparent support for EventSource streaming.
...
Port 619da5a4dc
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24 15:25:19 +01:00
Thibaut Girka
9adeaf2bfc
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `app/controllers/statuses_controller.rb`:
Minor conflict due to theming system
2020-01-24 14:37:06 +01:00
Eugen Rochko
ea215ef63f
New Crowdin translations ( #12933 )
...
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.json (Macedonian)
[ci skip]
* New translations en.yml (Macedonian)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations simple_form.en.yml (Malayalam)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Malayalam)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.yml (Marathi)
[ci skip]
* New translations doorkeeper.en.yml (Marathi)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations doorkeeper.en.yml (Kabyle)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations simple_form.en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
2020-01-24 00:23:30 +01:00
Eugen Rochko
c4c315ea40
Fix OEmbed leaking information about existence of non-public statuses ( #12930 )
2020-01-24 00:20:51 +01:00
Eugen Rochko
daf71573d0
Fix password change/reset not immediately invalidating other sessions ( #12928 )
...
While making browser requests in the other sessions after a password
change or reset does not allow you to be logged in and correctly
invalidates the session making the request, sessions have API tokens
associated with them, which can still be used until that session
is invalidated.
This is a security issue for accounts that were already compromised
some other way because it makes it harder to throw out the hijacker.
2020-01-24 00:20:38 +01:00
Eugen Rochko
ce1dee85b5
Fix relationships page not showing results in admin UI ( #12934 )
...
Follow-up to #12927
2020-01-24 00:20:23 +01:00
Eugen Rochko
dee853f23c
Remove bad encoding middleware ( #12931 )
...
Revert #12741
2020-01-24 00:20:03 +01:00
Eugen Rochko
105f83fc1e
New Crowdin translations ( #12859 )
...
* New translations en.json (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations simple_form.en.yml (Kabyle)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Slovenian)
[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 (Japanese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
2020-01-23 22:04:00 +01:00
Eugen Rochko
f52c988e12
Add announcements ( #12662 )
...
* Add announcements
Fix #11006
* Add reactions to announcements
* Add admin UI for announcements
* Add unit tests
* Fix issues
- Add `with_dismissed` param to announcements API
- Fix end date not being formatted when time range is given
- Fix announcement delete causing reactions to send streaming updates
- Fix announcements container growing too wide and mascot too small
- Fix `all_day` being settable when no time range is given
- Change text "Update" to "Announcement"
* Fix scheduler unpublishing announcements before they are due
* Fix filter params not being passed to announcements filter
2020-01-23 22:00:13 +01:00
Eugen Rochko
81cc86bb1f
Fix media attachments without file being uploadable ( #12562 )
...
Fix #12554
2020-01-23 21:40:03 +01:00
ThibG
43daeccccb
Add “account timeline” filter category ( #12918 )
...
* Add “account timeline” filter category
Previously, no filter category applied to account timelines.
* Rename “Account timelines” into “Profiles”
2020-01-23 21:32:00 +01:00
ThibG
a8e46cf7a1
Add support for magnet: URIs ( #12905 )
2020-01-23 21:27:26 +01:00
Eugen Rochko
c0006a004d
Change followers page to relationships page in admin UI ( #12927 )
...
Allow browsing and filtering all relationships instead of just
followers, unify the codebase with the user-facing relationship
manager, add ability to see who the user invited
2020-01-23 20:33:20 +01:00
ThibG
ec3ee67564
Fix unfollow confirmations in account directory ( #12922 )
...
Fixes #12921
2020-01-22 16:26:47 +01:00
ThibG
40852b84bd
Fix duplicate “description” meta tag on accounts public pages ( #12923 )
...
Fixes #12920
2020-01-22 16:26:23 +01:00
Ben Lubar
619da5a4dc
Add transparent support for EventSource streaming. ( #12887 )
...
This activates if the streaming base URL does not start with "ws".
All currently-live streaming base URLs start with "wss://".
2020-01-21 18:57:21 +01:00
Thibaut Girka
dc2ab6e646
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `app/javascript/packs/public.js`:
Upstream removed an unused function in code that has
been refactored a bit. Removed that function in the corresponding
places.
2020-01-20 18:31:11 +01:00
Eugen Rochko
02063c245c
Fix not all of account's active IPs showing up in admin UI ( #12909 )
2020-01-20 18:00:54 +01:00
ThibG
91e4955e08
Fix admin interface crashing when listing boosts with non-video media attachments ( #12907 )
...
Fix regression introduced by #12879
2020-01-20 17:39:14 +01:00
Eugen Rochko
ba16d4b413
Fix search by IP not using alternative browser sessions in admin UI ( #12904 )
2020-01-20 17:00:41 +01:00
Thibaut Girka
eeb8753adc
Add glitch-soc front-end support for many upstream translations
2020-01-20 16:43:18 +01:00
ThibG
2d5addde03
Fix “X new items” not showing up for slow mode on empty timelines ( #12875 )
2020-01-20 16:34:42 +01:00
Eugen Rochko
6feafb8802
Various fixes and improvements ( #12878 )
...
* Fix unused role routes being generated
* Remove unused JavaScript code
* Refactor filters code to be DRYer
* Fix `.count == 0` comparisons to `.empty?` in views
* Fix filters in views
2020-01-20 15:55:03 +01:00
Eugen Rochko
008063d562
[Glitch] Change reported media attachments to always be hidden in admin UI
...
Port 1ded3bb752
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-20 15:30:45 +01:00
Thibaut Girka
45709d6987
Merge branch 'master' into glitch-soc/master
...
Conflicts:
- `README.md`:
We have different README files. Discarded upstream changes.
- `app/views/layouts/admin.html.haml`:
Conflict due to glitch-soc theming system.
Adapted upstream changes.
- `app/views/layouts/embedded.html.haml`:
Conflict due to glitch-soc theming system.
Adapted upstream changes.
- `yarn.lock`:
No real conflict, glitch-specific dependency too close to
an updated one. Adapted upstream change.
2020-01-20 15:00:22 +01:00
Eugen Rochko
a7d34d49ad
Add is to available locales ( #12882 )
...
Fix #12869
2020-01-18 23:22:35 +01:00
Eugen Rochko
1ded3bb752
Change reported media attachments to always be hidden in admin UI ( #12879 )
...
Also:
- Fix Mastodon logo not showing up in status embeds
- Fix blurhash not being used in status embeds
- Fix blurhash not being used in admin UI
- Fix autoplay param not working correctly on status embeds
2020-01-18 19:50:43 +01:00
ThibG
345bba4812
Exempt staff members from spam check ( #12874 )
...
Consider admins and moderators as trusted, for the purpose of the
spam checker.
Fixes #12872
2020-01-17 07:50:30 +01:00
Eugen Rochko
02d272cf49
Fix access to OEmbed endpoint in secure mode ( #12864 )
2020-01-14 08:52:32 +01:00
Thibaut Girka
83f8bf48d9
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-13 13:14:35 +01:00
Eugen Rochko
3287ec8ca3
Fix file names being obfuscated on update when file didn't change ( #12857 )
...
Fix #12849
2020-01-13 12:54:33 +01:00
Eugen Rochko
3a6f9860fc
New Crowdin translations ( #12830 )
...
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations simple_form.en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Kabyle)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations activerecord.en.yml (Icelandic)
[ci skip]
* New translations devise.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations devise.en.yml (Estonian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations devise.en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations devise.en.yml (Catalan)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
2020-01-13 12:02:37 +01:00
Sasha Sorokin
7ab12b7654
[Glitch] Correct margins for heading actions
...
Port SCSS changes from 5dcca33c56
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-12 16:05:09 +01:00
Sasha Sorokin
32191267a5
[Glitch] Use heading actions and placeholders in settings
...
Port SCSS changes from 36426ed4ad
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-12 16:04:42 +01:00
Thibaut Girka
980c004f06
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `Gemfile.lock`:
No real conflict, glitch-soc-only dependency (redcarpet) too close to an
upstream one (rdf-normalize)
- `README.md`:
we have different READMEs, discarded upstream's changes
- `app/views/admin/custom_emojis/index.html.haml`:
No real conflict, different context because of glitch-soc theming
- `lib/mastodon/statuses_cli.rb`:
Upstream added code to keep bookmarked statuses, we were already doing so
with slightly different code. Discarded upstream's changes.
- `package.json`:
No real conflict, glitch-soc-only dependency (favico.js) too close to
an upstream one
2020-01-12 15:57:34 +01:00
ThibG
24cd2126c6
Fix Ruby 2.7 support ( #12831 )
...
- update http gem to avoid errors
- update blurhash gem to avoid shared object loading error
- update goldfinger gem so the http gem could be updated
- update json gem to avoid warnings
2020-01-12 15:49:30 +01:00
Eugen Rochko
a369d1ca64
New Crowdin translations ( #12378 )
...
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations devise.en.yml (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations activerecord.en.yml (Basque)
[ci skip]
* New translations devise.en.yml (Basque)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations activerecord.en.yml (Tamil)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations activerecord.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations activerecord.en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations devise.en.yml (Catalan)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations activerecord.en.yml (Icelandic)
[ci skip]
* New translations devise.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* i18n-tasks normalize
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* yarn manage:translations
* New translations en.yml (Thai)
[ci skip]
2020-01-12 15:18:03 +01:00
ThibG
d386d89179
Fix invalid votes from the API being accepted ( #12601 )
...
* Fix invalid votes from the API being accepted
Fixes #12556
- Ensure `choice` is an integer instead of silently converting to 0
- Ensure `choice` corresponds to an actual choice of the poll
* Please CodeClimate
2020-01-12 14:17:03 +01:00
Sasha Sorokin
7da54001fe
Avoid using uppercase text-transform ( #12684 )
...
One user suggested that the loading indicator should not be written
ALL CAPS, at first it was thought this change is very minor, but then
a few other people asked agreed on the same thing - variant without
caps looks better. It may be related that it is harder to read or just
looks too "catchy". Moreover, I asked @rf@mastodonsocial.ru community
what they think of that and 82% of 22 people agreed on this change.
This commit removes all usage of text-transform: uppercase, where the
font size specified, it changes the value by one pixel larger, so we
still keeping the "designed" size of the labels but without using CAPS.
2020-01-12 14:16:46 +01:00
Sasha Sorokin
5dcca33c56
Correct margins for heading actions ( #12797 )
...
This commit changes margins of the page heading header, actions in
order to fix displaying with low screen size and long enough header.
It is working by giving heading and action buttons margin from top
and then negating it in parent element. Whenever flex item wrap, the
"negated" margin will be applied again, providing us nice space
between header and action buttons.
This commit also adds a margin to header, so it does not clamp with
the heading actions and they wrap a little earlier (15px ahead). As
well as the left margin is not anymore applied to the first action.
2020-01-12 14:16:20 +01:00
ThibG
10f1450bba
Fix ruby 2.7 warnings about keyword parameters ( #12824 )
2020-01-11 21:38:02 +01:00
ThibG
57e2833f6a
Remove dependency on OStatus2 gem ( #12822 )
2020-01-11 21:36:53 +01:00
ysksn
6f8f018e3e
Refactor StatusThreadingConcern ( #9626 )
...
* Remove #filter_from_context?
* Create scope Status.with_accounts
Retrieving AR objects should be
their model's scope
2020-01-11 19:55:33 +09:00
ThibG
ea436b355b
Add support for linking XMPP URIs in toots ( #12709 )
...
* Fix wrong grouping in Twitter valid_url regex
* Add support for xmpp URIs
Fixes #9776
The difficult part is autolinking, because Twitter-text's extractor does
some pretty ad-hoc stuff to find things that “look like” URLs, and XMPP
URIs do not really match the assumptions of that lib, so it doesn't sound
wise to try to shoehorn it into the existing regex.
This is why I used a specific regex (very close, although slightly more
permissive than the RFC), and a specific scan function (a simplified version
of the generalized one from Twitter).
* Remove leading “xmpp:” from auto-linked text
2020-01-11 02:15:25 +01:00
Daigo 3 Dango
e9ea09d173
Suppress backtrace when delivering toots ( #12798 )
...
This is to suppress irrelevant backtrace from errors raised when
delivering toots to remote servers. The errors are usually out of
control by the local server and backtraces don't provide much
information.
This is similar to https://github.com/tootsuite/mastodon/pull/5174
and shortens backtraces like below:
```
WARN: Mastodon::UnexpectedResponseError: https://example.com/inbox returned code 523
WARN: app/workers/activitypub/delivery_worker.rb:48:in `block (3 levels) in perform_request'
app/lib/request.rb:75:in `perform'
app/workers/activitypub/delivery_worker.rb:47:in `block (2 levels) in perform_request'
app/lib/request_pool.rb:53:in `use'
app/lib/request_pool.rb:108:in `block (2 levels) in with'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/notifications.rb:170:in `instrument'
app/lib/request_pool.rb:107:in `block in with'
app/lib/connection_pool/shared_connection_pool.rb:21:in `block (2 levels) in with'
app/lib/connection_pool/shared_connection_pool.rb:20:in `handle_interrupt'
app/lib/connection_pool/shared_connection_pool.rb:20:in `block in with'
app/lib/connection_pool/shared_connection_pool.rb:16:in `handle_interrupt'
app/lib/connection_pool/shared_connection_pool.rb:16:in `with'
app/lib/request_pool.rb:106:in `with'
app/workers/activitypub/delivery_worker.rb:46:in `block in perform_request'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:51:in `run_code'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:42:in `run_yellow'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:24:in `run'
app/workers/activitypub/delivery_worker.rb:57:in `perform_request'
app/workers/activitypub/delivery_worker.rb:25:in `perform'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
app/lib/sidekiq_error_handler.rb:5:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread'
```
```
WARN: Stoplight::Error::RedLight: https://example.com/inbox
WARN: vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:46:in `run_red'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:25:in `run'
app/workers/activitypub/delivery_worker.rb:57:in `perform_request'
app/workers/activitypub/delivery_worker.rb:25:in `perform'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
app/lib/sidekiq_error_handler.rb:5:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread'
```
2020-01-11 02:15:03 +01:00
Sasha Sorokin
36426ed4ad
Use heading actions and placeholders in settings ( #12801 )
...
This commit:
- Refactors centered text blocks currently used for placeholders
for empty tables and puts styles for it in separate class -
.centered-text, simply aliasing text-align: center. Which is
furtherly used in this commit.
- Improves applications settings page to use heading actions, moving
"New application" button there, and displaying placeholder "You
have no applications" in place of empty table.
- Improves custom emoji settings page to use heading action
for "Upload" button, making it more easily accessible without
need to scroll through all of the emojis.
- Improves email domain blocks settings page, moving "Add new" to the
heading actions and using placeholder "No e-mail domains currently
blacklisted" instead of showing empty table.
2020-01-11 02:14:45 +01:00
Eugen Rochko
baa3db3001
Change audio/video playback to stop playback when out of view ( #12486 )
...
Change video player to not loop, since the audio player doesn't
Change playback and mute buttons to feel snappier
2020-01-11 02:02:21 +01:00
Alexander
05756c9a14
improve status title ( #8596 )
...
* improve shown status title, useful for atom/rss
* use single quotes to satisfy codeclimate
* fix tests, make message more pretty
* fix tests
* fix codestyle
* fix codestyle
* remove atom_serializer_spec
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-01-11 06:58:16 +09:00
Daigo 3 Dango
206dfd7dad
Clarify keyword arguments with ** ( #12769 )
...
This change is to suppress the warning below on on ruby-2.7.0:
- warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
2020-01-11 05:57:05 +09:00
Sasha Sorokin
139f7646a7
Rename page_heading_actions variable ( #12799 )
...
Current name - page_heading_actions is long and hard to remember,
this commit shortens it to just heading_actions, which is way more
easier to remember and write, it's logical too.
2020-01-10 01:10:17 +01:00
ThibG
c306978190
Use quality values in Accept field to explicitly prefer JSON over HTML ( #12806 )
2020-01-10 00:10:29 +01:00
ThibG
51eb111503
Allow blocking TLDs, and fix TLD blocks not being editable ( #12805 )
...
Fixes #12795
It was already possible to create domain blocks for TLDs, but those
weren't enforced, nor editable. This commit changes it so that they
are enforced and editable.
2020-01-08 22:42:05 +01:00
Thibaut Girka
180f138394
Make prepending “re: ” to CWs on reply optional
2020-01-07 19:05:31 +01:00
ThibG
5636c94fe9
[Glitch] Fix reuse of detailed status components
...
Port 12a9813a0c
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-07 16:30:53 +01:00
Thibaut Girka
578553ba05
Merge branch 'master' into glitch-soc/merge-upstream
2020-01-07 16:28:59 +01:00
Sasha Sorokin
345dd93310
Little improvements to filters settings page ( #12793 )
...
When you have many filters, it may be hard for you to reach the button
to create yet another one. This commit moves creation button to the
heading, leaving the page just for the list.
On the other hand, when there are no filters, page looks kind of
strange with the empty table. So text stating obvious fact that user
has no filters was added in this commit too.
Closes #11020
Closes #12790
2020-01-07 10:41:19 +01:00
ThibG
12a9813a0c
Fix reuse of detailed status components ( #12792 )
...
Fixes #12770
2020-01-06 18:22:17 +01:00
Takeshi Umeda
83359fef2b
[Glitch] Fix shortNumberFormat to within 3 chars without units
...
Port 0e8c0287d0
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-04 23:04:52 +01:00
Thibaut Girka
01eaeab56d
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- `app/controllers/application_controller.rb`:
Conflict due to theming system.
- `app/controllers/oauth/authorizations_controller.rb`:
Conflict due to theming system.
2020-01-04 23:04:42 +01:00
Eugen Rochko
49b2f7c0a2
Fix base64-encoded file uploads not being possible ( #12748 )
...
Fix #3804 , Fix #5776
2020-01-04 01:54:07 +01:00
Eugen Rochko
4729341903
Fix missing authentication call in filters controller ( #12746 )
2020-01-03 05:29:08 +01:00
Eugen Rochko
83deae5bd7
Fix uncaught unknown format errors in host meta controller ( #12747 )
2020-01-03 05:28:56 +01:00
ThibG
e4d75f238b
Fix URL search not returning private toots user has access to ( #12742 )
2020-01-03 05:01:45 +01:00
Eugen Rochko
6a8c8dc6fb
Fix cache digesting log noise on status embeds ( #12750 )
2020-01-03 05:00:17 +01:00
Matt Panaro
9cbbc50fcd
Fix 12661 ( #12744 )
...
* Revert "persist last-intersected status update and restore when ScrollableList is restored"
This reverts commit 07e26142ef6a8e74bd2ac5e9b461a5a1699bd4c8.
accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661 . https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
* Revert "cache currently-viewing status id to avoid calling redux with identical value"
This reverts commit c93df2159fbd3888a5c48d8a8b8ae61dbbc54b89.
accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661 . https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
2020-01-02 22:46:42 +01:00
ThibG
aa138ea350
Fix RefollowWorker not keeping show_reblogs setting ( #12707 )
...
* Fix RefollowWorker not keeping show_reblogs setting
* Fix RefollowWorker
2020-01-02 20:52:39 +01:00
Eugen Rochko
09d54d1f62
Fix uncaught query param encoding errors ( #12741 )
2020-01-02 17:14:58 +01:00
Sasha Sorokin
9edab7afaf
Add translation project promotion link ( #12736 )
...
This commit adds promotional notice on appearance settings about
translation project if any other locale than English is used. It
allows users to learn and contribute translations to Mastodon.
Step ahead, in this commit one unusual string is added - link to a
guide. By default it refers to Crowdin project itself, but if any of
Mastodon localization teams established their own guide, they can
refer it. Or, if Crowdin supports localized domain for language, it
can also be put there (e.g. https://fr.crowdin.com/ ...).
2019-12-31 22:15:05 +01:00
Matt Panaro
2a5da8c961
refactor IntersectionObserver to observe viewport in single-column mode ( #12735 )
2019-12-31 21:39:25 +01:00
ThibG
3b3bdc7293
Hide blocked users from more places ( #12733 )
...
* Hide blocked, muted, and blocked-by users from toot favourite lists
* Hide blocked, muted, and blocked-by users from toot reblog lists
* Hide blocked, muted, and blocked-by users from followers/following (API)
* Fix tests
* Hide blocked, muted, and blocked-by users from followers/following on public pages
2019-12-31 00:55:32 +01:00
Eugen Rochko
2999c95596
Fix error when fetching followers/following from REST API when user has network hidden ( #12716 )
...
Fix #12510
2019-12-31 00:54:38 +01:00
Eugen Rochko
f86ee4b59f
Fix IDN mentions not being processed, IDN domains not being rendered ( #12715 )
...
This changes the REST API to return unicode domains in the `acct`
attribute instead of punycode, and to render unicode instead of
punycode on public HTML pages as well.
Fix #7812 , fix #12246
2019-12-30 19:20:43 +01:00
ThibG
b2f81060b7
Remove unused AccountRelationshipsPresenter call in public pages ( #12734 )
...
Those were used to show a “follow” or “unfollow” button on account grid on
public pages, but that got removed a while ago.
2019-12-30 19:13:02 +01:00
Eugen Rochko
bb27ca14ef
Fix error when searching for empty phrase ( #12711 )
...
Fix #12619
2019-12-30 18:30:24 +01:00
Eugen Rochko
6e9e8d89fa
Fix settings pages being cacheable by the browser ( #12714 )
...
Fix #12255
2019-12-30 04:38:30 +01:00
Eugen Rochko
353c94910b
Fix HTML error pages being returned when JSON is expected ( #12713 )
...
Fix #12509
See also #12214
2019-12-30 04:38:18 +01:00
Eugen Rochko
ca78b1473e
Fix undefined error regression in status component in web UI ( #12712 )
...
Regression from #12661
2019-12-30 03:55:11 +01:00
chr v1.x
7e074610a6
Fix backups stopping due to read timeouts ( #12281 )
...
* Make BackupService resilient to read timeouts
If an attachment read times out, assume that the resources is
inaccessible and continue the backup without it. This fixes #12280 .
* Both errors on one line
2019-12-30 03:17:54 +01:00
Takeshi Umeda
0e8c0287d0
Fix shortNumberFormat to within 3 chars without units ( #12706 )
2019-12-29 16:59:25 +01:00
ThibG
162dc845a0
Fix batch actions on non-pending tags in admin interface ( #12537 )
...
- Allow batch actions on unreviewed tags
- Hide checkboxes when batch actions aren't available
2019-12-29 05:41:26 +01:00
Matt Panaro
31f7c3fc5d
Summary: fix slowness due to layout thrashing when reloading a large … ( #12661 )
...
* Summary: fix slowness due to layout thrashing when reloading a large set of status updates
in order to limit the maximum size of a status in a list view (e.g. the home timeline), so as to avoid having to scroll all the way through an abnormally large status update (see https://github.com/tootsuite/mastodon/pull/8205 ), the following steps are taken:
•the element containing the status is rendered in the browser
•its height is calculated, to determine if it exceeds the maximum height threshold.
Unfortunately for performance, these steps are carried out in the componentDidMount(/Update) method, which also performs style modifications on the element. The combination of height request and style modification during javascript evaluation in the browser leads to layout-thrashing, where the elements are repeatedly re-laid-out (see https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing & https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers ).
The solution implemented here is to memoize the collapsed state in Redux the first time the status is seen (e.g. when fetched as part of a small batch, to populate the home timeline) , so that on subsequent re-renders, the value can be queried, rather than recalculated. This strategy is derived from https://github.com/tootsuite/mastodon/pull/4439 & https://github.com/tootsuite/mastodon/pull/4909 , and should resolve https://github.com/tootsuite/mastodon/issues/12455 .
Andrew Lin (https://github.com/onethreeseven ) is thanked for his assistance in root cause analysis and solution brainstorming
* remove getSnapshotBeforeUpdate from status
* remove componentWillUnmount from status
* persist last-intersected status update and restore when ScrollableList is restored
e.g. when navigating from home-timeline to a status conversational thread and <Back again
* cache currently-viewing status id to avoid calling redux with identical value
* refactor collapse toggle to pass explicit boolean
2019-12-29 05:39:48 +01:00
ThibG
dace054c06
[Glitch] Fix manual scrolling issue on Firefox/Windows
...
Port dc0750abc3
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-12-19 14:43:47 +01:00