Skip to content

Commit 3aa1ac8

Browse files
authored
Merge branch 'develop' into fix/form-reinitialization-on-language-change
2 parents d8bf879 + 5e5ef5f commit 3aa1ac8

File tree

11 files changed

+45
-46
lines changed

11 files changed

+45
-46
lines changed

client/modules/User/components/Collection.jsx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,14 @@ import ArrowDownIcon from '../../../images/sort-arrow-down.svg';
1313
import CollectionMetadata from './CollectionMetadata';
1414
import CollectionItemRow from './CollectionItemRow';
1515

16-
const Collection = ({ collectionId }) => {
16+
const Collection = ({ collectionId, username }) => {
1717
const { t } = useTranslation();
1818
const dispatch = useDispatch();
1919

20-
const { user, collection, sorting, loading, username } = useSelector(
21-
(state) => ({
22-
user: state.user,
23-
collection: getCollection(state, collectionId),
24-
sorting: state.sorting,
25-
loading: state.loading,
26-
username: state.user.username
27-
})
28-
);
20+
const user = useSelector((state) => state.user);
21+
const collection = useSelector((state) => getCollection(state, collectionId));
22+
const sorting = useSelector((state) => state.sorting);
23+
const loading = useSelector((state) => state.loading);
2924

3025
useEffect(() => {
3126
dispatch(CollectionsActions.getCollections(username));
@@ -34,7 +29,7 @@ const Collection = ({ collectionId }) => {
3429

3530
const isOwner = () =>
3631
user != null &&
37-
user.username &&
32+
typeof user.username !== 'undefined' &&
3833
collection?.owner?.username === user.username;
3934

4035
const hasCollection = () => !!collection;
@@ -160,7 +155,8 @@ const Collection = ({ collectionId }) => {
160155
};
161156

162157
Collection.propTypes = {
163-
collectionId: PropTypes.string.isRequired
158+
collectionId: PropTypes.string.isRequired,
159+
username: PropTypes.string.isRequired
164160
};
165161

166162
export default Collection;

client/modules/User/components/CollectionItemRow.jsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@ import PropTypes from 'prop-types';
22
import React from 'react';
33
import { Link } from 'react-router-dom';
44
import { useTranslation } from 'react-i18next';
5+
import { useDispatch } from 'react-redux';
6+
import { removeFromCollection } from '../../IDE/actions/collections';
57
import dates from '../../../utils/formatDate';
68
import RemoveIcon from '../../../images/close.svg';
79

8-
const CollectionItemRow = ({
9-
collection,
10-
item,
11-
isOwner,
12-
removeFromCollection
13-
}) => {
10+
const CollectionItemRow = ({ collection, item, isOwner }) => {
1411
const { t } = useTranslation();
12+
const dispatch = useDispatch();
1513
const projectIsDeleted = item.isDeleted;
16-
1714
const handleSketchRemove = () => {
1815
const name = projectIsDeleted ? 'deleted sketch' : item.project.name;
1916

@@ -22,7 +19,7 @@ const CollectionItemRow = ({
2219
t('Collection.DeleteFromCollection', { name_sketch: name })
2320
)
2421
) {
25-
removeFromCollection(collection.id, item.projectId);
22+
dispatch(removeFromCollection(collection.id, item.projectId));
2623
}
2724
};
2825

@@ -75,10 +72,9 @@ CollectionItemRow.propTypes = {
7572
user: PropTypes.shape({
7673
username: PropTypes.string.isRequired
7774
})
78-
}).isRequired
75+
})
7976
}).isRequired,
80-
isOwner: PropTypes.bool.isRequired,
81-
removeFromCollection: PropTypes.func.isRequired
77+
isOwner: PropTypes.bool.isRequired
8278
};
8379

8480
export default CollectionItemRow;

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "p5.js-web-editor",
3-
"version": "2.15.0",
3+
"version": "2.15.2",
44
"description": "The web editor for p5.js.",
55
"scripts": {
66
"clean": "rimraf dist",

server/domain-objects/createDefaultFiles.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ function draw() {
99
export const defaultHTML = `<!DOCTYPE html>
1010
<html lang="en">
1111
<head>
12-
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.0/p5.js"></script>
13-
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.0/addons/p5.sound.min.js"></script>
12+
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.1/p5.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.1/addons/p5.sound.min.js"></script>
1414
<link rel="stylesheet" type="text/css" href="style.css">
1515
<meta charset="utf-8" />
1616

server/migrations/emailConsolidation.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ const mongoConnectionString = process.env.MONGO_URL;
1414
const { ObjectId } = mongoose.Types;
1515
// Connect to MongoDB
1616
mongoose.Promise = global.Promise;
17-
mongoose.connect(mongoConnectionString);
17+
mongoose.connect(mongoConnectionString, {
18+
useNewUrlParser: true,
19+
useUnifiedTopology: true
20+
});
1821
mongoose.set('strictQuery', true);
1922
mongoose.connection.on('error', () => {
2023
console.error(

server/previewServer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ const connectToMongoDB = async () => {
2222
mongoose.set('strictQuery', true);
2323

2424
await mongoose.connect(mongoConnectionString, {
25+
useNewUrlParser: true,
26+
useUnifiedTopology: true,
2527
serverSelectionTimeoutMS: 30000, // 30 seconds timeout
2628
socketTimeoutMS: 45000 // 45 seconds timeout
2729
});

server/scripts/examples-gg-latest.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ const headers = { 'User-Agent': 'p5js-web-editor/0.0.1' };
5959

6060
const mongoConnectionString = process.env.MONGO_URL;
6161

62-
mongoose.connect(mongoConnectionString);
62+
mongoose.connect(mongoConnectionString, {
63+
useNewUrlParser: true,
64+
useUnifiedTopology: true
65+
});
6366
mongoose.set('strictQuery', true);
6467
mongoose.connection.on('error', () => {
6568
console.error(

server/scripts/examples.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ const headers = { 'User-Agent': 'p5js-web-editor/0.0.1' };
1414

1515
const mongoConnectionString = process.env.MONGO_URL;
1616

17-
mongoose.connect(mongoConnectionString);
17+
mongoose.connect(mongoConnectionString, {
18+
useNewUrlParser: true,
19+
useUnifiedTopology: true
20+
});
1821
mongoose.set('strictQuery', true);
1922
mongoose.connection.on('error', () => {
2023
console.error(

server/server.js

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,14 @@ app.use(cookieParser());
7676

7777
mongoose.set('strictQuery', true);
7878

79-
async function connectToMongoDB() {
80-
try {
81-
const mongooseConnection = await mongoose.connect(mongoConnectionString, {
82-
serverSelectionTimeoutMS: 30000, // 30 seconds timeout
83-
socketTimeoutMS: 45000 // 45 seconds timeout
84-
});
85-
return mongooseConnection.connection.getClient();
86-
} catch (err) {
87-
throw new Error('MongoDB connection failed', err);
88-
}
89-
}
90-
91-
const clientInstancePromise = connectToMongoDB();
79+
const clientPromise = mongoose
80+
.connect(mongoConnectionString, {
81+
useNewUrlParser: true,
82+
useUnifiedTopology: true,
83+
serverSelectionTimeoutMS: 30000, // 30 seconds timeout
84+
socketTimeoutMS: 45000 // 45 seconds timeout
85+
})
86+
.then((m) => m.connection.getClient());
9287

9388
app.use(
9489
session({
@@ -102,7 +97,8 @@ app.use(
10297
secure: false
10398
},
10499
store: new MongoStore({
105-
clientPromise: clientInstancePromise
100+
clientPromise,
101+
autoReconnect: true
106102
})
107103
})
108104
);

server/views/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function renderIndex() {
1212
<meta name="description" content="A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners." />
1313
<title>p5.js Web Editor</title>
1414
${process.env.NODE_ENV === 'production' ? `<link rel='stylesheet' href='${assetsManifest['/app.css']}' />` : ''}
15-
<link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
15+
<link href='https://fonts.googleapis.com/css?family=Inconsolata:400,700' rel='stylesheet' type='text/css'>
1616
<link href='https://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
1717
<link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' / >
1818
<script>

0 commit comments

Comments
 (0)