Commit Graph

562 Commits (c3621723c31b34178044d02db642cf92317182bc)

Author SHA1 Message Date
Felix Yan b575dd1122 Fix a typo in server/boot/challenge.js 2017-10-18 00:23:14 +08:00
Berkeley Martinez 18e57382e7 Merge pull request #15890 from raisedadead/bug/update-sign-up-page
fix(sign-up): Update page for clear onboarding path
2017-10-03 13:51:21 -07:00
Mrugesh Mohapatra 6e3f28e770 fix(sign-up): Update page for clear onboarding path
Closes #10407
2017-09-17 16:14:46 +05:30
dhcodes 63a147257b fix(main): static page links and constantStrings 2017-09-16 17:16:48 -05:00
Berkeley Martinez 58b883f06c fix(server/certs): Fix email and refactor 2017-09-08 10:52:40 -07:00
Timo a051d4d443 feat(server.certs): Remove team email 2017-09-08 10:48:08 -07:00
Berkeley Martinez 56e3d3a986 refactor(server/challenge): Make code dry 2017-09-08 00:16:02 -07:00
Joshua Riddle 6cbdbc2580 feat(user): Track challenge submissions count
BREAKING CHANGE: none

Closes #14881
2017-09-07 20:47:26 -07:00
Mrugesh Mohapatra ab93109828 fix(auth): Fix merge errors from rebase 2017-09-01 17:32:58 -07:00
Mrugesh Mohapatra 3f332fc1f0 fix: Add error handling and refactoring of Observable methods 2017-09-01 17:21:02 -07:00
Mrugesh Mohapatra 5c56a1e78c Update email views and notifications 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 7f657f7bd5 Remove non-react Update email views and routes 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra b32e2102ac Remove reset-password logic 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 239313cb0b Remove sign up page and update button styles 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 19e5ff537e Fix indenting and remove isDev from wait time. 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 09174c9687 Add invalidate token handler 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra e006f5c97d Optimize code and streamline flow.
- Optimize code and streamline flow.
- Add return statements for error display.
- Invalidate status vars and TTLs on User Model.
- Build Observable for findOrCreate
2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra f8c818e7e7 Implement passwordless login
* Created a new rest API to create and save a temporary token that
  can be exchanged for a access token.
