Commit Graph

240 Commits

Author SHA1 Message Date
Claire
dd4c156f33
Fix possible duplicate statuses in timelines in some edge cases (#17971)
In some rare cases, when receiving statuses out of order from the streaming
API then polling from the REST API, it was possible for the
`expandNormalizedTimeline` function to insert duplicates in the timeline,
which would then result in several bugs.

This commits ensures that there are no duplicates inserted in the
timeline.
2022-04-06 21:01:41 +02:00
Eugen Rochko
cb2e198d89
Fix not showing loading indicator when searching in web UI (#17655) 2022-02-27 07:37:07 +01:00
Claire
2cd31b3177
Fix reply button on media modal not giving focus to compose form (#17626)
* Avoid compose form and modal management fighting for focus

* Fix reply button on media modal footer not giving focus to compose form
2022-02-25 00:51:01 +01:00
Eugen Rochko
d4592bbfcd
Add explore page to web UI (#17123)
* Add explore page to web UI

* Fix not removing loaded statuses from trends on mute/block action
2022-02-25 00:34:33 +01:00
Claire
b7cf11d5a9
Fix reporting from profile (#17632)
* Fix reporting from profile

* Clean up dead code
2022-02-23 21:37:02 +01:00
Eugen Rochko
a9a43de6d1
Change report modal to include category selection in web UI (#17565)
* Change report modal to include category selection in web UI

* Various fixes and improvements

- Change thank you text to be different based on category
- Change starting headline to be different for account and status reports
- Change toggle components to have a checkmark when checked
- Fix report dialog being cut off on small screens
- Fix thank you screen offering mute or block if already muted or blocked
- Refactor toggle components in report dialog into one component

* Change wording on final screen

* Change checkboxes to be square when multiple options are possible
2022-02-23 20:03:46 +01:00
Eugen Rochko
7b816eb5ae
Add notifications for new sign-ups (#16953) 2022-02-23 16:45:22 +01:00
Eugen Rochko
8f03b7a2fb
Add notifications when a reblogged status has been updated (#17404)
* Add notifications when a reblogged status has been updated

* Change wording to say "edit" instead of "update" and add missing controls

* Replace previous update notifications with the most up-to-date one
2022-02-11 22:20:19 +01:00
Eugen Rochko
63002cde03
Add editing for published statuses (#17320)
* Add editing for published statuses

* Fix change of multiple-choice boolean in poll not resetting votes

* Remove the ability to update existing media attachments for now
2022-02-10 00:15:30 +01:00
Eugen Rochko
fd3a45e348
Add edit history to web UI (#17390)
* Add edit history to web UI

* Change history reducer to store items per status

* Fix missing loading prop
2022-02-09 01:17:07 +01:00
David Sterry
2aafa5b4e7
ignore hashtag suggestions if they vary only in case (#16460)
* ignore hashtag suggestions if they vary only in case

* remove console.logs and unused args

* consistently add space when dismissing suggestions

* linting
2021-12-15 23:47:19 +01:00
Eugen Rochko
7de0ee7aba
Remove Keybase integration (#17045) 2021-11-26 05:58:18 +01:00
Eugen Rochko
52e5c07948
Change routing paths to use usernames in web UI (#16171) 2021-09-26 05:46:13 +02:00
Claire
a8a7066e97
Add confirmation modal when closing media edit modal with unsaved changes (#16518)
* Add confirmation modal when closing media edit modal with unsaved changes

* Move focal point media state to redux so it does not get erased by confirmation dialog

* Change upload modal behavior to keep it open while saving changes

Instead of closing it immediately and losing changes if they fail to save…

* Make it work with react-intl 2.9
2021-07-25 01:14:43 +02:00
Claire
3dcf3f2a3a
Fix minor code quality issues (#16502) 2021-07-14 05:36:23 +02:00
Claire
d3791cca0c
Improve modal flow and back button handling (#16499)
* Refactor shouldUpdateScroll passing

So far, shouldUpdateScroll has been manually passed down from the very top of
the React component hierarchy even though it is a static function common to
all ScrollContainer instances, so replaced that with a custom class extending
ScrollContainer.

* Generalize “press back to close modal” to any modal and to public pages

* Fix boost confirmation modal closing media modal
2021-07-13 15:45:17 +02:00
Claire
e592e47e19
Fix WebUI crash when a toot with a playing video gets deleted (#16384)
* Fix WebUI crash when a toot with a playing video gets deleted

* Fix pop-up player not closing the moment a status is deleted
2021-06-25 04:45:17 +02:00
Claire
92f1d739b5
Fix unread notification count when polling (#16272)
* Fix unread notification count when polling

Fixes #16236

* Immediately fetch markers to avoid incorrect unread notification count
2021-05-19 23:51:05 +02:00
Eugen Rochko
0ad240cb6b
Change home timeline to reload after follow recommendations in web UI (#16160) 2021-05-07 14:33:57 +02:00
Eugen Rochko
f7117646af
Add cold-start follow recommendations (#15945) 2021-04-12 12:37:14 +02:00
Claire
55ac2b9c60
Add option to opt out of unread notification markers (#15842)
Fixes #15133
2021-03-19 02:44:57 +01:00
kaias1jp
08ae116dc6
Fixed WebUI crash when a status opened in the media modal is deleted (#15701)
* Fixed picture in picture compatibility error in WebUI when status is deleted

* Revert "Fixed picture in picture compatibility error in WebUI when status is deleted"

This reverts commit f003b7d9d88688e9504f7dfae1545d7522fcfd98.

* Close the modal display of the image when status is deleted

* Fixed the case statement before the default statement

* Removed unnecessary parts
2021-02-11 19:59:47 +01:00
Claire
07b46cb332
Add dropdown for boost privacy in boost confirmation modal (#15704)
* Various dropdown code quality fixes

* Prepare support for privacy selection in boost modal

* Add dropdown for boost privacy in boost confirmation modal
2021-02-11 00:53:12 +01:00
ThibG
79efcf8aad
Change notification permission handling (#15176)
* Change notification permission handling

- allow changing individual alert settings even if permission is not explicitly
  enabled (asks for permission on toggle)
- persist permission request banner dismissal across sessions through settings

* Add additional, more discrete message to grant permissions

* Change permission granting button design according to reviews

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-15 18:43:54 +01:00
Eugen Rochko
18ca4e0e9a
Fix pop-out player appearing on mobile screens in web UI (#15157)
Fix #15092
2020-11-16 05:16:39 +01:00
Eugen Rochko
4790a126be
Add button to dismiss desktop notifications permissions banner (#15141) 2020-11-11 05:36:29 +01:00
ThibG
3678b10823
Fix follow request notifications (#15048) 2020-10-26 15:41:28 +01:00
Eugen Rochko
a69ca29473
Change how missing desktop notifications permission is displayed (#14985)
Add missing controls for new notification type
2020-10-15 16:24:47 +02:00
OSAMU SATO
96761752ec
Add duration parameter to muting. (#13831)
* Adding duration to muting.

* Remove useless checks
2020-10-13 01:01:14 +02:00
ThibG
f54ca3d08e
Fix browser notification permission request logic (#13543)
* Add notification permission handling code

* Request notification permission when enabling any notification setting

* Add badge to notification settings when permissions insufficient

* Disable alerts by default, requesting permission and enable them on onboarding
2020-10-13 00:37:21 +02:00
ThibG
dc52a778e1
Fix issue checking for last unread notification when there are gaps (#14960) 2020-10-09 17:12:52 +02:00
ThibG
dac3e362fd
Fix unread notification marker not updating when mounting column (#14954) 2020-10-08 00:35:27 +02:00
ThibG
82951920f7
Fix bell button causing a brief “Cancel follow request” on locked accounts (#14896) 2020-09-28 21:44:29 +02:00
Eugen Rochko
d88a79b456
Add pop-out player for audio/video in web UI (#14870)
Fix #11160
2020-09-28 13:29:43 +02:00
ThibG
ff89025979
Add unread notification markers (#14818)
* Add unread notification markers

Fixes #14804

* Allow IntersectionObserverArticle's children to be updated
2020-09-26 20:57:07 +02:00
ThibG
38579b9f74
Fix block/mute pagination in WebUI (#14275)
Fixes #14274
2020-07-10 18:04:18 +02:00
ThibG
6fda3cbbeb
Freeze scroll position when a dropdown menu is open in the TL (#14271)
* Freeze scroll position when a dropdown menu is open in the TL

* Apply this to direct TL as well

* Fix case when mouse leaves the menu
2020-07-09 15:09:19 +02:00
Eugen Rochko
06fc6a9cd4
Add ability to choose media thumbnail in web UI (#14244) 2020-07-07 12:14:19 +02:00
Eugen Rochko
c3187411c2
Change design of account notes in web UI (#14208)
* Change design of account notes in web UI

* Fix `for` -> `htmlFor`
2020-07-07 01:24:03 +02:00
ThibG
65506bac3f
Add user notes on accounts (#14148)
* Add UserNote model

* Add UI for user notes

* Put comment in relationships entity

* Add API to create user notes

* Copy user notes to new account when receiving a Move activity

* Address some of the review remarks

* Replace modal by inline edition

* Please CodeClimate

* Button design changes

* Change design again

* Cancel note edition when pressing Escape

* Fixes

* Tweak design again

* Move “Add note” item, and allow users to add notes to themselves

* Rename UserNote into AccountNote, rename “comment” Relationship attribute to “note”
2020-06-30 19:19:50 +02:00
ThibG
fa4876a1b9
Fix read marker state not being udpated internally (#14155)
Fixes #14151
2020-06-28 20:55:32 +02:00
ThibG
5aff2a6957
Fix timeline markers not working on Chrome (#13887)
* Periodically save timeline markers

This saves timeline markers immediately upon message arrival, but not more
than once every 5 minutes.

This does not change how the markers are saved on closing the window,
except that it avoids submitting them if there is no need for it.

* Use the Fetch API when possible instead of XHR on window unload
2020-05-29 16:14:16 +02:00
ThibG
ad9c7aefe6
Refactor/cleanup TIMELINE_DELETE-related code (#13175) 2020-04-28 09:53:42 +02:00
ThibG
ec31b1b752
Fix WebUI pagination of following, followers, follow requests, blocks and mutes lists (#13445)
* Fix following, followers and follow requests pagination

* Fix pagination of blocks and mutes
2020-04-12 13:38:00 +02:00
ThibG
cf1fa73347
Fix content warning being unnecessarily cleared when enabling/disabling CW (#13348) 2020-03-31 14:10:18 +02:00
Bèr Kessels
fd76955f39
Code style improvements in JavaScript (#13159)
* JS-linter: fix trailing comma's

* Configure eslinter to ignore this onchange error.
2020-03-08 16:02:36 +01:00
ThibG
3adc722d1c
Change how unread announcements are handled (#13020)
* Change meaning of /api/v1/announcements/:id/dismiss to mark an announcement as read

* Change how unread announcements are counted in UI

* Add unread marker to announcements and mark announcements as unread as they are displayed

* Fixups
2020-02-03 01:53:09 +01:00
Eugen Rochko
bba0269d97
Fix mascot being too large, and a code style issue (#13002) 2020-01-29 16:18:33 +01:00
Eugen Rochko
0fcc4b1c56
Change announcements to be collapsed on page load in web UI (#12990) 2020-01-28 02:20:47 +01:00
Eugen Rochko
b9d74d4076
Add streaming API updates for announcements being modified or deleted (#12963)
Change `all_day` to be a visual client-side cue only

Publish immediately if `scheduled_at` is in the past

Add `published_at` and `updated_at` to announcements JSON
2020-01-26 20:07:26 +01:00