Eugen Rochko
28636f43e4
Add OCR tool to media editing modal ( #11566 )
5 years ago
ThibG
f178a01c11
Fix client-side resizing of image uploads ( #11570 )
...
Fixes #11567
5 years ago
Eugen Rochko
23f7afa562
Add media editing modal ( #11563 )
...
Move media description input to a modal and unite that modal with
the focal point modal. Add a hint about choosing focal points, as
well as a preview of a 16:9 thumbnail. Enable the user to watch
the video next to the media description input.
Fix #8320
Fix #6713
5 years ago
Eugen Rochko
0e9668051e
Fix short number formatting for numbers above million in web UI ( #11559 )
5 years ago
Eugen Rochko
c09ecbc53e
Add indicator of unread content to window title when web UI is out of focus ( #11560 )
...
Fix #1288
5 years ago
ThibG
fd01043691
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
5 years ago
Eugen Rochko
e823b49214
Fix "cancel follow request" button having unreadable text in web UI ( #11521 )
...
Fix #11478
5 years ago
ThibG
396b8cdd0f
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
5 years ago
Eugen Rochko
5e35aa8280
Fix non-lowercase hashtags not being picked up by the streaming API ( #11508 )
...
Regression from f371b32
Fix hashtag links always being lowercase
5 years ago
Eugen Rochko
9072fe5ab6
Add trends UI with admin and user settings ( #11502 )
5 years ago
Eugen Rochko
1d8d553d8b
Revert "Change links in webUI to rewrite misleading links ( #11426 )" ( #11500 )
...
This reverts commit b31b232edf
.
5 years ago
ThibG
111a0628fc
Fix image uploads being perfectly white when canvas read access is blocked ( #11499 )
...
Fixes #11496
5 years ago
ThibG
27a0d02d0d
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
5 years ago
ThibG
a12f1a0baf
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
5 years ago
ThibG
5c73746b69
Trap tab in modals ( #11493 )
5 years ago
ThibG
792d0dd470
Fix privacy dropdown active state when dropdown is placed on top of it ( #11495 )
5 years ago
ThibG
c8fd823327
Change icon button styles to make hover/focus states more obvious ( #11474 )
...
* Change icon buttons styles to make hover/focused states more obvious
* Fix CW button size inconsistency
* Fix icon button background color consistency
5 years ago
ThibG
089c641020
Disable list title validation button when list title is empty ( #11475 )
5 years ago
Eugen Rochko
2dee293c4c
Fix scroll to top in single column UI ( #11463 )
5 years ago
Eugen Rochko
706a48ee1f
Fix column header scrolling with the page ( #11458 )
...
Regression from aa22b38
5 years ago
Eugen Rochko
648cdbc04a
Add hashtag score for better sorting of autosuggestions ( #11427 )
...
* Add hashtag score for better sorting of autosuggestions
* Do not use `~<~` operator with no text_pattern_ops index
5 years ago
ThibG
b31b232edf
Change links in webUI to rewrite misleading links ( #11426 )
...
* [WiP] Show host for “misleading” links
* Disallow misleading targets which domain names are prefixes of link text
* Move decodeIDNA to app/javascript/mastodon/utils
* Add support for international domain names
* Change link origin tag color to darker text color
* Handle links to domains starting with www. as shortened by Mastodon
* [WiP] Ignore links that cannot be misread as URLs, rewrite other links
5 years ago
ThibG
78144f4c79
Fix crash when expanding search results for hashtags ( #11447 )
5 years ago
Eugen Rochko
784c88e16d
Fix emoji autosuggestions ( #11442 )
...
Regression from cfb2ed7823
6 years ago
Eugen Rochko
cfb2ed7823
Add autosuggestions for hashtags ( #11422 )
6 years ago
ThibG
9349f1067a
Fix animate on hover in poll options without CW ( #11404 )
6 years ago
ThibG
10e78ecf57
Change contrast of status links that are not mentions nor hashtags ( #11406 )
6 years ago
Eugen Rochko
8a4674f2c3
Add search results pagination to web UI ( #11409 )
...
* Add search results pagination to web UI
Fix #10737
* Fix code style issue
6 years ago
Eugen Rochko
4eeff26533
Change account domain block to clear out notifications and follows ( #11393 )
6 years ago
ThibG
59fd622adc
Fix boost to original audience not working on mobile ( #11371 )
6 years ago
ThibG
7de8c51873
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
6 years ago
ThibG
4bd58b7f2d
Display custom emoji in bio field names ( #11350 )
...
Already displayed in public pages, but not WebUI
6 years ago
Eugen Rochko
aa22b38fdb
Change single-column mode to scroll the whole page ( #11359 )
...
Fix #10840
6 years ago
koyu
8df0022e66
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
6 years ago
Eugen Rochko
9b1d3e4acb
Add option to disable real-time updates in web UI ( #9984 )
...
Fix #9031
Fix #7913
6 years ago
Eugen Rochko
cecd0c3cb1
New Crowdin translations ( #11153 )
...
* New translations activerecord.en.yml (Indonesian)
[ci skip]
* New translations activerecord.en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Ido)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations activerecord.en.yml (Welsh)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations activerecord.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations devise.en.yml (Serbian (Latin))
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations devise.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations activerecord.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
6 years ago
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.
6 years ago
ThibG
99924f282f
Memoize ancestorIds and descendantIds in detailed status view ( #11234 )
6 years ago
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
6 years ago
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
6 years ago
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.
6 years ago
ThibG
84ff393842
Use ScrollToOptions for smooth scrolling if supported ( #11207 )
6 years ago
ThibG
4f5b221be2
Display FTS warning based on actual search term, not the one being typed ( #11202 )
...
Follow-up to #11112
6 years ago
Eugen Rochko
e64e6a03dd
Add categories for custom emojis ( #11196 )
...
Fix #7940
6 years ago
ThibG
072158ee97
Fix swiping columns on mobile sometimes failing ( #11200 )
...
Fixes #9779
6 years ago
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
6 years ago
ThibG
3086c645fd
Add option to disable blurhash previews ( #11188 )
...
* Add option to disable blurhash previews
* Update option text
* Change options order
6 years ago
ThibG
32a4494926
Scroll to compose form rather than reply indicator on focus ( #11182 )
6 years ago
PatOnTheBack
5b20284f6f
Removed extra pipes from regex. ( #11181 )
6 years ago
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
6 years ago