Thibaut Girka
6476b7dabe
Add options to configure filtering behavior
2019-07-15 00:48:28 +02:00
Thibaut Girka
67d1b0c997
Add a way to know why a status has been filtered, and show it anyway
2019-07-15 00:48:28 +02:00
Thibaut Girka
79e97d71d4
Do not keep polls pre-filled in thread mode
2019-07-15 00:41:09 +02:00
Thibaut Girka
4eb6457889
Fix error boundary CSS
2019-07-15 00:28:31 +02:00
Thibaut Girka
8184a7407d
Fix report dialog crashing when a toot gets deleted
...
Fixes #1155
2019-07-10 19:53:31 +02:00
ThibG
53b0221e7d
Merge pull request #1152 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2019-07-07 22:26:10 +02:00
Thibaut Girka
7e83206853
Re-add route for direct timeline
2019-07-07 14:12:41 +02:00
ThibG
e2c93b4b34
[Glitch] Only scroll to the compose form if it's not horizontally in the viewport
...
Port 64909cf0d9
to glitch-soc
2019-07-07 14:03:12 +02:00
ThibG
73051a4c10
Fix support for HTTP proxies ( #11245 )
...
* Disable incorrect check for hidden services in Socket
Hidden services can only be accessed with an HTTP proxy, in which
case the host seen by the Socket class will be the proxy, not the
target host.
Hidden services are already filtered in `Request#initialize`.
* Use our Socket class to connect to HTTP proxies
Avoid the timeout logic being bypassed
* Add support for IP addresses in Request::Socket
* Refactor a bit, no need to keep the DNS resolver around
2019-07-07 13:53:09 +02:00
Thibaut Girka
d7a7f21646
Merge commit '64909cf0d988fb09917c41cfbc81b1e9a5132aca' into glitch-soc/merge-upstream
...
Unlike upstream, kept the direct timeline endpoint, as it is still of use in
glitch-soc.
2019-07-07 13:49:31 +02:00
ThibG
64909cf0d9
Only scroll to the compose form if it's not horizontally in the viewport ( #11246 )
...
Avoids jumping the scroll around vertically when giving it focus and
editing long toots.
2019-07-06 18:18:08 +02:00
Eugen Rochko
ce5f0247f6
Fix option to send e-mail notification about account action always being true ( #11242 )
2019-07-06 13:54:32 +02:00
ThibG
33607c43a5
Fix HTTP requests to IPv6 hosts ( #11240 )
2019-07-05 22:03:00 +02:00
Thibaut Girka
017b0ea6ff
Allow serializing local-only toots in backup service
...
Fixes #1153
2019-07-05 21:50:19 +02:00
Eugen Rochko
d9f42ba34b
Remove deprecated REST API GET /api/v1/statuses/:id/card
( #11213 )
2019-07-05 02:15:24 +02:00
Eugen Rochko
5704e5c963
Remove deprecated REST API POST /api/v1/notifications/dismiss?id=:id
( #11214 )
2019-07-05 02:15:13 +02:00
Eugen Rochko
6cae1b40bf
Remove deprecated REST API GET /api/v1/timelines/direct
( #11212 )
2019-07-05 02:14:56 +02:00
ThibG
447e13fec3
[Glitch] Memoize ancestorIds and descendantIds in detailed status view
...
Port eda4094171
to glitch-soc
2019-07-04 16:26:17 +02:00
ThibG
b8d7f860ca
[Glitch] When deleting & redrafting a poll, fill in closest expires_in
...
Port a55fd40802
to glitch-soc
2019-07-04 16:24:48 +02:00
Thibaut Girka
9866c2bfff
Merge branch 'master' into glitch-soc/merge-upstream
2019-07-04 16:21:39 +02:00
ThibG
eda4094171
Memoize ancestorIds and descendantIds in detailed status view ( #11234 )
2019-07-02 16:03:54 +02:00
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