Commit graph

3491 commits

Author SHA1 Message Date
Thibaut Girka
16b79a6237 Add options to configure filtering behavior 2019-07-15 00:48:28 +02:00
Thibaut Girka
bde7a415b9 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
e9fac2def9 Do not keep polls pre-filled in thread mode 2019-07-15 00:41:09 +02:00
Thibaut Girka
e0bfa685c6 Fix error boundary CSS 2019-07-15 00:28:31 +02:00
Thibaut Girka
0baaee495f Fix report dialog crashing when a toot gets deleted
Fixes #1155
2019-07-10 19:53:31 +02:00
ThibG
64f3bc77ac [Glitch] Only scroll to the compose form if it's not horizontally in the viewport
Port c07cca4727 to glitch-soc
2019-07-07 14:03:12 +02:00
Thibaut Girka
7039dca12c Merge commit 'c07cca4727041ea5a5721acbc603d4bfb45a15a6' 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
c07cca4727 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
ThibG
47c30be8d8 [Glitch] Memoize ancestorIds and descendantIds in detailed status view
Port 99924f282f to glitch-soc
2019-07-04 16:26:17 +02:00
ThibG
894d82a325 [Glitch] When deleting & redrafting a poll, fill in closest expires_in
Port dc88d226e1 to glitch-soc
2019-07-04 16:24:48 +02:00
Thibaut Girka
6ab84c12a7 Merge branch 'master' into glitch-soc/merge-upstream 2019-07-04 16:21:39 +02:00
ThibG
99924f282f Memoize ancestorIds and descendantIds in detailed status view (#11234) 2019-07-02 16:03:54 +02:00
ThibG
dc88d226e1 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
Thibaut Girka
c94966891a Minor cleanup and maybe minor performance improvements 2019-07-01 19:31:21 +02:00
Thibaut Girka
9d6b46fe34 Minor optimization regarding regexp filtering in timelines 2019-07-01 19:31:21 +02:00
Thibaut Girka
c49f7d5d16 Use strict equality rather than Immutable.is as the compared props are values 2019-07-01 19:31:10 +02:00
Thibaut Girka
82a76f03a4 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
c0b5ee315d 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
0ef6a114e7 Fix error boundary DOM 2019-07-01 19:30:59 +02:00
Thibaut Girka
82cd138c89 Fix some React warnings 2019-07-01 19:30:59 +02:00
Thibaut Girka
b6e9b7d1cd [Glitch] When sending a toot, ensure a CW is only set if the CW field is visible
Partial port of ccc7fe3e1d to glitch-soc

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

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

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

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

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

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

* Fix memoized result being cleared too often

* Make notifications use memoized getFiltersRegex
2019-06-30 00:12:38 +02:00
ThibG
ccc7fe3e1d When sending a toot, ensure a CW is only set if the CW field is visible (#11206)
In some occasions, such as the browser or a browser extension auto-filling
the existing but disabled/hidden CW field, a CW can be set without the user
knowing.
2019-06-29 18:32:36 +02:00
ThibG
84ff393842 Use ScrollToOptions for smooth scrolling if supported (#11207) 2019-06-29 18:32:06 +02:00
Eugen Rochko
662252c8f7 [Glitch] Add categories for custom emojis
Port front-end changes from e64e6a03dd to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-28 21:42:37 +02:00
ThibG
4d964398de [Glitch] Fix swiping columns on mobile sometimes failing
Port 072158ee97 to glitch-soc
2019-06-28 21:38:34 +02:00
Thibaut Girka
3922b518f7 Merge branch 'master' into glitch-soc/merge-upstream 2019-06-28 21:36:50 +02:00
ThibG
4f5b221be2 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
43698e08ca [Glitch] Add message telling FTS is disabled when no toot can be found because of this
Port ca8944728f to glitch-soc
2019-06-28 18:54:56 +02:00
Eugen Rochko
e64e6a03dd
Add categories for custom emojis (#11196)
Fix #7940
2019-06-28 15:54:10 +02:00
ThibG
072158ee97 Fix swiping columns on mobile sometimes failing (#11200)
Fixes #9779
2019-06-28 13:52:15 +02:00
Thibaut Girka
c8ba75b963 Merge branch 'master' into glitch-soc/merge-upstream 2019-06-28 12:11:45 +02:00
Thibaut Girka
6ad870a410 Change search components classes and styling to match upstream 2019-06-28 11:13:41 +02:00
ThibG
ca8944728f Add message telling FTS is disabled when no toot can be found because of this (#11112)
* Add message telling FTS is disabled when no toot can be found because of this

Fixes #11082

* Remove info icon and reword message
2019-06-27 21:12:26 +02:00
ThibG
4175f13155 [Glitch] Add option to disable blurhash previews
Port 3086c645fd to glitch-soc
2019-06-26 23:19:26 +02:00
PatOnTheBack
383136d9bb [Glitch] Removed extra pipes from regex.
Port 5b20284f6f to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-26 23:19:26 +02:00
ThibG
5c3171e8ea [Glitch] Apply filters to poll options in WebUI
Port 47ef4a6c7a to glitch-soc
2019-06-26 23:19:26 +02:00
Thibaut Girka
aaec64a500 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/controllers/settings/preferences_controller.rb
- app/lib/user_settings_decorator.rb
- app/models/user.rb
- config/locales/simple_form.en.yml
2019-06-26 23:19:22 +02:00
ThibG
3086c645fd Add option to disable blurhash previews (#11188)
* Add option to disable blurhash previews

* Update option text

* Change options order
2019-06-26 19:33:04 +02:00
ThibG
32a4494926 Scroll to compose form rather than reply indicator on focus (#11182) 2019-06-26 14:28:36 +02:00
Thibaut Girka
9ef25877df Scroll to compose form rather than reply indicator on focus 2019-06-26 10:46:11 +02:00
PatOnTheBack
5b20284f6f Removed extra pipes from regex. (#11181) 2019-06-26 02:16:24 +02:00
ThibG
47ef4a6c7a Apply filters to poll options (#11174)
* Apply filters to poll options in WebUI

Fixes #11128

* Apply filters to poll options server-side

* Add poll options to searchable text
2019-06-25 14:45:14 +02:00
Thibaut Girka
598cdc9542 Use a different icon for audio attachments 2019-06-24 16:16:16 +02:00
Eugen Rochko
d7eb580053 [Glitch] Add media description as title to links of unknown media attachments
Port front-end changes from 49ebda4d49 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-24 16:00:42 +02:00
Eugen Rochko
967456b6a9 [Glitch] Add audio uploads
Port front-end changes from f7f23b4a19 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-24 16:00:42 +02:00
Thibaut Girka
ddd875ad99 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/models/media_attachment.rb
  Upstream added audio attachment support
- app/serializers/initial_state_serializer.rb
  Upstream added audio attachment support and how mimetypes are returned
- app/serializers/rest/instance_serializer.rb
  Upstream added a few fields
- config/application.rb
  Upstream added a different paperclip transcoder
2019-06-24 15:02:59 +02:00