Skip to content

Commit 5509d9e

Browse files
committed
fix session issues
1 parent 3728410 commit 5509d9e

File tree

5 files changed

+29
-17
lines changed

5 files changed

+29
-17
lines changed

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,11 @@
2525
"build": "react-scripts build",
2626
"test": "react-scripts test --env=jsdom --passWithNoTests",
2727
"eject": "react-scripts eject"
28-
}
28+
},
29+
"browserslist": [
30+
">0.2%",
31+
"not dead",
32+
"not ie <= 11",
33+
"not op_mini all"
34+
]
2935
}

src/components/Landing/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const Landing = ({ session }) => (
99
<h2>Landing Page</h2>
1010

1111
{session && session.me && <MessageCreate />}
12-
<Messages me={session.me} limit={2} />
12+
<Messages limit={2} />
1313
</div>
1414
);
1515

src/components/Message/Messages/index.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import gql from 'graphql-tag';
44

55
import MessageDelete from '../MessageDelete';
66
import Loading from '../../Loading';
7+
import withSession from '../../Session/withSession';
78

89
const MESSAGE_CREATED = gql`
910
subscription {
@@ -42,7 +43,7 @@ const GET_PAGINATED_MESSAGES_WITH_USERS = gql`
4243
}
4344
`;
4445

45-
const Messages = ({ limit, me }) => (
46+
const Messages = ({ limit }) => (
4647
<Query
4748
query={GET_PAGINATED_MESSAGES_WITH_USERS}
4849
variables={{ limit }}
@@ -69,7 +70,6 @@ const Messages = ({ limit, me }) => (
6970
<Fragment>
7071
<MessageList
7172
messages={edges}
72-
me={me}
7373
subscribeToMore={subscribeToMore}
7474
/>
7575

@@ -154,25 +154,28 @@ class MessageList extends Component {
154154
}
155155

156156
render() {
157-
const { messages, me } = this.props;
157+
const { messages } = this.props;
158158

159159
return messages.map(message => (
160-
<MessageItem key={message.id} message={message} me={me} />
160+
<MessageItem key={message.id} message={message} />
161161
));
162162
}
163163
}
164164

165-
const MessageItem = ({ message, me }) => (
165+
const MessageItemBase = ({ message, session }) => (
166166
<div>
167167
<h3>{message.user.username}</h3>
168168
<small>{message.createdAt}</small>
169169
<p>{message.text}</p>
170170

171-
{me &&
172-
message.user.id === me.id && (
171+
{session &&
172+
session.me &&
173+
message.user.id === session.me.id && (
173174
<MessageDelete message={message} />
174175
)}
175176
</div>
176177
);
177178

179+
const MessageItem = withSession(MessageItemBase);
180+
178181
export default Messages;

src/components/SignOut/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const SignOutButton = () => (
1515
);
1616

1717
const signOut = client => {
18-
localStorage.setItem('token', '');
18+
localStorage.removeItem('token');
1919
client.resetStore();
2020
history.push(routes.SIGN_IN);
2121
};

src/index.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@ const terminatingLink = split(
3535
);
3636

3737
const authLink = new ApolloLink((operation, forward) => {
38-
operation.setContext(({ headers = {} }) => ({
39-
headers: {
40-
...headers,
41-
'x-token': localStorage.getItem('token'),
42-
},
43-
}));
38+
operation.setContext(({ headers = {} }) => {
39+
const token = localStorage.getItem('token');
40+
41+
if (token) {
42+
headers = { ...headers, 'x-token': token };
43+
}
44+
45+
return { headers };
46+
});
4447

4548
return forward(operation);
4649
});
@@ -50,7 +53,7 @@ const errorLink = onError(({ graphQLErrors, networkError }) => {
5053
graphQLErrors.forEach(({ message, locations, path }) => {
5154
console.log('GraphQL error', message);
5255

53-
if (message === 'NOT_AUTHENTICATED') {
56+
if (message === 'UNAUTHENTICATED') {
5457
signOut(client);
5558
}
5659
});

0 commit comments

Comments
 (0)