diff --git a/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentationDownloadable.js b/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentationDownloadable.js
index 2eb1abceef..4ccf1e063a 100644
--- a/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentationDownloadable.js
+++ b/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentationDownloadable.js
@@ -13,7 +13,7 @@ export default function setPresentationDownloadable(presentationId, downloadable
check(meetingId, String);
check(requesterUserId, String);
- check(downloadable, Boolean);
+ check(downloadable, Match.Maybe(Boolean));
check(presentationId, String);
const payload = {
diff --git a/bigbluebutton-html5/imports/ui/components/notes/converter-button/service.js b/bigbluebutton-html5/imports/ui/components/notes/converter-button/service.js
index 87681fadc2..4513e48368 100644
--- a/bigbluebutton-html5/imports/ui/components/notes/converter-button/service.js
+++ b/bigbluebutton-html5/imports/ui/components/notes/converter-button/service.js
@@ -11,7 +11,7 @@ async function convertAndUpload() {
let filename = 'Shared_Notes';
const presentations = PresentationUploaderService.getPresentations();
- const duplicates = presentations.filter((pres) => pres.filename.startsWith(filename)).length;
+ const duplicates = presentations.filter((pres) => pres.filename?.startsWith(filename) || pres.name?.startsWith(filename)).length;
if (duplicates !== 0) { filename = `${filename}(${duplicates})`; }
diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-toast/presentation-uploader-toast/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/presentation-toast/presentation-uploader-toast/component.jsx
index 13679879ab..5eff040937 100644
--- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-toast/presentation-uploader-toast/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-toast/presentation-uploader-toast/component.jsx
@@ -255,7 +255,7 @@ const renderToastList = (presentations, intl) => {
}
return (
-
+
{toastHeading}
diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx
index 4f5c33ab92..054bc2185c 100755
--- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx
@@ -329,6 +329,14 @@ class PresentationUploader extends Component {
const { presentations: prevPropPresentations } = prevProps;
let shouldUpdateState = isOpen && !prevProps.isOpen;
+
+ propPresentations.forEach(p => {
+ const indexOfPres = presentations.findIndex(pres => pres.temporaryPresentationId === p.temporaryPresentationId || pres.filename === p.filename);
+ if (indexOfPres === -1 && p.renderedInToast !== undefined && !p.renderedInToast) {
+ shouldUpdateState = true;
+ }
+ })
+
const presState = Object.values({
...propPresentations,
...presentations,
diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/service.js b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/service.js
index b50827ebeb..d19a0b7f7b 100644
--- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/service.js
+++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/service.js
@@ -49,6 +49,8 @@ const getPresentations = () => Presentations
current,
downloadable,
removable,
+ renderedInToast,
+ temporaryPresentationId,
id,
name,
exportation,
@@ -59,6 +61,8 @@ const getPresentations = () => Presentations
return {
id,
filename: name,
+ renderedInToast,
+ temporaryPresentationId,
isCurrent: current || false,
upload: { done: true, error: false },
isDownloadable: downloadable,