* Updated the sign in view
* Add email template for sign in links
* Add route to request a access token and login user
* Make the email views conistent
2017-09-01 17:14:43 -07:00
Timo dcfe18d5d5 refactor: Replace .com with .org 2017-08-26 00:07:44 +02:00
Berkeley Martinez c547c26bba Fix: map should redirect to current challenge (#15723)
* fix(routes): /map redirects to current challenge

* fix(map): Normalize server map building

Localize all server code dealing with the map

* refactor(server): Remove unused services

* feat(Nav): Show Map button when no panes

This gives user the ability to quickly return to their challenge using a
known feature

* fix(server.map): Add caching to nameIdMap

Add caching to nameIdMap on the server

* fix(services.map): Fix map service

Move map building utils to map util. Fix bad import. Normalize challenge
lookup
2017-08-03 22:45:36 -05:00
Berkeley Martinez 42bfa2e64d feat(app): new layout (#14707)
* feat(app): Restructure app to be more flexible and redux idiomatic

BREAKING CHANGE: Lots of breaking changes

* refactor(challenges): Redux to started file structure

* fix(app): lint issues due to refactor

* fix(settings): Refactor settings to use folder structure

* refactor(challenges): Move step redux stuff into step folder

* fix(challenges): Remove fetchchallenges actions

* refactor(challenges): Move project redux logic into project view subdirectory

* refactor(app): %s/sagas/epics/g

* refactor(redux): Use new redux-epic with combineEpic and ofType

* refactor(app): Move challenge selector to app level

* fix(app): Move loading challenge info into challenge route

This moves a lot of the logic needed to load challenge info into the challenge app. This decouples
the main app from the challenge route

* refactor(map): Map is now decoupled from challenges

* refactor(challenges): Use selectors everywhere instead of guessing state shape

* refactor(client): refactor client epics to use selectors

* refactor(app): Refactor userSelector to return user object instead of object.user

* refactor(entities): Move entities logic into it's own file

* fix(redux): combineTypes should be combineActions

* fix(app): reducer namespacing and import

* fix(Map): Fix undefined type and update redux-action

* fix(redux): Refactor fetchUser to be more declarative

Use rxjs methods instead of imperative if/else. Also prevent non-actions from being emitted

* fix(redux): toString multi phase action types

* fix(redux): typecast multiphase type, fix typo in reducer

toString multiphase types in fetch challenge epic. Add epic to epics lists. Fix type in fetch
challenge complete handler

* fix(redux): updateCurrentChallengelogic should be centerlized

Move route changes to one location.

* fix(Nav): Prevent event object from hanging around

closeDropDown/openDropDown where handing on to the event object. This was causing issues with react
since event objects are recycled in React.

* fix(Map.Challenge): decouple map selector

* fix(Map): Decouple panel selectors from props

Panel Selectors no longer need to know the shape of a components props. Refactored component
selectors to decouple them entities state shape

* fix(Map.redux): Add select challenge epic and connect map epics

* fix(redux.analytics): Fix meta creator and nav/map events

* fix(redux): Update current challenge ajax

* fix(challenges): ssr fetch challenge should update challenge ui

Was using an epic to update challenge ui on fetch complete, but this was not working on ssr due to
the way ssr disables epics to wait for completion. This commit fixes this by causing the complete to
directly update state in the challenge ui

* fix(challenges): wrong import of types, refactor epic name

* fix(redux): Prevent fetch challenge epic from emitting null to dispatch

* fix(redux): prevent executechallenge from emitting null

* fix(challenges.redux): testsSelector returns just tests

* fix(challenges.redux): Prevent completion challenge from emitting null

* refactor(Challenges.Step): Refactor step challenge to release event object

* fix(redux): wrap reducers in factories
reducers exported from features need to be factories
this helps avoid cyclic requires messing up reducer creation
We end up with exports from files being undefined as node tries
to resolve cyclic dependencies.
This prevents that by wrapping the `handleActions` call so that the ref
to types imported from parent features are closures and can be resolved
by node before we need them.

* fix(Map): createUi not working correctly

map utils should receive just map ui state, createMapUi needs to add title to challenge

* feat(Challenges): Adds Panes and panes backend challenge

* fix: Create child container to wrap children

Create a ChildContainer comp' to wrap all children that represent the view for the current route.
This let's the child route define if they want a full width view or if they want the standard
max-width view.

* feat(Panes): panes now render dividers

* feat(Panes): Get divider to move currectly

* fix(Nav): Add top margin to contained childs

Move margin-bottom from nav to child container as margin top. This let's the jsbin style views fit
snug with navbar

* fix(Panes): Should be contained within their borders

* feat(Panes): Update navbar height of pane on app mount

* feat(Panes): Toggle map on map nav btn click

* fix(gulpfile): Ensure nodemon exits on restart

On process exit, wait for nodemon to shutdown before process.exit

* feat(Panes): Make Panes redux first

* fix(Panes): Fix divider positioning

* fix(Panes): Update divider moved handler

dividerMoved action now uses new panesByName structure

* feat(Panes): Pane nav button will hide panes

* chore(package-lock): Update package lock

* feat(Panes.redux): Recaculate dividers on pane toggle

* fix(Challenges): Update challenge on dashedName change

This fixes backwards navigation not updating the redux state current
challenge

* feat(Panes.redux): Clear panes on unmount

Clearing panes on unmount will clear bin buttons in nav

* refactor(Map): Colocate styles

* feat(Map): New map layout

* fix(Map): No longer has it's own page

* fix: FetchChallenges on appMounted

* feat: Normalize fetchChallenge(s) results

This allows superblocks to be sent with both fetchChallenge and
fetchChallenges so the map is always populated on first load

* feat(Map): Show blocks on first load

* fix(less): Remove old css

* feat(Nav): Reduce nav height

* fix(Nav): Render nav after content

Render nav after content and use css to reverse again on screen. We do
this so the panes can render first and update redux panes state which
will then update the nav ui state before nav has a chance to render

* fix(Panes): Add container

This adds a Panes Container that will allow it to udpate redux state so
Panes Component will have redux state ready to actually render panes

* feat(Challenges.Classic): Add panes

* fix(Challenge.Classic): Editor onchange should not need to know about file

* fix(Panes): Index on panes hide should account for hidden pane

* fix(Challanges.Classic): Fix panes types

* fix(Challenges): Add completion modal to all challenges

Change classic modal to completion modal

* fix(Panes): Dividers live on top of planes

* fix(Challenges): Remove codemirror theme

Remove codemirror theme and remove borders from preview frame

* fix(Challenges.Classic): Remove old component

* feat(Challenges.Step): Add panes to step challenge

* feat(Challenges.Project): Add panes to projects

* fix(Challenges.Projects): Remove row

* fix(Modals): Move modal text color to challenge less

This text color is dependent on the actual header color

* fix(Map): Use Superblock title for ui

* fix(Map): Reduce panel header height

* fix(app): Capitalize Toasts folder

Feature folders should be campitalized

* chore(Map): Remove unused epic file

* fix(Step): Fix tests

* test(Map): Update createMapUi tests input
2017-07-31 22:04:01 -05:00
Berkeley Martinez 2fcd976700 fix(signup): signup auth (#15628)
* fix(models.user): Colocate all user methods

Moved user methods/extensions into one file. Tracked down `next method
called more than once` error and setting headers after their sent. Let
regular error handler handle api errors as well.

* feat(server.auth): Disable github account creation

We are no longer allowing account creation through github

* refactor(Auth): Move user identity link into models dir

* feat(Disable link account login): This removes the ability to use a linked account t

* feat(errorhandlers): Add opbeat, filter out handled error
2017-07-14 00:09:07 +05:30
Berkeley Martinez 6e1a4b0d41 feat(signup): Add disabled signup page (#15604)
Add a beta signup page and logic that will disable the signup page using
a environmental flag
2017-07-06 11:13:38 -05:00
texas2010 dcf0136764 delete code of conduct page and route 2017-06-25 11:29:44 -05:00
padulam 0194f82f21 Remove routes and views for legacy terms of service and privacy pages 2017-06-24 22:22:42 -04:00
padulam ec020ad471 Add available for hire button 2017-06-18 09:13:48 -04:00
Quincy Larson 60187e6c28 Revert "Add Youtube videos to the map (#13592)"
This reverts commit 4a3fcba501.
2017-05-03 19:22:05 -05:00
Stuart Taylor 4a3fcba501 Add Youtube videos to the map (#13592) 2017-05-03 18:03:59 -05:00
Mrugesh Mohapatra 566de3e3f2 fix: Update config to be flexible for host 2017-03-20 12:13:27 +00:00
Berkeley Martinez f1d936198e feat(challenges): add backend challenge infrastructure (#11058)
* Feat: Initial backend view

* Feat: Refactor frame runner

* Feat: backend challenge submit runs tests

* Feat: Backend challenge request

* Feat: Whitelist hyperdev in csp

* Fix: Use app tests instead of challenge tests

* Feat: Allow hyperdev subdomains

* Fix(csp): allow hypderdev.space subdomains

* feat(challenge): submit backend

* feat: Add timeout to test runner (5 sec)

* chore(seed): Add more to test backend

* fix(csp): s/hyperdev/gomix/g

* fix(app): fix code mirror skeleton filepath

* fix(app): remove Gitter saga import

* fix(app): codemirrorskeleton does not need it's own folder
fix(app): cmk needs to work with Null types

* fix: No longer restart the browser when challenges change

* fix(app): Update jquery for challenges

* fix(seed): Remove to promise jquery call

* fix(lint): Undo merge error
undefined is no allowed

* fix(app): linting errors due to bad merge

* fix(seed): Remove old seed file
2017-01-26 23:07:22 -06:00
Quincy Larson 3e3fa12b52 Merge pull request #12048 from raisedadead/feature/reporting-profiles
feat(user): Report profiles
2017-01-26 14:16:16 -06:00
Peter Weinberg 4fe0b0ca07 chore(server): updated server to freeCodeCamp 2017-01-14 01:01:33 -05:00
Mrugesh Mohapatra 1f67c72fc6 feat(user): Report profiles
This adds a simple email-based mechanism to report profiles for
abuse. An email with text from the report is sent to Free Code
Camp's support account with the reporter's account in copy. This
also adds the reporter's details to the report for follow ups.
2017-01-13 00:14:29 +05:30
suhussai 3a7d9545fb unsubscribe all users with the same email address 2017-01-08 13:47:10 -07:00
Berkeley Martinez 44a0aeceb7 feat(lint): prefer spread over Object.assign call 2016-12-29 16:58:49 -08:00
Berkeley Martinez c1ad8f0b55 fix: decouple rendering from pages 2016-12-16 08:10:08 -08:00
Stuart Taylor 0ac02647e2 Add blockName to titles 2016-12-13 21:30:36 +00:00
mtaner 9797fc0544 Reorder projects and challenges from newest to oldest 2016-12-03 14:07:54 +00:00
Berkeley Martinez e3f94236e6 Merge pull request #10957 from ivantedja/feature/unlink-social-account
add ability to unlink social accounts (twitter, linkedin)
2016-10-27 08:03:28 -07:00
Ivan Sebastian c9e2171c11 add ability to unlink social accounts (twitter, linkedin) 2016-10-27 18:41:26 +07:00
Jonathan 387899859c Merge pull request #10824 from dhcodes/feature/add-progress-reset-option-in-settings
Add reset progress option to user settings
2016-10-26 16:09:15 +01:00
Logan Tegman 4c141f6d1a Merge pull request #10755 from daphneppl/fix/check-name-before-issuing-certificate
Check name existence before proceeding to issue certificate
2016-10-16 13:53:02 -07:00
Logan Tegman c810a3c83a Merge pull request #10823 from atjonathan/feature/desc-emoji
Added emoji support for Bio
2016-10-09 21:44:44 -07:00
Logan Tegman 2762238c8d Fix sitemap, remove jobs remnants 2016-10-06 22:10:26 -07:00
dhcodes 96b68c29b9 fixed some typos langauge -> language 2016-10-06 13:12:22 -05:00
dhcodes e543693d18 Add reset progress option to user settings 2016-09-26 10:54:58 -05:00
theflametrooper ecdc6f7bc2 Added emoji support for Bio
* Fixed issue where bio returns null if there isn't a bio
2016-09-24 15:26:18 +01:00
Ivan Sebastian e5471b6db8 bug fix, should assign default value to referer header 2016-09-23 09:24:17 +07:00
craigstroman b00aaeb99b Updating profile from GitHub should show a notification and redirect to FCC profile 2016-09-15 22:08:05 -04:00
Daphne 5ab86342e6 Check name existence before proceeding to issue certificate 2016-09-15 18:24:48 +02:00