Commit graph

9924 commits

Author SHA1 Message Date
Eugen Rochko
3ce4cdd552 Remove unused StatsD code and expose StatsD as a global variable (#11232)
The instrumentation code was used for StatsD metrics collection
prior to the switch to the nsa gem and should have been removed
at that point as it no longer does anything at all
2019-07-02 11:34:39 +02:00
Eugen Rochko
7391d223ab Fix statsd UDP sockets not being cleaned up in Sidekiq (#11230) 2019-07-02 01:01:17 +02:00
Eugen Rochko
227d9297ba Change ActivityPub::DeliveryWorker to not retry HTTP 501 errors (#11233) 2019-07-02 00:59:53 +02:00
ThibG
a55fd40802 When deleting & redrafting a poll, fill in closest expires_in (#11203)
Use the smallest preset expires_in such that the new poll would
not expire before the old one.

In the typical case of a quick delete & redraft, this results in
using the same poll duration.

Fixes #10567
2019-07-02 00:36:16 +02:00
Eugen Rochko
e782fcef4f Add request pool to improve delivery performance (#10353)
* Add request pool to improve delivery performance

Fix #7909

* Ensure connection is closed when exception interrupts execution

* Remove Timeout#timeout from socket connection

* Fix infinite retrial loop on HTTP::ConnectionError

* Close sockets on failure, reduce idle time to 90 seconds

* Add MAX_REQUEST_POOL_SIZE option to limit concurrent connections to the same server

* Use a shared pool size, 512 by default, to stay below open file limit

* Add some tests

* Add more tests

* Reduce MAX_IDLE_TIME from 90 to 30 seconds, reap every 30 seconds

* Use a shared pool that returns preferred connection but re-purposes other ones when needed

* Fix wrong connection being returned on subsequent calls within the same thread

* Reduce mutex calls on flushes from 2 to 1 and add test for reaping
2019-07-02 00:34:38 +02:00
Thibaut Girka
1181f84c79 Minor cleanup and maybe minor performance improvements 2019-07-01 19:31:21 +02:00
Thibaut Girka
65b1946489 Minor optimization regarding regexp filtering in timelines 2019-07-01 19:31:21 +02:00
Thibaut Girka
bcbc9ed7f6 Use strict equality rather than Immutable.is as the compared props are values 2019-07-01 19:31:10 +02:00
Thibaut Girka
e4ffc42c8c Assume children of visible IntersectionObserverArticle always change
This fixes multiple issues, while adding few computations
2019-07-01 19:31:10 +02:00
Thibaut Girka
b9ae9c7205 Revert to using upstream's optimisations
This *does* break things, as `shouldComponentUpdate` assume the
children to never change!
2019-07-01 19:31:10 +02:00
Thibaut Girka
081790f04b Fix error boundary DOM 2019-07-01 19:30:59 +02:00
Thibaut Girka
edad7f2a6c Fix some React warnings 2019-07-01 19:30:59 +02:00
ThibG
d46e1ae25a Merge pull request #1148 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-07-01 19:30:46 +02:00
Eugen Rochko
9ac82421f8 Change domain block behaviour to prevent creation of accounts from suspended domains (#11219) 2019-07-01 19:13:30 +02:00
dependabot-preview[bot]
eda8ac5298 Bump rubocop from 0.71.0 to 0.72.0 (#11229)
Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 0.71.0 to 0.72.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.71.0...v0.72.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 22:36:45 +09:00
dependabot-preview[bot]
0b527c27c7 Bump capybara from 3.24.0 to 3.25.0 (#11225)
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.24.0...3.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 22:34:51 +09:00
dependabot-preview[bot]
aa1d8a4aad Bump memory_profiler from 0.9.13 to 0.9.14 (#11227)
Bumps [memory_profiler](https://github.com/SamSaffron/memory_profiler) from 0.9.13 to 0.9.14.
- [Release notes](https://github.com/SamSaffron/memory_profiler/releases)
- [Changelog](https://github.com/SamSaffron/memory_profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/SamSaffron/memory_profiler/compare/v0.9.13...v0.9.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 22:34:25 +09:00
dependabot-preview[bot]
6dcda24de2 Bump bullet from 6.0.0 to 6.0.1 (#11228)
Bumps [bullet](https://github.com/flyerhzm/bullet) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/flyerhzm/bullet/releases)
- [Changelog](https://github.com/flyerhzm/bullet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/6.0.0...6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 22:33:54 +09:00
dependabot-preview[bot]
f556f363db Bump eslint-plugin-promise from 4.1.1 to 4.2.1 (#11223)
Bumps [eslint-plugin-promise](https://github.com/xjamundx/eslint-plugin-promise) from 4.1.1 to 4.2.1.
- [Release notes](https://github.com/xjamundx/eslint-plugin-promise/releases)
- [Changelog](https://github.com/xjamundx/eslint-plugin-promise/blob/master/CHANGELOG.md)
- [Commits](https://github.com/xjamundx/eslint-plugin-promise/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 21:29:56 +09:00
dependabot-preview[bot]
05cead26f8 Bump webpack-cli from 3.3.4 to 3.3.5 (#11221)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.4 to 3.3.5.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.4...v3.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-01 21:23:40 +09:00
ThibG
a70732fd06 Fix expiration date of filters being set to “Never” when editing them (#11204)
When editing a custom filter, select the shortest preset duration that
still covers the remaining time of that filter.

Fixes #9506
2019-06-30 16:11:21 +02:00
Eugen Rochko
6385ddb97f Fix support for MP4 files that are actually M4V files (#11210)
Resolve #11187
2019-06-30 16:10:43 +02:00
Thibaut Girka
6b21ce2daa [Glitch] When sending a toot, ensure a CW is only set if the CW field is visible
Partial port of fa7866c9c8 to glitch-soc

It doesn't ensure the field isn't changed, just that it isn't submitted if
the field isn't visible. Ensuring the field isn't changed would require
reworking the “always show CW field” feature.
2019-06-30 14:35:03 +02:00
ThibG
c49a57e989 [Glitch] Optimize makeGetStatus
Port ff65c494a6 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:06:04 +02:00
ThibG
68e998de21 [Glitch] Use ScrollToOptions for smooth scrolling if supported
Port 20b1f8dcf6 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:01:01 +02:00
Thibaut Girka
5c23174a2f Merge branch 'master' into glitch-soc/merge-upstream 2019-06-30 10:59:45 +02:00
ThibG
ff65c494a6 Optimize makeGetStatus (#11211)
* Optimize makeGetStatus

Because `ImmutableList.filter` always returns a new object and `createSelector`
memoizes based on object identity, the selector returned by `makeGetStatus`
would *always* execute.

To avoid that, we wrap `getFilters` into a new memoizer that memoizes based on
deep equality, thus returning the same object as long as the filters haven't
changed, allowing the memoization of `makeGetStatus` to work.

Furthermore, we memoize the compiled regexs instead of recomputing them each
time the selector is called.

* Fix memoized result being cleared too often

* Make notifications use memoized getFiltersRegex
2019-06-30 00:12:38 +02:00
ThibG
fa7866c9c8 When sending a toot, ensure a CW is only set if the CW field is visible (#11206)
In some occasions, such as the browser or a browser extension auto-filling
the existing but disabled/hidden CW field, a CW can be set without the user
knowing.
2019-06-29 18:32:36 +02:00
ThibG
20b1f8dcf6 Use ScrollToOptions for smooth scrolling if supported (#11207) 2019-06-29 18:32:06 +02:00
ThibG
48260a9a54 Merge pull request #1146 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-06-28 22:35:54 +02:00
Eugen Rochko
a3cd9e432d [Glitch] Add categories for custom emojis
Port front-end changes from 1c612f24e4 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-28 21:42:37 +02:00
ThibG
284ff65022 [Glitch] Fix swiping columns on mobile sometimes failing
Port 9668e42afd to glitch-soc
2019-06-28 21:38:34 +02:00
Thibaut Girka
6739c423ff Merge branch 'master' into glitch-soc/merge-upstream 2019-06-28 21:36:50 +02:00
ThibG
72dc1b3e60 Display FTS warning based on actual search term, not the one being typed (#11202)
Follow-up to #11112
2019-06-28 19:29:11 +02:00
ThibG
3bb035f8be Merge pull request #1145 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-06-28 19:11:06 +02:00
ThibG
a393529547 [Glitch] Add message telling FTS is disabled when no toot can be found because of this
Port 0943e994dd to glitch-soc
2019-06-28 18:54:56 +02:00
Eugen Rochko
1c612f24e4 Add categories for custom emojis (#11196)
Fix #7940
2019-06-28 15:54:10 +02:00
ThibG
9668e42afd Fix swiping columns on mobile sometimes failing (#11200)
Fixes #9779
2019-06-28 13:52:15 +02:00
Thibaut Girka
8176d21824 Merge branch 'master' into glitch-soc/merge-upstream 2019-06-28 12:11:45 +02:00
Thibaut Girka
ad4ebd172a Change search components classes and styling to match upstream 2019-06-28 11:13:41 +02:00
ThibG
0943e994dd Add message telling FTS is disabled when no toot can be found because of this (#11112)
* Add message telling FTS is disabled when no toot can be found because of this

Fixes #11082

* Remove info icon and reword message
2019-06-27 21:12:26 +02:00
ThibG
8adac384ed Fix account URI in UpdatePollSerializer (#11194)
* Fix account URI in UpdatePollSerializer

Fixes #11185

* Add specs
2019-06-27 19:41:55 +02:00
Thibaut Girka
ec1fcf1584 Use a redis-cached feed for the DM timeline 2019-06-27 16:44:12 +02:00
ThibG
eead3a7c91 Merge pull request #1142 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-06-27 16:43:55 +02:00
Thibaut Girka
b445d2fbc0 Merge branch 'master' into glitch-soc/merge-upstream 2019-06-27 15:48:23 +02:00
mayaeh
9fb7c513e3 Fix NameError (#11192) 2019-06-27 09:16:55 +02:00
ThibG
dd97db20d0 [Glitch] Add option to disable blurhash previews
Port 4b3d91dc2c to glitch-soc
2019-06-26 23:19:26 +02:00
PatOnTheBack
426758b619 [Glitch] Removed extra pipes from regex.
Port 9a216634a1 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-26 23:19:26 +02:00
ThibG
105d248fea [Glitch] Apply filters to poll options in WebUI
Port 42c803fe61 to glitch-soc
2019-06-26 23:19:26 +02:00
Thibaut Girka
acbed64f3d Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/controllers/settings/preferences_controller.rb
- app/lib/user_settings_decorator.rb
- app/models/user.rb
- config/locales/simple_form.en.yml
2019-06-26 23:19:22 +02:00