Commit graph

3016 commits

Author SHA1 Message Date
Connor Hudson
7fb7e9146b Merge upstream/develop, move logic to preview instead of presentation 2018-06-20 09:28:41 -04:00
Ray Schamp
011c90d595
Pin scratch-gui to latest
Now that GUI deploys "stable" builds to the `latest` tag, we can pin to latest, so rebuilds pull in the latest stable GUI.
2018-06-19 12:59:28 -04:00
Connor Hudson
11738f9a31 Add scratch-parser, scratch-storage dependencies 2018-06-19 11:26:51 -04:00
Ben Wheeler
4c657a1e80 showing actual studio membership, though not unadded studios yet 2018-06-18 23:36:20 -04:00
Ray Schamp
ee23bbf1b5
Update scratch-gui version 2018-06-05 13:21:37 -04:00
chrisgarrity
56c2da5ff7 Update to latest gui 2018-06-05 10:08:53 -04:00
chrisgarrity
6872cfc51f FIxing PR #1900 comments
addresses most comments except modal refactor, and error response from sumitting report.
* restore gui as a dev dependency
* better separation of view container/presentation
* replace absolute heights for textareas with making all sub components `display: flex`
* start to make presentation more modular added subcomponents to the view folder:
  * share-banner (moved from components)
  * remix-credit
  * remix-list
  * studio-list
