Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(notifications): reenable notifications #1135

Merged
merged 3 commits into from
Jan 7, 2021

Conversation

JPSchellenberg
Copy link
Member

@JPSchellenberg JPSchellenberg commented Jan 6, 2021

Hey,

I readded the notifications. This time they are invoked through the Notifications-reducer. They are not translated yet - I will add this in a different PR as it does not work with the i18n-system we are currently using.

@JPSchellenberg JPSchellenberg added the [type] feature Changes that introduce a new feature (resulting in minor-version-bump) label Jan 6, 2021
@JPSchellenberg JPSchellenberg marked this pull request as ready for review January 6, 2021 13:13
@JPSchellenberg JPSchellenberg self-assigned this Jan 6, 2021
@sr258
Copy link
Member

sr258 commented Jan 6, 2021

The notifications are displayed for quite a long time. I think it would be good to make them dismissable or to decrease the timespan.

The list of notifications wil grow quite quickly and is cumbersome to maintain (and create) if they all have individual actions. Wouldn't it be better to have generic actions like this (each dispatchable with a message as argument):

  • success
  • error
  • warning
  • info

instead of:
export success
export error
html export success
html export error
...

@JPSchellenberg
Copy link
Member Author

Yes, that would be the way through the actions.

We already have such action that can be dispatched: https://github.com/Lumieducation/Lumi/blob/feature/notifications/client/src/state/Notifications/NotificationsActions.ts#L11

It would look like this:

export function exportAsHtml(contentId: string): any {
    return async (dispatch: any) => {
        dispatch({
            payload: { contentId },
            type: H5PEDITOR_EXPORTHTML_REQUEST
        });

        try {
            await api.exportAsHtml(contentId);

            dispatch(notify('message', 'success'));

            dispatch({
                payload: { contentId },
                type: H5PEDITOR_EXPORTHTML_SUCCESS
            });
        } catch (error) {
            dispatch(notify('message', 'error'));

            dispatch({
                payload: { contentId },
                type: H5PEDITOR_EXPORTHTML_ERROR
            });
        }
    };
}

What do you think?

@sr258
Copy link
Member

sr258 commented Jan 6, 2021

I see, so NotificationsReducer only listens to H5P_EXPORT_ERROR etc.? I wouldn't have expected to have these action types in the notification reducer but in some other place. The notifications redux stuff could be agnostic of the actual action types and the "relaying" could be done in a different place, but I'm not sure if we gain much from separating this at the moment.

@JPSchellenberg JPSchellenberg merged commit 1e95e3c into master Jan 7, 2021
JPSchellenberg added a commit that referenced this pull request Jan 11, 2021
* feat(notifications): reenable notifications

* feat(notifications): add notifications for export & exportHtml actions

* fix(notifications): remove duplicate case
github-actions bot pushed a commit that referenced this pull request Jan 11, 2021
# [0.4.0](v0.3.1...v0.4.0) (2021-01-11)

### Bug Fixes

