From add3cbf7b396c33b4c26dbb23133c111e372c2cc Mon Sep 17 00:00:00 2001 From: riley Date: Mon, 22 May 2017 15:10:56 -0600 Subject: [PATCH 1/6] hasRoles is no longer a function --- graph/resolvers/root_query.js | 2 +- graph/resolvers/user.js | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/graph/resolvers/root_query.js b/graph/resolvers/root_query.js index 9f3a5e157..e2cd58828 100644 --- a/graph/resolvers/root_query.js +++ b/graph/resolvers/root_query.js @@ -86,7 +86,7 @@ const RootQuery = { // this returns an arbitrary user user(_, {id}, {user, loaders: {Users}}) { - if (user == null || !user.hasRoles('ADMIN')) { + if (user == null || !user.can(SEARCH_OTHER_USERS)) { return null; } diff --git a/graph/resolvers/user.js b/graph/resolvers/user.js index d3254588e..0d8fdcbf3 100644 --- a/graph/resolvers/user.js +++ b/graph/resolvers/user.js @@ -1,5 +1,11 @@ const KarmaService = require('../../services/karma'); -const {SEARCH_ACTIONS, SEARCH_OTHERS_COMMENTS, UPDATE_USER_ROLES} = require('../../perms/constants'); +const { + SEARCH_ACTIONS, + SEARCH_OTHER_USERS, + SEARCH_OTHERS_COMMENTS, + UPDATE_USER_ROLES, + SEARCH_COMMENT_METRICS +} = require('../../perms/constants'); const User = { action_summaries({id}, _, {loaders: {Actions}}) { @@ -14,7 +20,7 @@ const User = { }, created_at({roles, created_at}, _, {user}) { - if (user && user.hasRoles('ADMIN')) { + if (user && user.can(SEARCH_OTHER_USERS)) { return created_at; } @@ -33,7 +39,7 @@ const User = { profiles({profiles}, _, {user}) { // if the user is not an admin, do not return the profiles - if (user && user.hasRoles('ADMIN')) { + if (user && user.can(SEARCH_OTHER_USERS)) { return profiles; } @@ -43,7 +49,7 @@ const User = { // Only allow a logged in user that is either the current user or is a staff // member to access the ignoredUsers of a given user. - if (!user || ((user.id !== id) && !(user.hasRoles('ADMIN') || user.hasRoles('MODERATOR')))) { + if (!user || ((user.id !== id) && !user.can(SEARCH_OTHER_USERS))) { return null; } @@ -66,7 +72,7 @@ const User = { // Extract the reliability from the user metadata if they have permission. reliable(user, _, {user: requestingUser}) { - if (requestingUser && requestingUser.hasRoles('ADMIN')) { + if (requestingUser && requestingUser.can(SEARCH_COMMENT_METRICS)) { return KarmaService.model(user); } } From 75080cfe3055d214ac29d14e5b50760ebb49082b Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Thu, 25 May 2017 16:19:19 -0300 Subject: [PATCH 2/6] Password reset and valid locations --- client/coral-admin/src/actions/auth.js | 7 +++++-- services/users.js | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/client/coral-admin/src/actions/auth.js b/client/coral-admin/src/actions/auth.js index 29971e294..2eb85c86a 100644 --- a/client/coral-admin/src/actions/auth.js +++ b/client/coral-admin/src/actions/auth.js @@ -1,6 +1,7 @@ +import {pym} from 'coral-framework'; import * as actions from '../constants/auth'; -import * as Storage from 'coral-framework/helpers/storage'; import coralApi from 'coral-framework/helpers/response'; +import * as Storage from 'coral-framework/helpers/storage'; import {handleAuthToken} from 'coral-framework/actions/auth'; //============================================================================== @@ -52,7 +53,9 @@ const forgotPassowordFailure = () => ({ export const requestPasswordReset = (email) => (dispatch) => { dispatch(forgotPassowordRequest(email)); - return coralApi('/account/password/reset', {method: 'POST', body: {email}}) + const redirectUri = location.href; + + return coralApi('/account/password/reset', {method: 'POST', body: {email, loc: redirectUri}}) .then(() => dispatch(forgotPassowordSuccess())) .catch((error) => dispatch(forgotPassowordFailure(error))); }; diff --git a/services/users.js b/services/users.js index 496db4528..07a690411 100644 --- a/services/users.js +++ b/services/users.js @@ -566,10 +566,9 @@ module.exports = class UsersService { // endpoint. return; } - let redirectDomain; try { - redirectDomain = url.parse(loc).hostname; + redirectDomain = url.parse(loc).host; } catch (e) { return Promise.reject('redirect location is invalid'); } From 21644bda8a7cf18c84dcd3c54f8eee72efd7b3e6 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Thu, 25 May 2017 16:24:39 -0300 Subject: [PATCH 3/6] Linting --- client/coral-admin/src/actions/auth.js | 1 - 1 file changed, 1 deletion(-) diff --git a/client/coral-admin/src/actions/auth.js b/client/coral-admin/src/actions/auth.js index 2eb85c86a..d5a1eeea1 100644 --- a/client/coral-admin/src/actions/auth.js +++ b/client/coral-admin/src/actions/auth.js @@ -1,4 +1,3 @@ -import {pym} from 'coral-framework'; import * as actions from '../constants/auth'; import coralApi from 'coral-framework/helpers/response'; import * as Storage from 'coral-framework/helpers/storage'; From a8c361e2f7bdc8fea5105b87e6b46eee09ea31b6 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Thu, 25 May 2017 16:53:12 -0300 Subject: [PATCH 4/6] by hostname --- services/users.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/users.js b/services/users.js index 07a690411..4c76f179c 100644 --- a/services/users.js +++ b/services/users.js @@ -568,7 +568,7 @@ module.exports = class UsersService { } let redirectDomain; try { - redirectDomain = url.parse(loc).host; + redirectDomain = url.parse(loc).hostname; } catch (e) { return Promise.reject('redirect location is invalid'); } From 178cecad053f2c754470386008cc5ee4ec314933 Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Thu, 25 May 2017 16:58:35 -0400 Subject: [PATCH 5/6] Update version 1.7.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 84d0fdf52..f40ea4e1e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "talk", - "version": "1.6.0", + "version": "1.7.0", "description": "A better commenting experience from Mozilla, The New York Times, and the Washington Post. https://coralproject.net", "main": "app.js", "scripts": { From 82c5d140bef2b01c335be99f74a2327e7ef23c56 Mon Sep 17 00:00:00 2001 From: Andrew Losowsky Date: Fri, 26 May 2017 12:30:26 -0400 Subject: [PATCH 6/6] added iphone 7 support in the list --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 718847d9e..ffb54a4fd 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,8 @@ alternative methods of loading configuration during development. - iPad - iPad Pro +- iPhone 7 Plus +- iPhone 7 - iPhone 6 Plus - iPhone 6 - iPhone 5