diff --git a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx
index b6cd8f5ebc..80ce006b37 100755
--- a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx
@@ -206,6 +206,7 @@ class Presentation extends PureComponent {
numPages,
currentPresentationId,
fitToWidth,
+ downloadPresentationUri,
} = this.props;
const {
presentationWidth,
@@ -258,8 +259,9 @@ class Presentation extends PureComponent {
);
if (
- prevProps?.currentPresentation?.id !== currentPresentation.id ||
- (downloadableOn && !userIsPresenter)
+ prevProps?.currentPresentation?.id !== currentPresentation.id
+ || prevProps?.downloadPresentationUri !== downloadPresentationUri
+ || (downloadableOn && !userIsPresenter)
) {
if (this.currentPresentationToastId) {
toast.update(this.currentPresentationToastId, {
diff --git a/bigbluebutton-html5/imports/ui/components/presentation/container.jsx b/bigbluebutton-html5/imports/ui/components/presentation/container.jsx
index 528db95652..ef1509a599 100755
--- a/bigbluebutton-html5/imports/ui/components/presentation/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/presentation/container.jsx
@@ -117,10 +117,15 @@ export default lockContextContainer(
}
}
const currentPresentation = PresentationService.getCurrentPresentation(podId);
+
+ const downloadPresentationUri = currentPresentation
+ ? `${APP_CONFIG.bbbWebBase}/${currentPresentation?.originalFileURI}`
+ : null;
+
return {
currentSlide,
slidePosition,
- downloadPresentationUri: PresentationService.downloadPresentationUri(podId),
+ downloadPresentationUri,
multiUser:
(WhiteboardService.hasMultiUserAccess(currentSlide && currentSlide.id, Auth.userID)
|| WhiteboardService.isMultiUserActive(currentSlide?.id)
diff --git a/bigbluebutton-html5/imports/ui/components/presentation/service.js b/bigbluebutton-html5/imports/ui/components/presentation/service.js
index de1d738ab9..7c85847298 100755
--- a/bigbluebutton-html5/imports/ui/components/presentation/service.js
+++ b/bigbluebutton-html5/imports/ui/components/presentation/service.js
@@ -6,23 +6,12 @@ import { safeMatch } from '/imports/utils/string-utils';
const POLL_SETTINGS = Meteor.settings.public.poll;
const MAX_CUSTOM_FIELDS = POLL_SETTINGS.maxCustom;
const MAX_CHAR_LIMIT = POLL_SETTINGS.maxTypedAnswerLength;
-const APP = Meteor.settings.public.app;
const getCurrentPresentation = (podId) => Presentations.findOne({
podId,
current: true,
});
-const downloadPresentationUri = (podId) => {
- const currentPresentation = getCurrentPresentation(podId);
- if (!currentPresentation) {
- return null;
- }
-
- const { originalFileURI: uri } = currentPresentation;
- return `${APP.bbbWebBase}/${uri}`;
-};
-
const isPresentationDownloadable = (podId) => {
const currentPresentation = getCurrentPresentation(podId);
if (!currentPresentation) {
@@ -248,7 +237,6 @@ export default {
getCurrentSlide,
getSlidePosition,
isPresentationDownloadable,
- downloadPresentationUri,
currentSlidHasContent,
parseCurrentSlideContent,
getCurrentPresentation,