* **config:** broken/missing configs dealt with gracefully ([#1137](#1137)) ([0ddff46](0ddff46))
* **configuration:** config allows larger file sizes ([#1127](#1127)) ([9f19067](9f19067))
* **deps:** pin dependencies ([1128831](1128831))
* **deps:** update dependency @sentry/browser to v5.29.2 ([8369da7](8369da7))
* **deps:** update dependency @testing-library/jest-dom to v5.11.8 ([60f415d](60f415d))
* **deps:** update dependency @testing-library/react to v11.2.2 ([bc7ab16](bc7ab16))
* **deps:** update dependency @testing-library/react to v11.2.3 ([#1144](#1144)) ([b593f0a](b593f0a))
* **deps:** update dependency @testing-library/user-event to v12.6.0 ([b230e2e](b230e2e))
* **deps:** update dependency @types/jest to v26.0.19 ([7c8a9f7](7c8a9f7))
* **deps:** update dependency @types/jest to v26.0.20 ([#1140](#1140)) ([18f84fd](18f84fd))
* **deps:** update dependency @types/node to v12.19.11 ([da10f45](da10f45))
* **deps:** update dependency @types/node to v12.19.12 ([0c59694](0c59694))
* **deps:** update dependency @types/react to v16.14.2 ([295fb13](295fb13))
* **deps:** update dependency @types/react to v17 ([#1108](#1108)) ([4ea1e6e](4ea1e6e))
* **deps:** update dependency @types/react-dom to v16.9.10 ([446d443](446d443))
* **deps:** update dependency @types/react-dom to v17 ([#1109](#1109)) ([c5f952e](c5f952e))
* **deps:** update dependency electron-log to v4.3.1 ([daa2a7e](daa2a7e))
* **deps:** update dependency h5p-nodejs-library to v6.1.3 ([846ffe3](846ffe3))
* **deps:** update dependency h5p-nodejs-library to v6.2.0 ([fa53968](fa53968))
* **deps:** update dependency react-scripts to v4.0.1 ([0b22dd1](0b22dd1))
* **deps:** update dependency socket.io to v2.4.1 ([#1141](#1141)) ([70dcaf5](70dcaf5))
* **deps:** update dependency typescript to v4.1.3 ([edc37a6](edc37a6))
* **deps:** update dependency web-vitals to v1 ([#1110](#1110)) ([efe22d5](efe22d5))
* **deps:** update h5p-react to v0.1.2 ([#1146](#1146)) ([2d4bfec](2d4bfec))
* **deps:** update mui monorepo to v4.11.2 ([a660f4e](a660f4e))
* **deps:** update socket.io packages to v2.4.0 ([b391b6a](b391b6a))
* **dev tools:** corrected dev tool setup ([#1126](#1126)) ([10a46c5](10a46c5))
* **devtools-start:** fix missing path on npm start ([#1133](#1133)) ([700ebb3](700ebb3))
* **multi instances:** old content isn't deleted on startup ([#1145](#1145)) ([5179b2e](5179b2e))
* **player:** content resizes with window ([#1142](#1142)) ([eb4e201](eb4e201))
* **sentry:** deactivate sentry ([#1147](#1147)) ([6637f2d](6637f2d))
* **windows:** config file created correctly on windows ([#1115](#1115)) ([4eb3d9b](4eb3d9b))

### Features

* **gui:** overhaul save & export options ([#1134](#1134)) ([57b8353](57b8353))
* **htmlexport:** add HTML Export ([#1094](#1094)) ([37272f4](37272f4)), closes [#1091](#1091)
* **notifications:** reenable notifications ([#1135](#1135)) ([fddf795](fddf795))
* **server:** in-memory cache speeds up editor load times ([#1125](#1125)) ([ec5082f](ec5082f))
* **ui:** re-added custom h5p styles ([#1138](#1138)) ([45ded91](45ded91))
@JPSchellenberg JPSchellenberg deleted the feature/notifications branch February 1, 2021 12:04
github-actions bot pushed a commit that referenced this pull request Feb 1, 2021
# [0.5.0](v0.4.0...v0.5.0) (2021-02-01)

### Bug Fixes

* **analytics-import:** folder with dots in their name can be imported ([#1205](#1205)) ([7f4b999](7f4b999))
* **config:** broken/missing configs dealt with gracefully ([#1137](#1137)) ([729f997](729f997))
* **configuration:** config allows larger file sizes ([#1127](#1127)) ([5ef7523](5ef7523))
* **deps:** pin dependencies ([e87d68c](e87d68c))
* **deps:** update dependency @material-ui/core to v4.11.3 ([6875f02](6875f02))
* **deps:** update dependency @sentry/browser to v5.29.2 ([475c48a](475c48a))
* **deps:** update dependency @sentry/electron to v2.1.0 ([#1154](#1154)) ([260087c](260087c))
* **deps:** update dependency @sentry/electron to v2.2.0 ([1ab4ac1](1ab4ac1))
* **deps:** update dependency @testing-library/jest-dom to v5.11.8 ([eaa0cd8](eaa0cd8))
* **deps:** update dependency @testing-library/jest-dom to v5.11.9 ([#1155](#1155)) ([6510d76](6510d76))
* **deps:** update dependency @testing-library/react to v11.2.2 ([5a717cf](5a717cf))
* **deps:** update dependency @testing-library/react to v11.2.3 ([#1144](#1144)) ([227519b](227519b))
* **deps:** update dependency @testing-library/user-event to v12.6.0 ([0cf08f2](0cf08f2))
* **deps:** update dependency @testing-library/user-event to v12.6.1 ([982b227](982b227))
* **deps:** update dependency @testing-library/user-event to v12.6.2 ([d47d60a](d47d60a))
* **deps:** update dependency @types/jest to v26.0.19 ([54198bc](54198bc))
* **deps:** update dependency @types/jest to v26.0.20 ([#1140](#1140)) ([72b8776](72b8776))
* **deps:** update dependency @types/node to v12.19.11 ([8986fdb](8986fdb))
* **deps:** update dependency @types/node to v12.19.12 ([4b9f75c](4b9f75c))
* **deps:** update dependency @types/node to v12.19.13 ([#1156](#1156)) ([f155ddc](f155ddc))
* **deps:** update dependency @types/node to v12.19.14 ([#1175](#1175)) ([3a13e7e](3a13e7e))
* **deps:** update dependency @types/node to v12.19.15 ([dd999b5](dd999b5))
* **deps:** update dependency @types/react to v16.14.2 ([de82c3d](de82c3d))
* **deps:** update dependency @types/react to v17 ([#1108](#1108)) ([7151f05](7151f05))
* **deps:** update dependency @types/react-dom to v16.9.10 ([3943396](3943396))
* **deps:** update dependency @types/react-dom to v17 ([#1109](#1109)) ([eb583b9](eb583b9))
* **deps:** update dependency electron-log to v4.3.1 ([95edbe3](95edbe3))
* **deps:** update dependency express-fileupload to v1.2.1 ([#1153](#1153)) ([f37d962](f37d962))
* **deps:** update dependency fs-extra to v9.1.0 ([8c08202](8c08202))
* **deps:** update dependency h5p-nodejs-library to v6.1.3 ([f554fe9](f554fe9))
* **deps:** update dependency h5p-nodejs-library to v6.2.0 ([a15a7dc](a15a7dc))
* **deps:** update dependency i18next to v19.8.5 ([49a03ae](49a03ae))
* **deps:** update dependency i18next-fs-backend to v1.0.8 ([7111875](7111875))
* **deps:** update dependency nucleus-nodejs to v3.0.8 ([1866bd8](1866bd8))
* **deps:** update dependency react-scripts to v4.0.1 ([3f673fd](3f673fd))
* **deps:** update dependency socket.io to v2.4.1 ([#1141](#1141)) ([c3e7b8c](c3e7b8c))
* **deps:** update dependency typescript to v4.1.3 ([ed43a7d](ed43a7d))
* **deps:** update dependency web-vitals to v1 ([#1110](#1110)) ([94c154b](94c154b))
* **deps:** update dependency web-vitals to v1.1.0 ([ecbb6a0](ecbb6a0))
* **deps:** update h5p-react to v0.1.2 ([#1146](#1146)) ([5a0d450](5a0d450))
* **deps:** update h5p-server to v7.0.0-alpha.1 ([#1208](#1208)) ([2882b9e](2882b9e))
* **deps:** update mui monorepo to v4.11.2 ([e55078d](e55078d))
* **deps:** update sentry monorepo to v5.30.0 ([#1160](#1160)) ([654dcaa](654dcaa))
* **deps:** update socket.io packages to v2.4.0 ([0da5e88](0da5e88))
* **dev tools:** corrected dev tool setup ([#1126](#1126)) ([99c6695](99c6695))
* **devtools-start:** fix missing path on npm start ([#1133](#1133)) ([417c9b1](417c9b1))
* **editor:** localization files are found correctly ([#1171](#1171)) ([9480c2d](9480c2d))
* **error handling:** server deals more gracefully with invalid content ([#1174](#1174)) ([10010e1](10010e1))
* **multi instances:** old content isn't deleted on startup ([#1145](#1145)) ([8605612](8605612))
* **player:** content resizes with window ([#1142](#1142)) ([b50cd04](b50cd04))
* **saving:** last change is always saved now ([#1170](#1170)) ([9c2eb34](9c2eb34))
* **sentry:** deactivate sentry ([#1147](#1147)) ([866453c](866453c))
* **ui:** display a backbutton if not in launchpad ([#1209](#1209)) ([72c6bc1](72c6bc1))
* **windows:** config file created correctly on windows ([#1115](#1115)) ([f3113e0](f3113e0))

### Features

* **analytics:** add analytics and xapi-reporter ([#1196](#1196)) ([daa02d2](daa02d2))
* **gui:** overhaul save & export options ([#1134](#1134)) ([e01192e](e01192e))
* **htmlexport:** add HTML Export ([#1094](#1094)) ([a58b899](a58b899)), closes [#1091](#1091)
* **notifications:** reenable notifications ([#1135](#1135)) ([1e95e3c](1e95e3c))
* **server:** in-memory cache speeds up editor load times ([#1125](#1125)) ([7e2a35b](7e2a35b))
* **ui:** re-added custom h5p styles ([#1138](#1138)) ([d4e8f34](d4e8f34))
github-actions bot pushed a commit that referenced this pull request Feb 1, 2021
# [0.5.0](v0.4.0...v0.5.0) (2021-02-01)

### Bug Fixes

* **analytics-import:** folder with dots in their name can be imported ([#1205](#1205)) ([7f4b999](7f4b999))
* **config:** broken/missing configs dealt with gracefully ([#1137](#1137)) ([729f997](729f997))
* **configuration:** config allows larger file sizes ([#1127](#1127)) ([5ef7523](5ef7523))
* **deps:** pin dependencies ([e87d68c](e87d68c))
* **deps:** update dependency @material-ui/core to v4.11.3 ([6875f02](6875f02))
* **deps:** update dependency @sentry/browser to v5.29.2 ([475c48a](475c48a))
* **deps:** update dependency @sentry/electron to v2.1.0 ([#1154](#1154)) ([260087c](260087c))
* **deps:** update dependency @sentry/electron to v2.2.0 ([1ab4ac1](1ab4ac1))
* **deps:** update dependency @testing-library/jest-dom to v5.11.8 ([eaa0cd8](eaa0cd8))
* **deps:** update dependency @testing-library/jest-dom to v5.11.9 ([#1155](#1155)) ([6510d76](6510d76))
* **deps:** update dependency @testing-library/react to v11.2.2 ([5a717cf](5a717cf))
* **deps:** update dependency @testing-library/react to v11.2.3 ([#1144](#1144)) ([227519b](227519b))
* **deps:** update dependency @testing-library/user-event to v12.6.0 ([0cf08f2](0cf08f2))
* **deps:** update dependency @testing-library/user-event to v12.6.1 ([982b227](982b227))
* **deps:** update dependency @testing-library/user-event to v12.6.2 ([d47d60a](d47d60a))
* **deps:** update dependency @types/jest to v26.0.19 ([54198bc](54198bc))
* **deps:** update dependency @types/jest to v26.0.20 ([#1140](#1140)) ([72b8776](72b8776))
* **deps:** update dependency @types/node to v12.19.11 ([8986fdb](8986fdb))
* **deps:** update dependency @types/node to v12.19.12 ([4b9f75c](4b9f75c))
* **deps:** update dependency @types/node to v12.19.13 ([#1156](#1156)) ([f155ddc](f155ddc))
* **deps:** update dependency @types/node to v12.19.14 ([#1175](#1175)) ([3a13e7e](3a13e7e))
* **deps:** update dependency @types/node to v12.19.15 ([dd999b5](dd999b5))
* **deps:** update dependency @types/react to v16.14.2 ([de82c3d](de82c3d))
* **deps:** update dependency @types/react to v17 ([#1108](#1108)) ([7151f05](7151f05))
* **deps:** update dependency @types/react-dom to v16.9.10 ([3943396](3943396))
* **deps:** update dependency @types/react-dom to v17 ([#1109](#1109)) ([eb583b9](eb583b9))
* **deps:** update dependency electron-log to v4.3.1 ([95edbe3](95edbe3))
* **deps:** update dependency express-fileupload to v1.2.1 ([#1153](#1153)) ([f37d962](f37d962))
* **deps:** update dependency fs-extra to v9.1.0 ([8c08202](8c08202))
* **deps:** update dependency h5p-nodejs-library to v6.1.3 ([f554fe9](f554fe9))
* **deps:** update dependency h5p-nodejs-library to v6.2.0 ([a15a7dc](a15a7dc))
* **deps:** update dependency i18next to v19.8.5 ([49a03ae](49a03ae))
* **deps:** update dependency i18next-fs-backend to v1.0.8 ([7111875](7111875))
* **deps:** update dependency nucleus-nodejs to v3.0.8 ([1866bd8](1866bd8))
* **deps:** update dependency react-scripts to v4.0.1 ([3f673fd](3f673fd))
* **deps:** update dependency socket.io to v2.4.1 ([#1141](#1141)) ([c3e7b8c](c3e7b8c))
* **deps:** update dependency typescript to v4.1.3 ([ed43a7d](ed43a7d))
* **deps:** update dependency web-vitals to v1 ([#1110](#1110)) ([94c154b](94c154b))
* **deps:** update dependency web-vitals to v1.1.0 ([ecbb6a0](ecbb6a0))
* **deps:** update h5p-react to v0.1.2 ([#1146](#1146)) ([5a0d450](5a0d450))
* **deps:** update h5p-server to v7.0.0-alpha.1 ([#1208](#1208)) ([2882b9e](2882b9e))
* **deps:** update mui monorepo to v4.11.2 ([e55078d](e55078d))
* **deps:** update sentry monorepo to v5.30.0 ([#1160](#1160)) ([654dcaa](654dcaa))
* **deps:** update socket.io packages to v2.4.0 ([0da5e88](0da5e88))
* **dev tools:** corrected dev tool setup ([#1126](#1126)) ([99c6695](99c6695))
* **devtools-start:** fix missing path on npm start ([#1133](#1133)) ([417c9b1](417c9b1))
* **editor:** localization files are found correctly ([#1171](#1171)) ([9480c2d](9480c2d))
* **error handling:** server deals more gracefully with invalid content ([#1174](#1174)) ([10010e1](10010e1))
* **multi instances:** old content isn't deleted on startup ([#1145](#1145)) ([8605612](8605612))
* **player:** content resizes with window ([#1142](#1142)) ([b50cd04](b50cd04))
* **saving:** last change is always saved now ([#1170](#1170)) ([9c2eb34](9c2eb34))
* **sentry:** deactivate sentry ([#1147](#1147)) ([866453c](866453c))
* **ui:** display a backbutton if not in launchpad ([#1209](#1209)) ([72c6bc1](72c6bc1))
* **windows:** config file created correctly on windows ([#1115](#1115)) ([f3113e0](f3113e0))

### Features

* **analytics:** add analytics and xapi-reporter ([#1196](#1196)) ([daa02d2](daa02d2))
* **gui:** overhaul save & export options ([#1134](#1134)) ([e01192e](e01192e))
* **htmlexport:** add HTML Export ([#1094](#1094)) ([a58b899](a58b899)), closes [#1091](#1091)
* **notifications:** reenable notifications ([#1135](#1135)) ([1e95e3c](1e95e3c))
* **server:** in-memory cache speeds up editor load times ([#1125](#1125)) ([7e2a35b](7e2a35b))
* **ui:** re-added custom h5p styles ([#1138](#1138)) ([d4e8f34](d4e8f34))
@github-actions
Copy link

github-actions bot commented Feb 1, 2021

🎉 This PR is included in version 0.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released [type] feature Changes that introduce a new feature (resulting in minor-version-bump)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants