Commit Graph

119 Commits

Author SHA1 Message Date
Nolan Lawson 553e13144f remove legacy decorators, use lodash.debounce () 2017-05-06 11:05:32 +02:00
Yamagishi Kazutoshi 494945ff4f Move babel-plugin-lodash to dependencies from devDependencies () 2017-05-06 11:04:55 +02:00
Nolan Lawson 37caf0b36e separate .babelrc for prod/dev, add babel-plugin-lodash () 2017-05-06 04:18:23 +02:00
Koala Yeung cf0b753209 Streamline javascript translation by improving translationRunner ()
* package.json: Add "build:*" targets

* Improve react-intl-translations-manager workflow.
  * Added "build:production" to build production bundle.
  * Added "build:development" to build development bundle.

* Fix json translation files

* Run `yarn manage:translations` to fix translation files.
* Fix `pl.json` for syntax error.

* translationRunner: auto detect existing languages

* Auto detect existing rfc5646 language tag in *.json filenames
  in `app/javascript/mastodon/locale` folder. No need to manually
  define every new language in the languages array here.

* translationRunner: add more functionality

* Allow script user to specify language code to check.
* Added available language check.
* Added --force flag to force creation of unexists language.
* Added --help flag and help messages.

* gitignore: ignore npm-debug.log

* Fix webpack error if NODE_ENV is not defined

Default to use 'development' in config/webpack/configuration.js
2017-05-06 04:05:38 +02:00
Yamagishi Kazutoshi e95983f5df Decode IDNA in PreviewCard () 2017-05-04 15:52:08 +02:00
Eugen Rochko f5bf5ebb82 Replace sprockets/browserify with Webpack ()
* Replace browserify with webpack

* Add react-intl-translations-manager

* Do not minify in development, add offline-plugin for ServiceWorker background cache updates

* Adjust tests and dependencies

* Fix production deployments

* Fix tests

* More optimizations

* Improve travis cache for npm stuff

* Re-run travis

* Add back support for custom.scss as before

* Remove offline-plugin and babili

* Fix issue with Immutable.List().unshift(...values) not working as expected

* Make travis load schema instead of running all migrations in sequence

* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />

* Add react definitions to places that use JSX

* Add Procfile.dev for running rails, webpack and streaming API at the same time
2017-05-03 02:04:16 +02:00
Michael Deeb e4c294432f Added the repository field and a script for after npm version () 2017-04-26 01:51:51 +02:00
Ash Furrow 48652cb41e Fixes string length issue for multibyte characters. () 2017-04-25 17:37:51 +02:00
Keiji, Yoshimi 2bf7e81ed5 update emojione-picker for fixed warnings. () 2017-04-22 17:28:02 +02:00
Yamagishi Kazutoshi 1948f9e767 Remove deprecated features at React v15.5 ()
* Remove deprecated features at React v15.5

- [x] React.PropTypes
- [x] react-addons-pure-render-mixin
- [x] react-addons-test-utils

* Uncommented out & Add browserify_rails options

* re-add react-addons-shallow

* Fix syntax error from resolve conflicts

* follow up 59a77923b3
2017-04-21 20:05:35 +02:00
Mingye Wang b00f4a0cf3 Use new ESLint filename (.json) ()
* Use new ESLint filename (.json)

Codeclimate's ESLint 3 is complaining about the old filename. Let me try changing it.

* point eslint to new rc

(squash this)
2017-04-21 16:43:57 +02:00
Christoph Witzany 556f68ab15 Make Docker image buildable on ARM ()
* after yarn upgrade

* after manually removing node-gyp as top level dependency
2017-04-20 13:29:38 +02:00
Alda Marteau-Hardi 77d1447ac4 Add the licence key in package.json () 2017-04-16 16:08:11 +02:00
Zac Anger f4045ba3d9 Add eslint-plugin-jsx-a11y ()
* Add eslint-plugin-jsx-a11y.

* Fix npm script.

* Adjust npm scripts so test also runs lint.

* Fix existing lint errors.

* Don't break on a11y issues.

* Add role and tabIndex.

* Add vim and Mac files to .gitignore and .dockerignore.

* Handle htmlFor (partially), a that's actually a button.

* Fix missing tabIndex.

