Commit graph

4914 commits

Author SHA1 Message Date
ThibG 80d8ff97e4 Fix “read more” button behing hidden (regression from #11404) (#11522)
* Fix “read more” button behing hidden (regression from #11404)

This has the side-effect of putting the “Read more” button below possibly
trunctated polls instead of putting the poll below the “Read more”

* Remove dead code
2019-08-10 00:18:22 +02:00
Eugen Rochko d5963d9401 Fix crash when saving invalid domain name (#11528)
Fix #7629
2019-08-09 21:35:57 +02:00
Eugen Rochko b95281b533 Fix pinned statuses API returning pagination headers (#11526)
Fix #10227
2019-08-09 21:35:35 +02:00
Eugen Rochko 5432edb5a7 Add GIF and WebP support for custom emojis (#11519)
Fix #11466
2019-08-09 21:35:33 +02:00
Eugen Rochko 6861534d9c Fix "cancel follow request" button having unreadable text in web UI (#11521)
Fix #11478
2019-08-09 21:34:54 +02:00
ThibG 80e391afcd Improve focus handling with dropdown menus (#11511)
- Focus first item when activated via keyboard
- When the dropdown menu closes, give back the focus to
  the actual element which was focused prior to opening the menu
2019-08-09 21:34:54 +02:00
ThibG c69f190af9 Fix image uploads being perfectly white when canvas read access is blocked (#11499)
Fixes #11496
2019-08-09 21:34:54 +02:00
ThibG cec93c35d8 Improve keyboard navigation in privacy dropdown (#11492)
* Trap tab in privacy dropdown

* Give focus back to last focused element when privacy dropdown menu closes

* Actually give back focus to the element that had it before clicking the dropdown
2019-08-09 21:34:54 +02:00
ThibG ad6fcb2d9c Improve dropdown menu keyboard navigation (#11491)
* Allow selecting menu items with the space bar in status dropdown menus

* Fix modals opened by keyboard navigation being immediately closed

* Fix menu items triggering modal actions

* Add Tab trapping inside dropdown menu

* Give focus back to last focused element when status dropdown menu closes
2019-08-09 21:34:54 +02:00
ThibG d8cf2a0fb6 Fix privacy dropdown active state when dropdown is placed on top of it (#11495) 2019-08-09 21:34:54 +02:00
ThibG 21e3671e32 Trap tab in modals (#11493) 2019-08-09 21:34:54 +02:00
Jeong Arm 68da55e50c Fix timestamp on featured tag (#11477)
It resolves #11338
2019-08-09 21:34:53 +02:00
ThibG 3f7614f98a Disable list title validation button when list title is empty (#11475) 2019-08-09 21:34:53 +02:00
Jeong Arm c1bc34da04 Prevent archiving when user set "noindex" (#11421) 2019-08-09 21:34:52 +02:00
Eugen Rochko a0896ae4bf Remove timestamps from converted images to make them deterministic (#11408) 2019-08-09 21:34:25 +02:00
Eugen Rochko ed27803822 Change account domain block to clear out notifications and follows (#11393) 2019-08-09 21:34:23 +02:00
Eugen Rochko 9bb23b8d19 Change locale detection to run once per session (#8657)
Fix #6462
2019-08-09 21:33:19 +02:00
ThibG dead24a773 Disallow numeric-only hashtags (#11363)
* Add spec covering numeric-only hashtags

* Fix hashtag regex
2019-08-09 21:33:19 +02:00
koyu d8b8c88c22 Added logout to dropdown menu (#11353)
* Added logout to dropdown menu

* Triggering build-and-test with empty commit as it seems it failed due to some internal failure

* Looks fine, ready to review

* Added changes from review

* method can be null without any problems

* Also target can be null
2019-08-09 21:33:18 +02:00
ThibG ad0866804e Fix avatar animation on hover when not logged in (#11349) 2019-08-09 21:33:18 +02:00
ThibG 6c4a196b53 Fix sanitizing lists contents (#11354)
* Add test

* Fix code for sanitizing nested lists stripping all tags
2019-08-09 21:33:18 +02:00
Eugen Rochko 8c445c80b5 Fix only one middle dot being recognized in hashtags (#11345)
Fix #10934
2019-08-09 21:33:18 +02:00
Eugen Rochko 212848b66e Change language detection to include hashtags as words (#11341) 2019-08-09 21:33:18 +02:00
Eugen Rochko 227c561064 Change terms and privacy policy pages to always be accessible (#11334)
Fix #11328
2019-08-09 21:33:17 +02:00
han@highemelry b21c630043 Change the retry limit in error of web push notification (#11292)
- Change the maximum count of retry for web push notification (Default -> 5).
   - In case of high load of subscribe server, the retries will be repeated many times.
   - Because the retries occupy the default queue, maximum retry count should be reduced.
2019-08-09 21:32:48 +02:00
Eugen Rochko f2795699dd Change ActivityPub::DeliveryWorker to not retry HTTP 501 errors (#11233) 2019-08-09 21:32:40 +02:00
Eugen Rochko d9a024840e Change domain block behaviour to prevent creation of accounts from suspended domains (#11219) 2019-08-09 21:32:40 +02:00
ThibG c8bf30df92 Fix animate on hover in poll options without CW (#11404) 2019-08-06 21:53:23 +02:00
ThibG 7f9431c306 Play animated custom emoji on hover (#11348)
* Play animated custom emoji on hover in status

* Play animated custom emoji on hover in display names

* Play animated custom emoji on hover in bios/bio fields

* Add support for animation on hover on public pages emojis too

* Fix tests

* Code style cleanup
2019-08-06 21:53:21 +02:00
ThibG af410c0706 Display custom emoji in bio field names (#11350)
Already displayed in public pages, but not WebUI
2019-08-06 21:52:25 +02:00
ThibG 16f348431b 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-08-06 21:52:25 +02:00
ThibG 6abd849803 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-08-06 21:52:25 +02:00
ThibG 99b27a8b4b 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-08-06 21:52:25 +02:00
ThibG 39741fa2cd Scroll to compose form rather than reply indicator on focus (#11182) 2019-08-06 21:52:25 +02:00
ThibG 5b3d70ffa7 Display FTS warning based on actual search term, not the one being typed (#11202)
Follow-up to #11112
2019-08-06 21:52:00 +02:00
ThibG 011909262a 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-08-06 21:52:00 +02:00
Eugen Rochko 69680db8a2 Fix unnecessary SQL query performed on unauthenticated requests (#11179) 2019-08-06 21:52:00 +02:00
ThibG 6e28da2139 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-08-06 21:52:00 +02:00
Eugen Rochko 74982c71b0 Fix delete regression (#11450)
Regression from ff789a751a
2019-08-06 21:51:29 +02:00
ThibG c83c87fbe2 Fix boosting & unboosting preventing a boost from appearing in the TL (#11405)
* Fix boosting & unboosting preventing a boost from appearing in the TL

* Add tests

* Avoids side effects when aggregate_reblogs isn't true
2019-08-06 21:51:29 +02:00
ThibG 363afe5e05 Memoize ancestorIds and descendantIds in detailed status view (#11234) 2019-08-06 21:51:02 +02:00
ThibG d588173ab3 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-08-06 21:51:02 +02:00
Eugen Rochko d1d3684fb5 Fix alerts booleans not being typecast correctly in push subscription (#11343)
* Fix `alerts` booleans not being typecast correctly in push subscription

Fix #10789

* Fix typo
2019-08-06 21:50:45 +02:00
ThibG 6a3876bdaa Fix some flash notices/alerts staying on unrelated pages (#11364) 2019-08-06 21:50:45 +02:00
Eugen Rochko 769bbd511f Fix statsd UDP sockets not being cleaned up in Sidekiq (#11230) 2019-08-06 21:50:45 +02:00
ThibG 5d79df0273 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-08-06 21:50:45 +02:00
Eugen Rochko 0367ddb62c Fix support for MP4 files that are actually M4V files (#11210)
Resolve #11187
2019-08-06 21:50:45 +02:00
ThibG 8904487324 Fix invites not being disabled upon account suspension (#11412)
* Disable invite links from disabled/suspended users

* Add has_many invites relationship to users

* Destroy unused invites when suspending an account
2019-08-06 21:50:06 +02:00
ThibG 6782922584 Fix BlockService trying to reject incorrect follow request (#11288)
Fixes #11148
2019-08-06 21:50:05 +02:00
ThibG 8066717558 Fix Status.remote scope matching *all* statuses (#11265) 2019-08-06 21:50:05 +02:00