2018-05-31 21:04:11 -04:00
chrisgarrity
285b2dbcff Updated styles 2018-05-31 15:02:45 -04:00
chrisgarrity
0bc5bf745d Fix up stats line
* Update for newer version of API - remix count in stats
* create projectShape to remove duplication
* add approximate-number to limit the size of the stats row.
2018-05-31 15:02:45 -04:00
chrisgarrity
80de164d02
Handle See inside button (#1890)
* Handle See inside button

Import GUI reducers, initial state and middleware (throttle).

Update render to handle state and middleware.

Remove preview mode state and use scratchGui.mode from redux instead.

URL is getting updated, and mode will be updated based on URL. However, the history needs work - it doesn’t work with the modal back.

* Update to latest GUI

This is the minimum version of GUI that is needed for see-inside

* Really remove cruft.
2018-05-24 16:23:07 -04:00
Bryce Taylor
fe1ef5a750
Merge pull request #1879 from BryceLTaylor/Verbose-Testing
Verbose testing
2018-05-14 11:31:39 -04:00
BryceLTaylor
e88d5f8745 Add verbose method of running integration tests to output results of each test. 2018-05-08 16:43:41 -04:00
chrisgarrity
d1420862ea
Initial GUI embed (#1869)
- `/preview/editor` will load GUI with an empty project
- `/preview/:id/editor` will load GUI with a project from the projects server (not local data)
- passes intl object to GUI
- `/preview/:id` with show the project page with an embedded player
- `/preview/:id/fullscreen` will load the project page with the player in fullscreen mode.

* Note that we needed to Increase memory for the build to avoid running out of heap space, and build time increases by about 2 minutes
2018-05-02 15:27:49 -04:00
chrisgarrity
b8326a3d57
Feature/preview project2 (#1856)
* Add user-session awareness
  - only show remix button if user is logged in (TBD: probably will want to hide if project creator == user)
* decorate text with @mentions and #hashtags
* Add studios, loves, favs
* In-place editing of title and description if current user is author and project shared (with validation)
2018-04-24 11:00:47 -04:00
chrisgarrity
6f775b4293 revise react-slick and slick-carousel versions 2018-04-03 20:28:17 -04:00
Ray Schamp
8d634c7f22 Update formsy-react-component to 1.0
It's out of beta!
2018-04-02 15:02:54 -04:00
Ray Schamp
3ff3236b70 Fix ajv version
Previously I was seeing a warning that ajv@5 was required, so I downgraded. I was mistaken, because now the warning says 6 is required...
2018-04-02 15:02:34 -04:00
Ray Schamp
41780fb7cb Finish updating react-telephone-input 2018-03-30 12:11:21 -04:00
chrisgarrity
3c8fb99c44 eslint dependency
Someday: remove this when updating eslint
2018-03-30 10:51:23 -04:00
Ray Schamp
34f39b1c0b Update to React 16, and dependent packages
The Splash page renders with this commit.
2018-03-30 10:49:58 -04:00
Ray Schamp
61c2bb148a Use country data from an NPM package
To prepare to upgrade react-telephone-input which removed this module
2018-03-30 10:49:58 -04:00
Bryce Taylor
c198c66066
Merge pull request #1836 from BryceLTaylor/addCypressTests
Add cypress tests
2018-03-23 09:19:38 -04:00
BryceLTaylor
88de06f61b Setup Cypress linting 2018-03-22 15:01:51 -04:00
chrisgarrity
feda4416f3 Temporarily remove gui dependencies 2018-03-20 14:44:47 -04:00
chrisgarrity
79199d6d32 Placeholders for everything ‘above the fold’ 2018-03-08 15:57:19 -05:00
chrisgarrity
ea6de54104 [WIP]: embed GUI in a preview page 2018-02-21 14:39:21 -05:00
Ray Schamp
590f505a61 Revert "Merge pull request #1788 from LLK/revert-1775-hotfix/es6-upgrade"
This reverts commit 1b1b396e92, reversing
changes made to a144bab0e6.
2018-01-30 11:53:12 -05:00
Ray Schamp
46511e1253
Revert "[Develop] Upgrade to ES6" 2018-01-30 09:54:45 -05:00
Matthew Taylor
6d1f2fbccd initial es6 commit 2018-01-19 14:06:26 -05:00
Matthew Taylor
e4611088ff extract faq from published page
after review from @thisandagain – thanks!
2018-01-09 12:55:36 -05:00
Matthew Taylor
b584bb80e7 Upgrade compatibility to node 8
This fixes an issue in compilation by upgrading node-sass to v4.6, and also upgrades express in the process.

Callback added to `writeFile` in `get-localized-urls` in order to avoid a deprecation warning during `make translations`.
2017-11-15 13:28:10 -05:00
chrisgarrity
10623c3857 Add dependency for node-dir 0.1.16 (#1354)
FIxes problem where webpack wasn’t copying static or intl to the build directory.

Gory details:
node-dir is a dependency of copy-webpack-plugin. If you don’t already have it installed, the latest version (0.1.17) gets installed and that one breaks copy-webpack (https://github.com/fshost/node-dir/issues/50). Webpack build will complete. but there will be an error `ERROR in this is not a typed array.` We didn’t see it earlier because node-modules are cached.
2017-06-20 12:17:39 -04:00
jwzimmer
56b46fd861 Issue/gh 1013 remove end to end testing package dependencies from repo (#1319)
* remove selenium from package.json

* Add package.json & README for the integration directory

* add newline at end of file

* add chromedriver dependency
2017-05-24 10:12:37 -07:00
jwzimmer
de78abbea2 Issue/gh 1167 test splash page (#1185)
* automated tests for footer links

* renamed navbar test file and removed footer links to separate file

* run with make smoke

* added tests for join scratch and sign in in navbar

* fix linter errors & update www links

* addressed some of ray's comments

* fix failing test - projects row link

* maybe fix error?

* continue switching to click, convert so it runs with disabled selenium promise manager, and refactor to be less location dependent

* finish switching off of implicit reliance on selenium promise manager
2017-04-19 17:14:02 -04:00
Matthew Taylor
4621b25ed8 remove transifex module
no longer use this, since we removed our dependency on pulling translations from transifex during builds
2017-02-24 08:41:17 -05:00
chrisgarrity
82785435bf New scripts to generate translations from Transifex
Added tx-import, expects TX_TOKEN environment variable to be set to an API token for Transifex. If no API token exists it’ll just use the default English strings for everything.

Removed the localization spot checks because they were checking tha json got built from po files. With Tx-import the files are already json, and may possibly be missing.
2017-02-15 22:51:15 -05:00
Matthew Taylor
25f61fdb77 Merge pull request #1008 from mewtaylor/issue/gh-980
Implement GH-980: add new TTT modal component
2016-11-14 10:09:00 -05:00
Matthew Taylor
c9de1d73d9 Refactor modal components
1. Split out base modal stylings from iframe modal stylings
2. Move iframe-specific stylings into a separate copmonent
3. Move width/height iframe stylings to scss
4. Change global stylings for modals to match #980
5. Update styles to use trello style guide
2016-11-08 14:44:03 -05:00
Jesse Zoldak
838925cca0 Output coverage data only when make coverage is executed 2016-10-28 17:56:41 -04:00
Jesse Zoldak
8260e40385 Measure test coverage 2016-10-24 20:47:38 -04:00
chrisgarrity
5b2ff1a4ca Update md5map fixtures for tests
Also cleaned up comments from @mewtaylor
2016-10-11 19:28:13 -04:00
chrisgarrity
1339683a73 Fix #940
Most problems were due to strings being duplicated and overwriting each other. Updated the build-locales script to keep track of duplicates.
Project Curated by on the splash page was just missing the formatMessage call.
2016-10-11 12:33:31 -04:00
jwzimmer
579ec72818 removed ^ prefix from selenium dev dependency 2016-09-15 14:10:47 -04:00
jwzimmer
e21a2eadb1 Added selenium to devDependencies using npm install --save-dev 2016-09-15 11:40:46 -04:00
Ray Schamp
3fbd9fab36 Use html-webpack-plugin for html rendering
This plugin will likely be updated when webpack is updated.
2016-09-08 09:59:37 -04:00
Connor Hudson
f49d6e6a83 Merge pull request #767 from technoboy10/mobile-nav-footer
Fix GH-217: Implement responsive nav and footer (woohoo!)
2016-08-09 15:09:01 -04:00
Technoboy10
25402113bf tweak a few things before WIP PR 2016-07-27 09:26:33 -04:00
Technoboy10
daf803d4a3 experiment with the react-responsive library 2016-07-25 10:53:57 -04:00
Ray Schamp
2065bc91a4 Parse with babel-eslint
Allows us to use the now-available es6 features without lint errors.
2016-07-19 16:46:08 -04:00
Ray Schamp
1db52c4e3b Use babel-loader for jsx transpilation
This is to remove the deprecation warning about React.__spread. It will give us other nice things too, though.
2016-07-03 15:57:13 -04:00
Ray Schamp
f126a71336 Use iso-31660-2 package for country data 2016-06-14 17:29:29 -04:00
Ray Schamp
fe74208f32 Add international phone validation 2016-06-14 17:29:29 -04:00
Ray Schamp
b5c615b1fa Use formsy-react for validation
Complete validation for username/password form (except for checking if a username exists).
2016-06-14 17:27:53 -04:00
Ray Schamp
c9b37c848b Upgrade React to 15
Also upgrade dependencies incompatible with React 15.
2016-05-26 16:00:28 -04:00
Ray Schamp
f7e9b7ca38 Merge pull request #473 from rschamp/feature/lint
Lint JSON and all of our .js and .scss
2016-05-17 16:01:55 -04:00
Ray Schamp
b0b520fe18 Lint JSON, expand and simplify lint step 2016-05-16 13:02:55 -04:00
Ray Schamp
8f2697b7f1 Move externals, polyfill and init to common chunk
This should allow us to define and update our dependencies more easily (via npm) as well as reducing the number of requests.

Additionally, when we add common packages this will avoid the issue after deploys where a user may get a cached HTML page, but new Javascript, leading to the dreaded blank page because the browser didn't download all dependencies.

Using mangle with UglifyJS also made the total file size for the common chunk bundle smaller than the current total for all of our external/polyfill scripts (1.18MB vs 1.55MB).
2016-05-16 12:59:58 -04:00
Ray Schamp
0f33ec836c Use published version of po2icu
Version 0.0.2 has i18next-conv 2.2.5 which uses iconv-lite rather than iconv. So this means we don't have to patch gcc.
2016-05-13 15:33:46 -04:00
Ray Schamp
dd1c2c1627 Use s3cmd to sync with S3 2016-04-29 15:52:15 -04:00
Ray Schamp
669a8c9ae3 Mark version with webpack 2016-04-28 15:40:50 -04:00
Ray Schamp
ff70324fb5 Use s3 module to deploy to S3 2016-04-19 16:35:51 -04:00
Ray Schamp
43788eb7d8 Split server and routes/config
Turn HtmlGeneratorPlugin into a module
Turn server into dev-server and simplify it
2016-04-18 14:07:11 -04:00
Ray Schamp
0aa9b7c587 Untangle the requests a bit with help from async 2016-04-16 12:49:48 -04:00
Ray Schamp
de5f36b649 Add script for configuring Fastly for S3
* Builds the Pass condition based on the static directory and view routes.
* Updates Fastly with new header and conditions based on the view routes.
* Uses a nice module for interacting with fastly :)

Needs some major cleanup but it works. Hopefully Travis will work too.
2016-04-15 19:42:57 -04:00
Ray Schamp
7aa05b1784 Upgrade css-loader and autoprefixer-loader
These depended on postcss < 5, which caused the errors like

Container#eachAtRule is deprecated. Use Container#walkAtRules instead.
Container#eachRule is deprecated. Use Container#walkRules instead.
Container#eachDecl is deprecated. Use Container#walkDecls instead.
Node#style() is deprecated. Use Node#raw()
Node#_value was deprecated. Use Node#raws.value
Container#remove is deprecated. Use Container#removeChild

The autoprefixer-loader package is deprecated now and recommends using postcss-loader + autoprefixer itself.
2016-04-13 15:21:25 -04:00
Ray Schamp
29fa914b9a Merge pull request #391 from rschamp/feature/token-from-cookie
Add method to retrieve token from session cookie and use it
2016-03-24 12:27:07 -04:00
Ray Schamp
19f469db48 Upgrade and quiet sass-linter
These warnings were annoying me because the noise makes it easy to miss real issues.

The `no-mergeable-selectors` rule is one that we do want to have, but right now it asks that you merge selectors in different `@media` blocks.  When the next release happens we should put that back.

https://github.com/sasstools/sass-lint/issues/307

Similarly, we want `force-element-nesting` but there is a problem with that because there's no easy way to have a nested selector in a list of selectors.
https://github.com/sasstools/sass-lint/issues/575

Finally, until they implement per-line overrides, we have to silence `class-name-format` because we don't have control over the ReactModal class names.  It's a useful rule to keep class names consistent though.  Per-line ignores should be coming soon: https://github.com/sasstools/sass-lint/issues/70
2016-03-23 18:34:54 -04:00
Ray Schamp
96bc1b1ab1 Add method for reading session cookie
Assumes the session cookie is stored as JSON which may or may not have been compressed via zlib (indicated by a leading `.`), which is then base64-encoded, and made URL-safe by replacing all `+` and `/` characters with `-` and `_` respectively.
2016-03-22 09:11:09 -04:00
Ray Schamp
a5e336a175 Use redux for session handling 2016-03-18 11:51:22 -04:00
Andrew Sliwinski
9cbe1c8498 Update devDependencies and remove redundant / unused modules. Re GH-351 2016-03-02 10:14:05 -05:00
Andrew Sliwinski
5ae65979dd Update dependencies. Re GH-351 2016-03-02 10:03:22 -05:00
Andrew Sliwinski
c76533bf38 Update license and add trademark notice 2016-01-31 13:07:21 -05:00
Matthew Taylor
ceec694b2a Revert "Migrate to using a loader method"
This reverts commit 214430b0c4.
2016-01-08 13:50:58 -05:00
Matthew Taylor
214430b0c4 Migrate to using a loader method
This moves all locale/translation building to a dependency, `scratch-www-intl-loader`, as well as tests associated with it. Also gets rid of the `make translations` step.
2016-01-07 17:01:57 -05:00
Matthew Taylor
8ae98d703f Make localizations view-based
1. Load locale strings into `window._messages` in a separate file added to `template.html`, which contains view-specific and general strings
2. Update build-locales to compile separate files
2016-01-06 14:09:32 -05:00
Matthew Taylor
40b41a0227 Merge pull request #285 from mewtaylor/bugfix/update-translations-dependency-repo-develop
Update translations dependency repo (for develop branch)
2015-12-09 09:52:49 -05:00
Matthew Taylor
42672378dd Update where scratchr2_translations points to
I forgot that I had a PR opened to do this, my bad.
2015-12-08 18:52:13 -05:00
Ray Schamp
ae8d4d8990 Use webpack-dev-middleware for assets in dev 2015-11-19 15:25:39 -05:00
Ray Schamp
c065df3faa Use webpack for static assets 2015-11-19 15:25:39 -05:00
Matthew Taylor
133e42de06 Update to beta 1
locales configuration not loaded automatically anymore, so we need to load react-intl with locales included into the browser ahead of time
2015-11-19 15:25:39 -05:00
Matthew Taylor
ebd2c080c8 Upgrade react modules for 0.14
They are now completely 0.14 compatible, so we can remove our port'd versions now.
2015-11-16 09:58:18 -05:00
Ray Schamp
7c0363e99b Merge pull request #211 from rschamp/bugfix/GH-195
Fix GH-195: Use a spinner component to convey activity while logging in
2015-11-11 11:11:02 -05:00
Ray Schamp
ae8c25e2c4 Update sass-lint
This reverts commit bad6e1cca6.
2015-11-06 11:52:16 -05:00
Ray Schamp
f97e3f51ee Add Spinner component
Using one found on http://tobiasahlin.com/spinkit/ for now. @carljbowman please help
2015-11-03 18:45:38 -05:00
Ray Schamp
6bc767dc15 Use the Travis build artifact for deployment 2015-10-29 13:04:42 -04:00
Ray Schamp
14fd4c5860 Fix GH-168: Rehabilitate the Modal props.style
This makes it more sane, and consistent with the way the react-modal `Modal` works.  The old way made multiple modals on the page have the same `style` prop.
2015-10-24 17:15:03 -04:00
Colby Gutierrez-Kraybill
9e9dc0221d Merge pull request #132 from colbygk/feature/sentry-integration
Feature/sentry integration
2015-10-23 14:26:28 -04:00
Colby Gutierrez-Kraybill
b33645beda Handle sentry config and express routing/page handling errors, to do: handle uncaughtExceptions 2015-10-22 15:05:55 -04:00
Andrew Sliwinski
d86703e5db Add window.Intl polyfill. Resolves GH-96 2015-10-21 20:49:31 -04:00
Ray Schamp
65734a9577 Adapt to upgraded react-modal style handling 2015-10-20 19:28:28 -04:00
Colby Gutierrez-Kraybill
d39b691c46 Adding newrelic integration 2015-10-20 12:54:48 -04:00
Matthew Taylor
be5d8cd3eb use po2icu to get po files as json icu files 2015-10-15 23:02:57 -04:00
Matthew Taylor
3d8ae43391 Use forks of react-modal and react-slick
They're not 0.14 compatible completely yet, so use forks that make use of outstanding PRs for 0.14 compatibility until they release an npm module with support
2015-10-14 23:01:19 -04:00
Matthew Taylor
c3b62c8f05 Update core react dependencies 2015-10-14 22:59:38 -04:00
Andrew Sliwinski
f3d6a273fb Resolve merge conflict 2015-10-13 15:57:55 -04:00
Ray Schamp
ecbf770ea4 Move watch & start behavior to npm run dev 2015-10-09 10:52:43 -06:00
Ray Schamp
4fdc4dc49d Make start also watch, and allow stop to kill it 2015-10-08 16:21:39 -06:00
Ray Schamp
621c32a605 Handle API errors by logging them
Upgrade of bunyan required for use with webpack
2015-10-07 11:29:17 -04:00
Ray Schamp
4b4482f1fe Allow logging in and out
On scratchr2, the /session/ endpoint also sets the csrf cookie to allow this.
2015-10-02 16:58:08 -04:00
Ray Schamp
e0d17005e4 Get session from scratchr2 via proxy
Cookies aren't shared across ports, so the proxy is necessary to share the session between scratchr2 and www.
2015-10-02 16:58:08 -04:00
Ray Schamp
c3bc59fee2 Add a Sass linter 2015-09-24 18:32:21 -04:00
Ray Schamp
d6576409f1 Something like session handling 2015-09-22 10:26:19 -04:00
Andrew Sliwinski
5eca8d03ae Add deployment configuration 2015-09-19 19:25:54 -04:00
Colby Gutierrez-Kraybill
1cf6cedaee Initial nginx config generation, can use environment variabes PORT and SERVER_NAME. Dynamically figures out static regex based on build directory 2015-09-16 15:09:15 -04:00
Ray Schamp
271dfa2fd9 Use classnames package to manage classnames
https://facebook.github.io/react/docs/class-name-manipulation.html
2015-09-16 10:14:00 -04:00
Ray Schamp
a4a96c9cc0 Add a dropdown component to the nav 2015-09-14 16:14:40 -04:00
Colby Gutierrez-Kraybill
393552bd46 Adding annotations to routes.json and correct interpreting code to include information about static assets. Will be used by routes-to-nginx-conf for building nginx regex patterns 2015-09-14 12:16:58 -04:00
Ray Schamp
27fc9ff012 Add a modal component, extending react-modal
Also fix some z-index quirks
2015-09-09 22:26:06 -04:00
Ray Schamp
b4147a8d53 Resolve feedback from PR, fix stylistic issues 2015-09-09 10:01:10 -04:00
Ray Schamp
a02c73ddf2 Add carousel component 2015-09-08 14:56:54 -04:00
Ray Schamp
2b2029f335 Add a command to stop the watch command 2015-09-08 14:56:54 -04:00
Andrew Sliwinski
3716d0462c Merge and resolve feedback from review 2015-09-04 08:26:18 -07:00
Andrew Sliwinski
41176aaee1 Extend build process to support multiple views 2015-09-03 22:26:56 -07:00
Andrew Sliwinski
121b0e106f Use linux compatible glob strings in makefile 2015-09-02 14:40:14 -07:00
Andrew Sliwinski
ec2ad70ab0 Downgrade eslint and patch makefile 2015-09-02 13:45:58 -07:00
Andrew Sliwinski
fa4fce1b1c Initial commit 2015-09-02 12:08:58 -07:00