* Add cursor:pointer to load-more

* Revert change to load_more.

* Fixes based on review.

* Update yarn.lock.

* Don't try to install fsevents on Linux (hides warning noise).
2017-04-15 13:27:27 +02:00
Eugen b22b2cbfac Fix - Fix broken notifications, broken Link header parsing for exclude_types () 2017-04-11 22:53:58 +02:00
Gavin Mogan 3672a799d4 Dev Tooling fixes (eslint/editorconfig) ()
* Add eslint to dev dependancies so it gets installed for the repo

yarn add --dev eslint babel-eslint eslint-plugin-reac

project specific version of eslint, you can globally install eslint-cli
if you want the global runtime, or add .bin to your path

* fix eslint errors about inconsitent returns

* eslint ignore the same as git ignore. allows for eslint .

* Add editorconfig file so everyones editor will be setup to follow the same standards
2017-04-11 00:36:03 +02:00
Eugen Rochko 333e44c3fc Improve emojis - use SVGs where possible 2017-03-29 22:27:24 +02:00
Eugen Rochko 952bce3023 Replace howler.js with simple <audio />, will hopefully resolve
some weird mobile browser behaviours
2017-03-13 17:12:30 +01:00
Eugen Rochko 89fc2d7f48 Fix - Emoji picker 2017-03-02 00:57:55 +01:00
Eugen Rochko b44dd38360 Fix broken dependency on inner react utility function 2017-02-26 01:34:56 +01:00
Eugen Rochko 2c50687279 Improve compose form performance, upgrade JS dependencies. LightingBox
now allows to cycle through multiple images
2017-02-26 01:23:44 +01:00
Eugen Rochko 4d2be9f432 Add unique request IDs to streaming API to improve logs 2017-02-05 23:37:25 +01:00
Eugen Rochko b5bf807a34 Remove react-dnd as it was interfering with text selection. Move content
warning mentions preview into area where actual content would be
2017-02-05 04:11:14 +01:00
Eugen Rochko dbb7e5a644 Getting started on draggable columns 2017-02-05 01:58:25 +01:00
Eugen Rochko ccb8ac8573 Make the streaming API also handle websockets (because trying to get the browser EventSource interface to
work flawlessly was a nightmare). WARNING: This commit makes the web UI connect to the streaming API instead
of ActionCable like before. This means that if you are upgrading, you should set that up beforehand.
2017-02-04 00:34:31 +01:00
Eugen Rochko 1ee4a17f37 Add logging and filtering to the node.js streaming API 2017-02-02 13:56:14 +01:00
Eugen Rochko 0cfd3188b4 Add streaming API in Node.js 2017-02-02 01:31:09 +01:00
Eugen Rochko fcb5a85cdd Add sounds for notifications. Boop by @jk@mastodon.social 2017-01-17 20:09:03 +01:00
Eugen Rochko da5d366230 Fix - Improve lightbox, add loading indicator 2017-01-16 12:04:02 +01:00
Eugen Rochko 7951e7ffd5 Add ruby version to Gemfile, move devDependencies in package.json to dependencies,
fix bug in process feed service
2017-01-11 15:39:31 +01:00
Eugen Rochko 312c51b5c8 Home column filters 2017-01-10 17:25:10 +01:00
Eugen Rochko 989c3f4002 Add tab bar alternative to desktop UI, upgrade react & react-redux 2017-01-06 22:09:55 +01:00
Jessica Stokes 28a2f79dff
Upgrade EmojiOne to 2.2.7
Adds support for, among other things, 🏳️‍🌈
2017-01-05 15:16:13 -08:00
Eugen 9e6ceb3201 Revert "Display native emoji on browsers which support it" 2017-01-05 13:45:21 +01:00
Misty De Meo c318e6e42e Display native emoji on browsers which support it 2017-01-04 22:23:02 -08:00
Eugen Rochko b27066e154 Re-implemented autosuggestions component for the compose form
Fix , fix , fix 
2016-12-14 18:21:31 +01:00
Eugen Rochko bf5f8a2449 Fix - Remove react-responsive in favour of simpler resize handler/window width 2016-12-06 19:18:37 +01:00
Eugen Rochko 2112a81e86 Adding content sensitivity toggle, spoilers for media 2016-11-23 18:53:23 +01:00
Eugen Rochko 0293a7dd49 Updating some npm packages 2016-11-18 23:55:44 +01:00
Eugen Rochko a6e4f754fc Add an Intl polyfill 2016-11-17 16:34:36 +01:00
Eugen Rochko 01e43c3e57 Adding react-intl i18n to the frontend. No translations yet 2016-11-16 17:20:52 +01:00
Eugen Rochko dbfe1e4be6 Infinite scroll for followers/following lists 2016-11-13 20:42:54 +01:00
Eugen Rochko c4eb63c1d4 Debounce autosuggestions requests 2016-11-13 13:13:36 +01:00
Eugen Rochko 82fd74d101 Fix modals sizing and add animation to it, fix by only making the text of
status clickable (this also fixes multiple dropdown being openable at the same
time)
2016-11-10 23:21:24 +01:00
Eugen Rochko 86574ea524 Adding Emoji One 2016-11-08 21:46:29 +01:00
Eugen Rochko d0d799f911 Replace react-skylight with own solution that centers images better 2016-11-07 18:23:36 +01:00
Eugen Rochko c49f6290eb Basic username autocomplete for text area 2016-10-30 18:13:05 +01:00
Eugen Rochko de50eff6ac Add opening images in a modal window 2016-10-24 18:08:23 +02:00
Eugen Rochko 8698cd3281 Remember scroll position when navigating back, do not needlessly reload
entire timelines (only fetch since last known ID). Side effect: account
timelines no longer update in real-time
2016-10-18 23:06:28 +02:00
Kai Schaper b113cf97fb add chai-enzyme; add/improve Avatar component specs 2016-10-12 18:06:18 +02:00
Eugen Rochko 45776b55b0 Responsively changing layout to single-column + nav on smaller screens 2016-10-12 13:17:17 +02:00
Eugen Rochko ffaba617d2 Merge in react-storybook, add yarn lockfile 2016-10-12 12:08:57 +02:00
Kai Schaper 71e7537330 setup React Storybook; add example story for LoadingIndicator component 2016-10-11 20:19:03 +02:00
Kai Schaper e0a4455622 add sinon; add basic Button component test 2016-10-10 22:48:58 +02:00
Kai Schaper 998f161e1d add jsdom; add basic Avatar component test 2016-10-10 22:48:58 +02:00
Kai Schaper 1a1b9bbbc0 add required peer dependency 2016-10-10 22:48:58 +02:00
Kai Schaper d7c55853e9 set up Mocha/Chai/Enzyme for React component unit testing 2016-10-10 22:48:58 +02:00
Eugen Rochko b0168c8f3c Install npm 3 in docker (v3 warns on invalid peer dependencies instead of failing) 2016-10-08 00:23:01 +02:00
Eugen Rochko ef9d4f4e06 Use reselect to memoize denormalization in UI state
Also upgrade react-redux to latest version. This is a performance update
2016-10-08 00:01:22 +02:00
Eugen Rochko e63aebff7a Adding landing page 2016-09-27 23:12:33 +02:00
Eugen Rochko 337462aa5e Re-organizing components to be more modular, adding loading bars 2016-09-19 23:26:21 +02:00
Eugen Rochko d6a64f45fd Adding a notification stack for error messages 2016-09-12 19:20:55 +02:00
Eugen Rochko 0077fc26df Merge and unmerge timelines on follow/unfollow, solves , 2016-09-10 18:36:48 +02:00
Eugen Rochko c249ceb10c Reblogs fixed 2016-09-01 14:12:11 +02:00
Eugen Rochko 72591cc6d5 Cleaning up action names and compose drawer 2016-08-31 16:15:12 +02:00
Eugen Rochko 92afd29650 The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
Adding better errors for the API controllers, posting a simple status works from the frontend now
2016-08-26 19:12:19 +02:00
Eugen Rochko 44e57f64dd Improving statuses, adding a composer drawer, which doesn't work yet 2016-08-25 19:52:55 +02:00
Eugen Rochko a541e937ca More styling for statuses 2016-08-24 21:08:00 +02:00
Eugen Rochko 49520d6e62 Adding React.js, Redux, revamping dashboard 2016-08-24 17:56:44 +02:00