182 Commits
Author SHA1 Message Date
Eugen RochkoandGitHub bb71538bb5 Redesign public profiles and toots (#8068) 2018-07-28 19:25:33 +02:00
abcangandEugen Rochko 3c3cf7e208 Update supported Node.js version (#8041) 2018-07-17 15:29:33 +02:00
Yamagishi KazutoshiandEugen Rochko af161e849d Downgrade react-swipeable-views to v0.12.13 from v0.12.14 (#8022) 2018-07-15 01:01:01 +02:00
Yamagishi KazutoshiandEugen Rochko 0eacf2b419 Upgrade Node.js to v8.x on Docker image (#8019) 2018-07-14 15:12:27 +02:00
Yamagishi KazutoshiandEugen Rochko e9b322d0a6 Upgrade webpack to version v4.x (#6655) 2018-07-14 03:56:41 +02:00
Petko BordjukovandEugen Rochko 37d428dfaf Update uws dependency to 10.148.0 (#7448)
This release fixes issues with open events, adds Node 10 support
and drops Node 4, 5, 6 and 7.

Changes: https://github.com/elementengineering/uWebSockets-bindings/compare/6152fb6787704a61584f920eb27ff5441d3c8c8f...689c15c59e5065b22415266f398ed29118dbe562
2018-07-14 01:46:27 +02:00
Yamagishi KazutoshiandEugen Rochko bfa12239e8 Update ESLint for Code Climate (#7696)
* Update babel-eslint to version 8.2.3

* Update eslint to version 4.19.1

* Update eslint-plugin-promise to version 3.8.0

* Update eslint-plugin-react to version 7.8.2

* Upgrade eslint-plugin-jsx-a11y to version 6.0.3

* yarn test:lint --fix
2018-06-01 14:03:19 +02:00
Yamagishi KazutoshiandEugen Rochko 13b60e6a14 Use URL polyfill (#7664) 2018-05-29 13:33:20 +02:00
Eugen RochkoandGitHub 9bd23dc4e5 Track trending tags (#7638)
* Track trending tags

- Half-life of 1 day
- Historical usage in daily buckets (last 7 days stored)
- GET /api/v1/trends

Fix #271

* Add trends to web UI

* Don't render compose form on search route, adjust search results header

* Disqualify tag from trends if it's in disallowed hashtags setting

* Count distinct accounts using tag, ignore silenced accounts
2018-05-27 21:45:30 +02:00
Yamagishi KazutoshiandEugen Rochko 6832110af4 Correct rotate of image using EXIF (#7422) 2018-05-09 08:41:07 +02:00
ThibGandEugen Rochko 7e0aed398f Fix scrolling behavior (#7151)
* Update React.JS

* Use React's new lifecycles for scrollable lists

* Clean up dead code

* Make CodeClimate happy
2018-04-16 21:04:24 +02:00
Emelia SmithandEugen Rochko 7a81082704 Revert "Add double-tap zoom functionary to ZoomableImage (#6944)" (#7035)
Unfortunately the new hammer.js functionality wasn't correctly tested and didn't work across devices and browsers, as such, it's best to revert PR #6944 until we can revisit this functionality and make it work across all devices and browsers that are supported by Mastodon.

This reverts commit 5021c4e9ca.
2018-04-04 11:58:15 +02:00
unaristandEugen Rochko 2c51bc0ca5 Add missing rejection handling for Promises (#7008)
* Add eslint-plugin-promise to detect uncaught rejections

* Move alert generation for errors to actions/alert

* Add missing rejection handling for Promises

* Use catch() instead of onReject on then()

Then it will catches rejection from onFulfilled. This detection can be
disabled by `allowThen` option, though.
2018-04-02 14:51:02 +02:00
Yuto TokunagaandEugen Rochko 5021c4e9ca Add double-tap zoom functionary to ZoomableImage (#6944)
add <div.zoomable-image__margin/> to keep margin of the image on zooming
move setting `scrollLeft` and `scrollTop` of container from callback of
`setState` to `componentDidUpdate`
add 'hammerjs' package for touch gesture detection
rewrite `ZoomableImage` using 'hammerjs'
2018-03-28 20:40:51 +02:00
Akihiko OdakiandEugen Rochko ca42f9b0eb Cache media (#6902) 2018-03-27 12:32:30 +02:00
Yamagishi KazutoshiandEugen Rochko 188aa3ea50 Add polyfill for Object.values (#6697) 2018-03-08 13:07:25 +01:00
Yamagishi KazutoshiandEugen Rochko 83c982b458 Run tests with npm-run-all (#6688) 2018-03-08 04:43:57 +01:00
Akihiko OdakiandEugen Rochko 81cefc1913 Do not use npm (#6656)
Both of yarn and npm are used in Mastodon, but the combined usage requires
a redundant dependency and may lead to data inconsistency.

Considering that yarn has autoclean feature which npm does not have,
this change replaces all npm usage with yarn.

This change requires documentation update. Most notably, the following
command must be executed before assets precompilation if any system
dependency of node-sass has changed:

yarn install --force --pure-lockfile
2018-03-06 21:36:46 +01:00
TrashMacNuggetandEugen Rochko 6f5f434caa Specify AGPLv3+ (#6546)
* Specify AGPLv3+

Since the documentation doesn't specify you can use Mastodon as AGPLv3 or any later version.

* Use newest version of SPDX AGPLv3+ identifier
2018-02-27 01:52:27 +01:00
Yamagishi KazutoshiandEugen Rochko 0a103c7749 Upgrade ESLint to version 4.x (#6276) 2018-01-17 16:57:15 +01:00
Yamagishi KazutoshiandEugen Rochko 43c37a4768 Add supported Node.js version to package.json (#6096) 2017-12-25 15:02:07 +01:00
Yamagishi KazutoshiandEugen Rochko ac17309faf Update dependencies for Node.js (2017-12-03) (#5876)
* Update babel-plugin-lodash to version 3.3.2

* Update enzyme to version 3.2.0

* Update enzyme-adapter-react-16 to version 1.1.0

* Update intersection-observer to version 0.5.0

* Update intl-messageformat to version 2.2.0

* Update node-sass to version 4.7.2

* Update postcss-loader to version 2.0.9

* Update React to version 16.2.0

* Update react-textarea-autosize to version 5.2.1

* Update stringz to version 0.3.0

* Update webpack to version 3.9.1

* Update webpack-bundle-analyzer to version 2.9.1

* Update webpack-dev-server to version 2.9.5

* Update webpack-merge to version 4.1.1

* Update fsevents to version 1.1.3

* yarn upgrade
2017-12-03 16:55:53 +01:00
Yamagishi KazutoshiandEugen Rochko 8a588145d5 Update extract-text-webpack-plugin to version 3.0.2 (#5584) 2017-11-05 13:07:59 +01:00
Yamagishi KazutoshiandEugen Rochko 0338c16f9f Remove babel-plugin-react-transform (#5582) 2017-11-01 17:49:46 +01:00
Yamagishi KazutoshiandEugen Rochko 8ae9bd0eea Upgrade compression-webpack-plugin to version 1.0.1 (#5581) 2017-11-01 14:42:19 +01:00
Yamagishi KazutoshiandGitHub 763a2f8511 Replace react-router-scroll to react-router-scroll-4 (#5568) 2017-11-01 06:58:38 +09:00
Yamagishi KazutoshiandEugen Rochko 6705463ed0 Update dependencies for Node.js (2017-10-30) (#5565)
* Update autoprefixer to version 7.1.6

* Update babel-plugin-preval to version 1.6.1

* Update babel-plugin-transform-react-remove-prop-types to version 0.4.10

* Update babel-preset-env to version 1.6.1

* Update cross-env to version 5.1.1

* Update enzyme-adapter-react-16 to version 1.0.2

* Update eslint-plugin-import to version 2.8.0

* Update immutable to version 3.8.2

* Update express to 4.16.2

* Update intl-relativeformat to version 2.1.0

* Update postcss-loader to version 2.0.8

* Update react-immutable-pure-component to version 1.1.1

* Update react-motion to version 0.5.2

* Update react-notification to version 6.8.2

* Update react-overlays to version 0.8.3

* Update react-redux-loading-bar to version 2.9.3

* Update resolve-url-loader to version 2.2.0

* Update style-loader to version 0.19.0

* Update webpack to version 3.8.1

* Update webpack-dev-server to version 2.9.3

* yarn upgrade
2017-10-31 12:23:24 +01:00
masarakkiandEugen Rochko 049381b284 remove-duplicated-jest-config (#5465) 2017-10-19 13:51:38 +02:00
Yamagishi KazutoshiandEugen Rochko 402da46ff6 Enable coverage for Jest (#5442) 2017-10-18 11:39:36 +02:00
Yamagishi KazutoshiandEugen Rochko bf0ee1a25c Enable ESLint rules import/* (#5414)
* Enable ESLint rules import/*

* fix
2017-10-16 11:12:09 +02:00
Yamagishi KazutoshiandEugen Rochko d5b767c374 Replace JavaScript Testing Framework from Mocha to Jest (#5412) 2017-10-16 09:33:08 +02:00
Eugen RochkoandGitHub 488584bfc1 Track frequently used emojis in web UI (#5275)
* Track frequently used emojis in web UI

* Persist emoji usage, but debounce commits to the settings API

* Fix #5144 - Add tooltips to picker

* Display only 2 lines of frequently used emojis
2017-10-08 21:47:15 +02:00
Nolan LawsonandEugen Rochko 057db0ecd0 Update emoji-mart to v2.1.1 (#5256) 2017-10-07 12:17:02 +02:00
Eugen RochkoandGitHub 7db0f8dcb2 Implement hotkeys for web UI (#5164)
* Fix #2102 - Implement hotkeys

Hotkeys on status list:

- r to reply
- m to mention author
- f to favourite
- b to boost
- enter to open status
- p to open author's profile
- up or k to move up in the list
- down or j to move down in the list
- 1-9 to focus a status in one of the columns
- n to focus the compose textarea
- alt+n to start a brand new toot
- backspace to navigate back

* Add navigational hotkeys

The key g followed by:

- s: start
- h: home
- n: notifications
- l: local timeline
- t: federated timeline
- f: favourites
- u: own profile
- p: pinned toots
- b: blocked users
- m: muted users

* Add hotkey for focusing search, make escape un-focus compose/search

* Fix focusing notifications column, fix hotkeys in compose textarea
2017-10-06 01:07:59 +02:00
Nolan LawsonandEugen Rochko 334a446313 Fix emoji sequence bug in substring-trie (#5191)
Fixes #5188
2017-10-03 13:11:22 +02:00
Eugen RochkoandGitHub ebb8c89207 Upgrade to React 16 (#5119)
* Upgrade to React 16.0.0

* Disable some uncritical tests while chai-enzyme remains incompatible
2017-09-30 04:29:56 +02:00
Nolan LawsonandEugen Rochko 0060f98847 Remove react-sizeme (#5143)
* Remove react-sizeme

* Fix aspect ratio in "sensitive" mode
2017-09-29 22:46:43 +02:00
Eugen RochkoandGitHub 2f079573ed In detail status view, display attachment uncropped if there's only one (#5054)
* In detail status view, display attachment uncropped if there's only one

* Make media spoiler the size of the media it hides, enable on static
2017-09-24 05:58:30 +02:00
Eugen RochkoandGitHub 846cd4e838 Switch from EmojiOne to Twemoji, different emoji picker (#5046)
* Switch from EmojiOne to Twemoji, different emoji picker

* Make emoji-mart use a local spritesheet

* Fix emojify test

* yarn manage:translations
2017-09-23 01:41:00 +02:00
Eugen RochkoandGitHub 034fab39ab Make dropdowns render into portal, expand animation (#5018)
* Make dropdowns render into portal, expand animation

* Improve actions modal style
2017-09-22 04:59:17 +02:00
Yamagishi KazutoshiandEugen Rochko e0cda4a851 Update react-intl to version 2.4.0 (#4820) 2017-09-06 16:25:19 +02:00
Sorin DavidoiandEugen Rochko 7e0c00a555 fix(mocha): Run all tests (#4433) 2017-07-28 22:53:16 +02:00
Yamagishi KazutoshiandEugen Rochko c1633eeb0f Update webpack and related dependencies (without extract-text-webpack-plugin) (#4410) 2017-07-28 05:16:12 +02:00
Yamagishi KazutoshiandEugen Rochko aa803153e2 Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
Yamagishi KazutoshiandEugen Rochko f2233c3e25 Update intersection-observer to version 0.4.0 (#4398) 2017-07-27 16:20:48 +02:00
Sorin DavidoiandEugen Rochko ebf5a06084 fix(column): Use passive wheel listener (#4348)
* chore(yarn): Install detect-passive-events

* fix(column): Use passive listener
2017-07-25 01:05:51 +02:00
Ondřej HruškaandEugen Rochko 02f896c12e Fix broken CSS reload due to webpack upgrade (#4250) 2017-07-18 18:42:45 +02:00
Yamagishi KazutoshiandEugen Rochko bd915d9398 Move babel-plugin-preval to dependencies (#4209) 2017-07-15 12:47:43 +02:00
Sorin DavidoiandEugen Rochko c1f201c49a 🎄🔨 Force tree shake emojione (#4202)
* chore(yarn): Install babel-plugin-preval as development dependency

* feat(babel): Add preval as a plugin

* feat(emojione_light): Prevaled module what tree-shaked emojione

* refactor(emoji): Use emojione_light

* feat: Preload emojione_picker bundle

* fix(emojione_light): Do not use Object.entries

* fix(emojify): Update tests

* chore(emojione_light): Remove silly ascii art
2017-07-14 20:30:12 +02:00
unaristandEugen Rochko eeb5923e89 Add object-fit polyfill for Edge (#4182) 2017-07-14 01:59:34 +02:00