Eugen Rochko
19b4c666f7
Improve account index migration ( #7684 )
...
* Improve account index migration
- Display more progress in stdout
- Catch PG::UniqueViolation when re-attributing favourites
- Skip callbacks and validations when re-attributing other relationships
* Use in_batches to reduce table lock-up during account merge
* Use #say_with_time to benchmark each deduplication
2018-05-31 17:09:09 +02:00
Eugen Rochko
1e938b966e
Exclude unlisted, private and direct toots from affecting trends ( #7686 )
2018-05-31 16:47:28 +02:00
Eugen Rochko
0ce5339a7b
Make the refresh trends button refresh trends ( #7685 )
2018-05-31 16:46:02 +02:00
Mélanie Chauvel (ariasuni)
691107263c
Put the CW field between the toot we are replying to and the toot field ( #7508 )
...
* Remove Collapsable and use CSS instead
* Put the CW field between the toot we are replying to and the toot field
* Use same spacing between all fields in the composing column
2018-05-31 15:16:31 +02:00
Thibaut Girka
b9fdeceb3c
Make active bookmarks red ( fixes #493 )
2018-05-31 14:39:48 +02:00
Thibaut Girka
cc396f085d
Use history.state to decide whether we should goBack() or go to / ( fixes #247 )
...
So far, glitch-soc used history.length to decide whether to call `goBack()` or
go to / in order to not leave the webUI. This made clicking the “Back” button
go to the “Getting started” column instead of going back in the browser's
history when such an action would leave the web UI, but also when:
- The WebUI is refreshed (F5)
- A tab is restored
- The history length reaches its maximum (e.g., 50 in Firefox)
This commit fixes these shortcomings by checking `window.history.state`.
Indeed, we only want to go back in the browser's history when the current
location has been reached from within the WebUI, which only happens via
`pushState` as far as I know. Since browser store the serialized state in
the browser history, this also survives page reload and session restoration.
2018-05-31 14:39:02 +02:00
Thibaut Girka
f86d280fd6
Use props.router instead of context.router, as we are using withRouter
2018-05-31 14:39:02 +02:00
Thibaut Girka
e8a9627f66
Hardcode default skin/theme in error layout ( fixes #373 )
...
This is a bit hackish. The best way would simply to somehow
use Mastodon's ApplicationController with `use_pack 'error'` from
the Rake task, but I'm not sure how to do that.
2018-05-31 14:38:48 +02:00
Thibaut Girka
893f2aff20
Prevent a rare crash when a status' root node is undefined
2018-05-31 14:38:29 +02:00
Thibaut Girka
e396fbfe3b
Fix direct timeline
2018-05-31 14:37:13 +02:00
Yamagishi Kazutoshi
648a22637c
Weblate translations (2018-05-31) ( #7681 )
...
* Translated using Weblate (Basque)
Currently translated at 100.0% (2 of 2 strings)
Translation: Mastodon/Activerecord
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/eu/
* Translated using Weblate (Corsican)
Currently translated at 100.0% (76 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/co/
* Translated using Weblate (Italian)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/it/
* Translated using Weblate (Galician)
Currently translated at 100.0% (621 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/
* Translated using Weblate (Basque)
Currently translated at 99.3% (297 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/
* Translated using Weblate (Basque)
Currently translated at 55.2% (42 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/
* Translated using Weblate (Basque)
Currently translated at 8.5% (53 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Basque)
Currently translated at 9.0% (56 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Finnish)
Currently translated at 98.9% (296 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/
* Translated using Weblate (Finnish)
Currently translated at 98.9% (296 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/
* Translated using Weblate (Finnish)
Currently translated at 98.9% (296 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/
* Translated using Weblate (Corsican)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/co/
* Translated using Weblate (Corsican)
Currently translated at 99.6% (619 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/co/
* Translated using Weblate (Corsican)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/
* Translated using Weblate (Corsican)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/
* Translated using Weblate (Basque)
Currently translated at 41.3% (257 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (62 of 62 strings)
Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/
* Translated using Weblate (Basque)
Currently translated at 56.5% (43 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/
* Translated using Weblate (Arabic)
Currently translated at 90.8% (564 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (German)
Currently translated at 96.9% (64 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/de/
* Translated using Weblate (German)
Currently translated at 98.4% (65 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/de/
* Translated using Weblate (Basque)
Currently translated at 42.9% (267 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Italian)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/it/
* Translated using Weblate (Italian)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/
* Translated using Weblate (Basque)
Currently translated at 71.0% (54 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/
* Translated using Weblate (Slovak)
Currently translated at 95.3% (592 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Basque)
Currently translated at 43.8% (272 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Japanese)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/
* Translated using Weblate (Basque)
Currently translated at 100.0% (76 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (76 of 76 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (62 of 62 strings)
Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (621 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (621 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Basque)
Currently translated at 100.0% (621 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/
* Translated using Weblate (Slovak)
Currently translated at 100.0% (66 of 66 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/
* Translated using Weblate (Slovak)
Currently translated at 95.3% (592 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (618 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/
* Translated using Weblate (Portuguese)
Currently translated at 83.7% (520 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/
* Translated using Weblate (Japanese)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/
* Translated using Weblate (Slovak)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/
* Translated using Weblate (Arabic)
Currently translated at 91.9% (571 of 621 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* yarn manage:translations && i18n-tasks noramlize && i18n-tasks remove-unused
* remove body_html: ''
* Translated using Weblate (Galician)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/
* Translated using Weblate (Basque)
Currently translated at 100.0% (299 of 299 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/
* yarn manage:translations
2018-05-31 13:00:40 +02:00
Marcin Mikołajczak
063d4d4ccc
🌍 : 🇵🇱 ⬆️ ( #7679 )
...
* 🌍 : 🇵🇱 ⬆️
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
* yarn manage:translations
2018-05-31 11:15:38 +09:00
Jenkins
165b5dc7f5
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-05-31 01:17:25 +00:00
Eugen Rochko
c61c4565ab
Fix nil error in migration ( #7680 )
...
Under rare circumstances the user record could have already been deleted before...
2018-05-31 02:30:37 +02:00
Eugen Rochko
ad40bf5e0c
Speed up some rake tasks by moving execution to Sidekiq ( #7678 )
...
* Speed up some rake tasks by moving execution to Sidekiq
mastodon:media:remove_silenced
mastodon:media:remove_remote
mastodon:media:redownload_avatars
mastodon:feeds:build
* Fix code style issue
2018-05-30 21:09:30 +02:00
Eugen Rochko
a29f196f95
Bump version to 2.4.1rc1
2018-05-30 19:16:41 +02:00
Eugen Rochko
3623aea6c9
Redirect / to home on mobile layout, to getting started on desktop ( #7677 )
2018-05-30 18:42:06 +02:00
Eugen Rochko
1a7a74ff76
Improve getting started column ( #7676 )
...
* Adjust footer of getting started column
- Improved style
- Moved hotkeys, about this instance and logout to footer
- Removed FAQ, User Guide, Apps links
- Use hamburger icon for the column
* Add edit profile action button to profile and more to dropdown
* Add "Trending now" to getting started column
* Add preferences/security links on mobile layout
2018-05-30 18:41:47 +02:00
Yamagishi Kazutoshi
9130b3cda9
Fix broken migrate (regression from #7658 ) ( #7674 )
2018-05-30 09:39:52 +02:00
Eugen Rochko
a16e06bbf5
Deduplicate accounts and make unique username/domain index case-insensitive ( #7658 )
...
Fix #6937
Fix #6837
Fix #6667
2018-05-30 02:51:26 +02:00
Eugen Rochko
a7d726c383
Improve counter caches on Status and Account ( #7644 )
...
Do not touch statuses_count on accounts table when mass-destroying
statuses to reduce load when removing accounts, same for
reblogs_count and favourites_count
Do not count statuses with direct visibility in statuses_count
Fix #828
2018-05-30 02:50:23 +02:00
Eugen Rochko
461542784b
Reduce wasted work in RemoveStatusService due to inactive followers ( #7672 )
2018-05-29 22:55:33 +02:00
Thibaut Girka
e7b3a4263e
[Glitch] Fix low-contrasted cancel button of reply indicator
...
Port 86efccce2a
to glitch-soc
2018-05-29 21:25:47 +02:00
Thibaut Girka
08dbe29e29
[Glitch] Improve load gap styling in web UI
...
Port 45c9f16f71
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
cc589d6ec0
[Glitch] Use randomized setTimeout when fallback-polling and re-add since_id
...
Port dafd7afc5e
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
fbc25bdd2d
[Glitch] Do not crash in getStatusIds when there is a gap in the timeline
...
Port b1938d7853
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
5cc4d34250
[Glitch] Fix gap insertion for timeline disconnection
...
Port 66359ec522
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
15bef77add
[Glitch] Fix ID duplication in timelines
...
Port 306267dbd2
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
4b38ac3bed
[Glitch] Fix comparing id
...
Port 0ba49eca8b
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
6020a21130
[Glitch] Fix LoadMore on account media gallery
...
Port 3523aa440b
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
5d16fd3f28
[Glitch] Add missing null handling in notification reducer
...
Port 2f3ac14a43
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
4eba8c50c3
[Glitch] Allow clients to fetch notifications made while they were offline
...
Port cbf97c03bb
to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
0ad3eedd4c
[Glitch] Allow clients to fetch statuses made while they were offline
...
Port 9a1a55ce52
to glitch-soc
2018-05-29 21:25:28 +02:00
unarist
7706ed038f
Fix context building in the reducer ( #7671 )
...
This fixes below bugs:
* addReply() had used native compare operator for string ids
=> descendants may appears at wrong position
* CONTEXT_FETCH_SUCCESS had added the focused status as the reply of the *first* status in ancestors, not last status.
=> descendants may also appears wrong position as well as correct position
* TIMELINE_UPDATE had added the status to replies of *itself* instead of replied status
=> browser will hangs if you open the status due to a circular reference
2018-05-29 17:42:29 +02:00
Thibaut Girka
532fb8e215
Fix error when unmuting a domain without listing muted domains first
2018-05-29 16:26:39 +02:00
ThibG
0345cd5a0f
Fix error when unmuting a domain without listing muted domains first ( #7670 )
2018-05-29 16:25:05 +02:00
David Yip
6a1544bd46
Merge pull request #525 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2018-05-29 09:06:00 -05:00
Thibaut Girka
c087738270
Merge branch 'master' into glitch-soc/merge-upstream
2018-05-29 13:52:26 +02:00
abcang
90908fc24b
Fix N+1 on AtomSerializer ( #7669 )
2018-05-29 13:34:02 +02:00
Yamagishi Kazutoshi
13b60e6a14
Use URL polyfill ( #7664 )
2018-05-29 13:33:20 +02:00
Eugen Rochko
8bb74e50be
Add GET /api/v2/search which returns rich tag objects, adjust web UI ( #7661 )
2018-05-29 02:01:24 +02:00
Eugen Rochko
90b64c0069
Always display tab navigation on local/federated timeline even when empty ( #7663 )
...
Fix #7659
2018-05-29 02:01:04 +02:00
Eugen Rochko
e599d7caf2
Rescue Mastodon::DimensionsValidationError in Remoteable ( #7662 )
...
Fix #7660
2018-05-29 08:39:02 +09:00
Akihiko Odaki
d95642f6d9
Cache attachments on external host with service worker ( #7493 )
2018-05-29 00:43:47 +02:00
takayamaki
03f4c214b4
fix: Don't validate MX record in development ( #7654 )
2018-05-28 19:14:24 +02:00
Lynx Kotoura
c0355878ba
Fix embed, error and onboarding modals in light theme ( #7656 )
2018-05-28 19:13:20 +02:00
Eugen Rochko
04a2cf8bcc
Fix incomplete flex style on trends items ( #7655 )
2018-05-28 19:12:53 +02:00
Shuhei Kitagawa
b0b34a5e38
Add a test for emojis_controller ( #7652 )
2018-05-28 22:56:58 +09:00
tateisu
b87a1229c7
optimize direct timeline ( #7614 )
...
* optimize direct timeline
* fix typo in class name
* change filter condition for direct timeline
* fix codestyle issue
* revoke index_accounts_not_silenced because direct timeline does not use it.
* revoke index_accounts_not_silenced because direct timeline does not use it.
* fix rspec test condition.
* fix rspec test condition.
* fix rspec test condition.
* revoke adding column and partial index
* (direct timeline) move merging logic to model
* fix pagination parameter
* add method arguments that switches return array of status or cache_ids
* fix order by
* returns ActiveRecord.Relation in default behavor
* fix codestyle issue
2018-05-28 11:04:06 +02:00
Eugen Rochko
ab36e0ef72
Record trending tags from ActivityPub, too ( #7647 )
2018-05-28 12:21:04 +09:00