Commit Graph

84 Commits

Author SHA1 Message Date
Eugen Rochko 9b1f2a4b61
Add subresource integrity for JS and CSS assets (#15096)
Fix #2744
2020-11-06 11:56:31 +01:00
dependabot[bot] ab00998503
Bump webpack-merge from 4.2.2 to 5.0.9 (#14424)
* Bump webpack-merge from 4.2.2 to 5.0.9

Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 4.2.2 to 5.0.9.
- [Release notes](https://github.com/survivejs/webpack-merge/releases)
- [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v4.2.2...v5.0.9)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix import path

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-11-05 02:21:28 +09:00
ThibG 4c45b43cb8
Change how CDN_HOST is passed down to make assets build reproducible (#14381)
* Change how CDN_HOST is passed down to make assets build reproducible

* Change webpacker/webpack configuration to dynamically load publicPath based on meta header

* Fix embedded layout missing the cdn-host meta header
2020-10-13 01:19:35 +02:00
ThibG 5fc5a9f9f1
Update Tesseract.js (#14708)
* [WiP] Update Tesseract.js

- Update Tesseract.js to 2.2.1
- Use versioned file names
- differentiate two progression states: preparing OCR and detecting picture

* Get rid of copy-webpack-plugin
2020-09-01 00:26:10 +02:00
dependabot[bot] 8dc66ca473
Bump imports-loader from 0.8.0 to 1.1.0 (#14323)
* Bump imports-loader from 0.8.0 to 1.1.0

Bumps [imports-loader](https://github.com/webpack-contrib/imports-loader) from 0.8.0 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/imports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/imports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/imports-loader/compare/v0.8.0...v1.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Migrate new syntax

* Add semicolon

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-08-25 22:50:47 +09:00
dependabot-preview[bot] 21326794af
Bump copy-webpack-plugin from 5.1.1 to 6.0.1 (#13861)
* Bump copy-webpack-plugin from 5.1.1 to 6.0.1

Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 5.1.1 to 6.0.1.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.1.1...v6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix new syntax for copy-webpack-plugin

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-06-06 06:42:23 +09: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
dependabot-preview[bot] 5605b828e5 Bump webpacker from 4.0.7 to 4.2.0 (#12416)
* Bump webpacker from 4.0.7 to 4.2.0

Bumps [webpacker](https://github.com/rails/webpacker) from 4.0.7 to 4.2.0.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v4.0.7...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Use NODE_ENV=tests instead of test, to work around async modules not having a chunk
2019-11-20 17:56:11 +01:00
Eugen Rochko 28636f43e4
Add OCR tool to media editing modal (#11566) 2019-08-15 15:13:26 +02:00
Yamagishi Kazutoshi fada60cbe7 Remove modules.localIdentName (#11398) 2019-07-23 15:47:48 +02:00
dependabot-preview[bot] 24367ef906 Bump css-loader from 2.1.1 to 3.1.0 (#11382)
* Bump css-loader from 2.1.1 to 3.1.0

Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 2.1.1 to 3.1.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v2.1.1...v3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* localIdentName -> modules.localIdentName
2019-07-23 11:07:47 +02:00
Yamagishi Kazutoshi da38c0a6b8 Replace from uglifyjs to terser (#10956) 2019-06-04 14:17:09 +02:00
Yamagishi Kazutoshi acc74bed12 Remove dependency on fibers (#10902) 2019-05-30 19:27:19 +03:00
Eugen Rochko 8fb69f1366
Fix emoji-mart crashing web UI on search by reverting the upgrade to 2.10.0 (#10413)
Fix #10315

This reverts commit db06b25376.
2019-03-30 01:41:35 +01:00
Nolan Lawson db06b25376 fix: update to emoji-mart 2.10.0 (#10281)
* fix: update to emoji-mart 2.10.0

* remove useless change

* fix CSS style of emoji picker, improve a11y

* fix missing newline in scss

* fix the title and input fonts
2019-03-16 20:13:15 +01:00
Yamagishi Kazutoshi 1a0d3c9c65 Do not use @babel/preset-env to compile node_modules (#10289) 2019-03-16 11:24:26 +01:00
Nolan Lawson d5c79975ea perf: remove stats.json generation in webpack (#10290)
* perf: remove stats.json generation in webpack

* fix code comment
2019-03-16 11:23:54 +01:00
Nolan Lawson 8da5b8e669 perf: remove zopfli to speed up webpack (#10288) 2019-03-16 04:02:30 +01:00
Yamagishi Kazutoshi 8347479f5d Bump webpacker from 3.5.5 to 4.0.2 (#10277)
Bumps [webpacker](https://github.com/rails/webpacker) from 3.5.5 to 4.0.2.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v3.5.5...v4.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2019-03-15 15:05:31 +01:00
Yamagishi Kazutoshi 317c43b75b Upgrade yargs to v12.0 (#9862) 2019-03-15 03:53:38 +01:00
Yamagishi Kazutoshi 8f5fdab5bf Update dependencies for Node.js (2018-12-31) (#9669)
* Update react-* to v16.7.0

* Upgrade react-hotkeys to v1.1.4

* Update react-intl to v2.7.2

* Update react-select to v2.2.0

* Update react-swipeable-views to v0.13.0

* Upgrade react-textarea-autosize to v7.1.0

* Upgrade redux to v4.0.1

* Upgrade reselect to v4.0.0

* Update raf to v3.4.1

* Update enzyme to v3.8.0

* Update rails-ujs to v5.2.2

* Update axios to v0.18.0

* Update http-link-header to v1.0.2

* Update rellax to v1.7.1

* Update intersection-observer to v0.5.1

* Update stringz to v1.0.0

* Upgrade babel-eslint to v10.0.1

* Update @babel/* to v7.2.x

* Update babel-plugin-react-intl to v3.0.1

* Update babel-plugin-transform-react-remove-prop-types to v0.4.21

* Upgrade dotenv to v6.2.0

* Update express to v4.16.4

* Update webpack to v4.28.3

* Upgrade autoprefixer to v9.4.3

* Update babel-loader to v8.0.4

* Upgrade css-loader to v2.1.0

* Upgrade file-loader to v3.0.1

* Update marky to v1.2.1

* Update mini-css-extract-plugin to v0.5.0

* Update offline-plugin to v5.0.6

* Update style-loader to v0.23.1

* Update eslint-plugin-jsx-a11y to v6.1.2

* yarn upgrade

* fix

* Replace webpack-manifest-plugin to webpack-assets-manifest

* Replace node-zopfli to @gfz/zopfli

* Remove monkey-patch for http-link-header
2018-12-31 18:11:48 +01:00
bsky 84f82ee2fe Improve production build config (#8899) 2018-10-06 15:12:05 +09:00
Yamagishi Kazutoshi 0ddbccf7e6 Upgrade Babel to version 7.0.0 (#5925) 2018-09-14 17:59:48 +02:00
ThibG 7fa4144d48 Fix building assets in test environment (#8691)
Webpacker (Ruby wrapper to webpack) uses RAILS_ENV-based environments while
the javascript configuration for webpack re-reads this configuration file using
the NODE_ENV environment variable. This means that when RAILS_ENV=test, running
“assets:precompile” compiled the production packs in “public/packs” while
webpacker expects them in “public/packs-test”. This causes Ruby to recompile
them on-the-fly, possibly leading to race conditions in parallel_tests.

This changes:
- Disables on-the-fly compilation in test environment
- Changes the javascript part to read the correct environment
2018-09-13 15:18:47 +02:00
M Somerville 2bba6e582d Rename S3_CLOUDFRONT_HOST to S3_ALIAS_HOST. (#8423)
Still check for S3_CLOUDFRONT_HOST for existing installs.
2018-08-25 13:27:08 +02:00
abcang 3c3cf7e208 Update supported Node.js version (#8041) 2018-07-17 15:29:33 +02:00
Yamagishi Kazutoshi e9b322d0a6 Upgrade webpack to version v4.x (#6655) 2018-07-14 03:56:41 +02:00
Renato "Lond" Cerqueira 268d90e810 Rename emoji sheet to avoid caching issue (#7777) 2018-06-10 16:12:47 +02:00
Yamagishi Kazutoshi 13b60e6a14 Use URL polyfill (#7664) 2018-05-29 13:33:20 +02:00
Akihiko Odaki d95642f6d9 Cache attachments on external host with service worker (#7493) 2018-05-29 00:43:47 +02:00
Akihiko Odaki d8b3f5fb9a Limit environment variables to expose to webpack (#7480) 2018-05-14 17:45:37 +02:00
Akihiko Odaki ca42f9b0eb Cache media (#6902) 2018-03-27 12:32:30 +02:00
Eugen Rochko 97dcfb0f50
ASSET_HOST is wrong env variable. Fix to CDN_HOST (#6372) 2018-01-29 01:06:39 +01:00
Eugen Rochko b1daa71da5
Fix #6311: Replace relative URLs in CSS only for Premailer (#6335) 2018-01-24 02:57:14 +01:00
ThibG d613dda91d Fix assets loading when WEB_DOMAIN ≠ LOCAL_DOMAIN (#6319)
Since 872a0d5bd8, assets URL are absolute and
not relative. Unfortunately, the domain used to build such URLs is the wrong
one: LOCAL_DOMAIN, and not WEB_DOMAIN, where the assets are stored.
2018-01-21 13:22:31 +01:00
Eugen Rochko 872a0d5bd8
Improve HTML e-mails based on Litmus tests (#6301)
* Use PNG images in HTML e-mails

* Make webpack use URLs with host so fonts load inside HTML e-mails

Convert this back to a relative URL in the premailer CSS loader
since local requests are quicker

* Improve responsive design

* Add missing PNG icon
2018-01-20 01:32:21 +01:00
Yamagishi Kazutoshi 9a61b0ef22 Fix RFC 5646 Regular Expression (#6190) 2018-01-05 04:43:50 +01:00
Yamagishi Kazutoshi 8a588145d5 Update extract-text-webpack-plugin to version 3.0.2 (#5584) 2017-11-05 13:07:59 +01:00
Yamagishi Kazutoshi 8ae9bd0eea Upgrade compression-webpack-plugin to version 1.0.1 (#5581) 2017-11-01 14:42:19 +01:00
Nolan Lawson 0692991b54 Add ServiceWorker caching for static assets (#5524) 2017-10-31 12:25:51 +01:00
Akihiko Odaki e4080772b5 Use contenthash for ExtractTextWebpackPlugin (#5462)
[hash] is not documented.
2017-10-27 23:54:20 +09:00
Nolan Lawson bebaa6eced Remove prop types from external libraries (#5304) 2017-10-10 18:44:51 +02:00
Nolan Lawson 7de6d269d2 Use ES module build of react-router-dom (#5264) 2017-10-08 02:55:58 +02:00
aschmitz 2076c557c9 Configure webpack to poll for changes in development (#5040)
* Configure webpack to poll for changes in development

Vagrant on Linux/macOS hosts shared files via NFS, which doens't
support inotify-based watching of files. This tweak makes webpack
check for changes every second, and rebuild if necessary. This
removes the need to restart Foreman every time a frontend file
changes. Note that rebuilding is still a relatively lengthy
process.

The polling frequency can be changed to taste.

* Only poll in Vagrant

This tests for the presence of the VAGRANT environment variable to
determine whether or not we're in Vagrant. It is set in .env.vagrant,
which is set up to be included in the Vagrantfile.
2017-10-04 09:52:11 +02:00
Andrew 0401a24558 Add support for multiple themes (#4959)
* Add support for selecting a theme

* Fix codeclimate issues

* Look up site default style if current user is not available due to e.g. not being logged in

* Remove outdated comment in common.js

* Address requested changes in themes PR

* Fix codeclimate issues

* Explicitly check current_account in application controller and only check theme availability if non-nil

* codeclimate

* explicit precedence with &&

* Fix code style in application_controller according to @nightpool's suggestion, use default style in embedded.html.haml

* codeclimate: indentation + return
2017-09-19 16:36:23 +02:00
Yamagishi Kazutoshi da172a8b1b Disable babel-loader cache when development environment (#4684) 2017-08-24 19:27:52 +02:00
Yamagishi Kazutoshi fae71b653a Enable cache for babel-loader (#4505) 2017-08-03 17:46:49 +02:00
Yamagishi Kazutoshi f93f306053 Remove hash from chunk filename when dev env (#4411) 2017-07-28 05:14:01 +02:00
Satoshi KOJIMA e54cc15cbd fix #4356 : place sw.js to assets/sw.js (#4357) 2017-07-28 01:55:52 +02:00
Sorin Davidoi 0c7c188c45 Web Push Notifications (#3243)
* feat: Register push subscription

* feat: Notify when mentioned

* feat: Boost, favourite, reply, follow, follow request

* feat: Notification interaction

* feat: Handle change of public key

* feat: Unsubscribe if things go wrong

* feat: Do not send normal notifications if push is enabled

* feat: Focus client if open

* refactor: Move push logic to WebPushSubscription

* feat: Better title and body

* feat: Localize messages

* chore: Fix lint errors

* feat: Settings

* refactor: Lazy load

* fix: Check if push settings exist

* feat: Device-based preferences

* refactor: Simplify logic

* refactor: Pull request feedback

* refactor: Pull request feedback

* refactor: Create /api/web/push_subscriptions endpoint

* feat: Spec PushSubscriptionController

* refactor: WebPushSubscription => Web::PushSubscription

* feat: Spec Web::PushSubscription

* feat: Display first media attachment

* feat: Support direction

* fix: Stuff broken while rebasing

* refactor: Integration with session activations

* refactor: Cleanup

* refactor: Simplify implementation

* feat: Set VAPID keys via environment

* chore: Comments

* fix: Crash when no alerts

* fix: Set VAPID keys in testing environment

* fix: Follow link

* feat: Notification actions

* fix: Delete previous subscription

* chore: Temporary logs

* refactor: Move migration to a later date

* fix: Fetch the correct session activation and misc bugs

* refactor: Move migration to a later date

* fix: Remove follow request (no notifications)

* feat: Send administrator contact to push service

* feat: Set time-to-live

* fix: Do not show sensitive images

* fix: Reducer crash in error handling

* feat: Add badge

* chore: Fix lint error

* fix: Checkbox label overlap

* fix: Check for payload support

* fix: Rename action "type" (crash in latest Chrome)

* feat: Action to expand notification

* fix: Lint errors

* fix: Unescape notification body

* fix: Do not allow boosting if the status is hidden

* feat: Add VAPID keys to the production sample environment

* fix: Strip HTML tags from status

* refactor: Better error messages

* refactor: Handle browser not implementing the VAPID protocol (Samsung Internet)

* fix: Error when target_status is nil

* fix: Handle lack of image

* fix: Delete reference to invalid subscriptions

* feat: Better error handling

* fix: Unescape HTML characters after tags are striped

* refactor: Simpify code

* fix: Modify to work with #4091

* Sort strings alphabetically

* i18n: Updated Polish translation

it annoys me that it's not fully localized :P

* refactor: Use current_session in PushSubscriptionController

* fix: Rebase mistake

* fix: Set cacheName to mastodon

* refactor: Pull request feedback

* refactor: Remove logging statements

* chore(yarn): Fix conflicts with master

* chore(yarn): Copy latest from master

* chore(yarn): Readd offline-plugin

* refactor: Use save! and update!

* refactor: Send notifications async

* fix: Allow retry when push fails

* fix: Save track for failed pushes

* fix: Minify sw.js

* fix: Remove account_id from fabricator
2017-07-13 22:15:32 +02:00