Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into bbb-18078

This commit is contained in:
KDSBrowne 2023-06-27 15:48:11 +00:00
commit 87c1cf98be
22 changed files with 51 additions and 74 deletions

View File

@ -162,7 +162,7 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
PresentationSender.broadcastSetPresentationDownloadableEvtMsg(bus, meetingId, "DEFAULT_PRESENTATION_POD", "not-used", presId, true, filename)
val fileURI = List("bigbluebutton", "presentation", "download", meetingId, s"${presId}?presFilename=${presId}.${presFilenameExt}").mkString(File.separator, File.separator, "")
val fileURI = List("presentation", "download", meetingId, s"${presId}?presFilename=${presId}.${presFilenameExt}").mkString("", File.separator, "")
val event = buildNewPresAnnFileAvailable(fileURI, presId)
handle(event, liveMeeting, bus)

View File

@ -1,13 +1,4 @@
let _ = require('lodash');
let fs = require('fs');
const settings = require('./settings');
const LOCAL_SETTINGS_FILE_PATH = '/etc/bigbluebutton/bbb-export-annotations.json';
const config = settings;
if (fs.existsSync(LOCAL_SETTINGS_FILE_PATH)) {
const local_config = JSON.parse(fs.readFileSync(LOCAL_SETTINGS_FILE_PATH));
_.mergeWith(config, local_config, (a, b) => (_.isArray(b) ? b : undefined));
}
module.exports = config;

View File

@ -28,7 +28,6 @@
"msgName": "NewPresAnnFileAvailableMsg"
},
"bbbWebAPI": "http://127.0.0.1:8090",
"bbbWebPublicAPI": "/bigbluebutton/",
"bbbPadsAPI": "http://127.0.0.1:9002",
"redis": {
"host": "127.0.0.1",

View File

@ -10,7 +10,6 @@
"dependencies": {
"axios": "^0.26.0",
"form-data": "^4.0.0",
"lodash": "^4.17.21",
"perfect-freehand": "^1.0.16",
"probe-image-size": "^7.2.3",
"redis": "^4.0.3",
@ -925,11 +924,6 @@
"node": ">= 0.8.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@ -2054,11 +2048,6 @@
"type-check": "~0.4.0"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",

View File

@ -9,7 +9,6 @@
"dependencies": {
"axios": "^0.26.0",
"form-data": "^4.0.0",
"lodash": "^4.17.21",
"perfect-freehand": "^1.0.16",
"probe-image-size": "^7.2.3",
"redis": "^4.0.3",

View File

@ -28,7 +28,7 @@ async function notifyMeetingActor() {
await client.connect();
client.on('error', (err) => logger.info('Redis Client Error', err));
const link = config.bbbWebPublicAPI + path.join('presentation',
const link = path.join('presentation',
exportJob.parentMeetingId, exportJob.parentMeetingId,
exportJob.presId, 'pdf', jobId, filename);

View File

@ -1 +1 @@
BIGBLUEBUTTON_RELEASE=2.6.9
BIGBLUEBUTTON_RELEASE=2.6.10

View File

@ -555,7 +555,7 @@ class BreakoutRoom extends PureComponent {
isRTL,
} = this.props;
return (
<Styled.Panel ref={(n) => this.panel = n}>
<Styled.Panel ref={(n) => this.panel = n} onCopy={(e) => { e.stopPropagation(); }}>
<Header
leftButtonProps={{
'aria-label': intl.formatMessage(intlMessages.breakoutAriaTitle),

View File

@ -11,6 +11,7 @@ import { meetingIsBreakout } from '/imports/ui/components/app/service';
import { defineMessages } from 'react-intl';
import PollService from '/imports/ui/components/poll/service';
const APP = Meteor.settings.public.app;
const CHAT_CONFIG = Meteor.settings.public.chat;
const GROUPING_MESSAGES_WINDOW = CHAT_CONFIG.grouping_messages_window;
const CHAT_EMPHASIZE_TEXT = CHAT_CONFIG.moderatorChatEmphasized;
@ -329,10 +330,11 @@ const removePackagedClassAttribute = (classnames, attribute) => {
};
const getExportedPresentationString = (fileURI, filename, intl) => {
const warningIcon = `<i class="icon-bbb-warning"></i>`;
const href = `${APP.bbbWebBase}/${fileURI}`;
const warningIcon = '<i class="icon-bbb-warning"></i>';
const label = `<span>${intl.formatMessage(intlMessages.download)}</span>`;
const notAccessibleWarning = `<span title="${intl.formatMessage(intlMessages.notAccessibleWarning)}">${warningIcon}</span>`;
const link = `<a aria-label="${intl.formatMessage(intlMessages.notAccessibleWarning)}" href=${fileURI} type="application/pdf" target="_blank" rel="noopener, noreferrer" download>${label}&nbsp;${notAccessibleWarning}</a>`;
const link = `<a aria-label="${intl.formatMessage(intlMessages.notAccessibleWarning)}" href=${href} type="application/pdf" target="_blank" rel="noopener, noreferrer" download>${label}&nbsp;${notAccessibleWarning}</a>`;
const name = `<span>${filename}</span>`;
return `${name}</br>${link}`;
};

View File

@ -734,7 +734,8 @@ export default function Whiteboard(props) {
if (reason && isPresenter && slidePosition && (reason.includes('zoomed') || reason.includes('panned'))) {
const camera = tldrawAPI?.getPageState()?.camera;
if (currentCameraPoint[curPageId] && !isPanning) {
const isForcePanning = tldrawAPI?.isForcePanning;
if (currentCameraPoint[curPageId] && !isPanning && !isForcePanning) {
camera.point = currentCameraPoint[curPageId];
}

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Mostrar barras de herramientas",
"app.presentation.placeholder": "No hay actualmente una presentación activa",
"app.presentationUploder.title": "Presentación",
"app.presentationUploder.message": "Como presentador, tiene la posibilidad de cargar cualquier documento de oficina o archivo PDF. Se recomienda el archivo PDF para obtener los mejores resultados. Asegúrese de seleccionar una presentación usando la casilla de verificación círcular en el lado izquierdo.",
"app.presentationUploder.message": "Como presentador, puede cargar cualquier documento de Office o archivo PDF. Recomendamos el archivo PDF para obtener mejores resultados. Asegúrese de seleccionar una presentación mediante la casilla de verificación circular situada a la izquierda.",
"app.presentationUploader.exportHint": "Al seleccionar \"Enviar al chat\", los usuarios recibirán un enlace en el chat público para descargar las anotaciones .",
"app.presentationUploader.exportToastHeader": "Enviando al chat (elemento {0})",
"app.presentationUploader.exportToastHeaderPlural": "Enviando al chat ({0} elementos)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
"app.presentationUploder.conversion.invalidMimeType": "Formato no válido detectado (extensión={0}, tipo de contenido={1})",
"app.presentationUploder.conversion.conversionTimeout": "La diapositiva {0} no se pudo procesar en {1} intentos.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "No se ha podido procesar el documento de Office. Cargue un PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionFailed": "No se ha podido procesar el documento de Office. Cargue un PDF en su lugar.",
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
"app.presentationUploder.conversion.timeout": "La conversión tomó demasiado tiempo ...",
"app.presentationUploder.conversion.pageCountFailed": "Error en determinar el número de páginas.",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Mostrar barras de herramientas",
"app.presentation.placeholder": "No hay actualmente una presentación activa",
"app.presentationUploder.title": "Presentación",
"app.presentationUploder.message": "Como presentador, tiene la posibilidad de cargar cualquier documento de oficina o archivo PDF. Se recomienda el archivo PDF para obtener los mejores resultados. Asegúrese de seleccionar una presentación usando la casilla de verificación círcular en el lado izquierdo.",
"app.presentationUploder.message": "Como presentador, puede cargar cualquier documento de Office o archivo PDF. Recomendamos el archivo PDF para obtener mejores resultados. Asegúrese de seleccionar una presentación mediante la casilla de verificación circular situada a la izquierda.",
"app.presentationUploader.exportHint": "Al seleccionar \"Enviar al chat\", los usuarios recibirán un enlace en el chat público para descargar las anotaciones .",
"app.presentationUploader.exportToastHeader": "Enviando al chat (elemento {0})",
"app.presentationUploader.exportToastHeaderPlural": "Enviando al chat ({0} elementos)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
"app.presentationUploder.conversion.invalidMimeType": "Formato no válido detectado (extensión={0}, tipo de contenido={1})",
"app.presentationUploder.conversion.conversionTimeout": "La diapositiva {0} no se pudo procesar en {1} intentos.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionFailed": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "No se ha podido procesar el documento de Office. Cargue un PDF en su lugar.",
"app.presentationUploder.conversion.officeDocConversionFailed": "No se ha podido procesar el documento de Office. Cargue un PDF en su lugar.",
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
"app.presentationUploder.conversion.timeout": "Oh, la conversión tardó demasiado",
"app.presentationUploder.conversion.pageCountFailed": "No se pudo determinar el número de páginas.",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Bistaratu tresna-barrak",
"app.presentation.placeholder": "Une honetan ez dago aurkezpen aktiborik",
"app.presentationUploder.title": "Aurkezpena",
"app.presentationUploder.message": "Aurkezle gisa edozein bulegoko dokumentu edo PDF fitxategi igotzeko gaitasuna duzu. Emaitzarik onena lortzeko PDF fitxategia gomendatzen dugu. Ziurtatu aurkezpena hautatuta dagoela eskuinean dagoen kontrol-zirkulua erabiliz.",
"app.presentationUploder.message": "Aurkezle gisa aukera duzu edozein Office dokumentu edo PDF fitxategi kargatzeko. PDF fitxategia gomendatzen dugu emaitzarik onenak lortzeko. Ziurtatu aurkezpen bat hautatuta dagoela ezkerreko aldean dagoen zirkuluaren kontrol-laukia erabiliz.",
"app.presentationUploader.exportHint": "\"Bidali txatera\" hautatzen baduzu, erabiltzaileek txat publikoan oharrak deskargatzeko esteka bat izango dute.",
"app.presentationUploader.exportToastHeader": "Txatera bidaltzen ({0} elementu)",
"app.presentationUploader.exportToastHeaderPlural": "Txatera bidaltzen ({0} elementu)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "Orrien kopurua {0}ko maximoa gainditzen du",
"app.presentationUploder.conversion.invalidMimeType": "Formatu baliogabea hauteman da (luzapena={0}, eduki mota={1})",
"app.presentationUploder.conversion.conversionTimeout": "{0}. diapositiba ezin izan da prozesatu {1} saiakeretan.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Ezin izan da bulegoko dokumentua prozesatu. Kargatu PDF bat horren ordez.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Ezin izan da bulegoko dokumentua prozesatu. Kargatu PDF bat horren ordez.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Ezin izan da Office dokumentua prozesatu. Mesedez, kargatu PDF bat.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Ezin izan da Office dokumentua prozesatu. Mesedez, kargatu PDF bat.",
"app.presentationUploder.conversion.pdfHasBigPage": "Ezin izan dugu PDF fitxategia bihurtu, saiatu optimizatzen. Orri tamaina maximoa {0}",
"app.presentationUploder.conversion.timeout": "Ups, bihurketa gehiegi luzatu da",
"app.presentationUploder.conversion.pageCountFailed": "Orri kopurua zehazteak huts egin du ",

View File

@ -82,9 +82,9 @@
"app.confirmationModal.yesLabel": "بله",
"app.textInput.sendLabel": "ارسال",
"app.title.defaultViewLabel": "نمای پیش‌فرض ارائه",
"app.notes.title": "یادداشت‌های اشتراکی",
"app.notes.titlePinned": "یادداشت‌های اشتراکی (سنجاق شده)",
"app.notes.pinnedNotification": "یادداشت‌های اشتراکی اکنون در تخته‌سفید سنجاق شده‌اند.",
"app.notes.title": "یادداشت‌های هم‌رسانده",
"app.notes.titlePinned": "یادداشت‌های هم‌رسانده (سنجاق شده)",
"app.notes.pinnedNotification": "یادداشت‌های هم‌رسانده اکنون در تخته‌سفید سنجاق شده‌اند.",
"app.notes.label": "یادداشت‌ها",
"app.notes.hide": "پنهان‌کردن یادداشت‌ها",
"app.notes.locked": "قفل شده",
@ -101,7 +101,7 @@
"app.userList.participantsTitle": "شرکت‌کنندگان",
"app.userList.messagesTitle": "پیام‌ها",
"app.userList.notesTitle": "یادداشت‌ها",
"app.userList.notesListItem.unreadContent": "محتوای جدید در بخش یادداشت‌های اشتراکی وجود دارد.",
"app.userList.notesListItem.unreadContent": "محتوای جدید در بخش یادداشت‌های هم‌رسانده وجود دارد.",
"app.userList.captionsTitle": "زیرنویس‌ها",
"app.userList.presenter": "ارائه‌دهنده",
"app.userList.you": "شما",
@ -152,7 +152,7 @@
"app.userList.userOptions.disableMic": "میکروفون‌های کاربران غیرفعال شده است",
"app.userList.userOptions.disablePrivChat": "گپ خصوصی غیرفعال شده است",
"app.userList.userOptions.disablePubChat": "گپ عمومی غیرفعال شده است",
"app.userList.userOptions.disableNotes": "یادداشت‌های اشتراکی اکنون قفل شده‌اند",
"app.userList.userOptions.disableNotes": "یادداشت‌های هم‌رسانده اکنون قفل شده‌اند",
"app.userList.userOptions.hideUserList": "اکنون فهرست کاربران برای شرکت‌کنندگان پنهان است",
"app.userList.userOptions.webcamsOnlyForModerator": "تنها مدیران امکان مشاهدهٔ دوربین‌های کاربران را دارند (به دلیل تنظیمات قفل)",
"app.userList.content.participants.options.clearedStatus": "وضعیت همه کاربرها پاک شد",
@ -160,7 +160,7 @@
"app.userList.userOptions.enableMic": "میکروفون‌های کاربران فعال شد",
"app.userList.userOptions.enablePrivChat": "گپ خصوصی فعال شده است",
"app.userList.userOptions.enablePubChat": "گپ عمومی فعال شده است",
"app.userList.userOptions.enableNotes": "یادداشت‌های اشتراکی اکنون فعال هستند",
"app.userList.userOptions.enableNotes": "یادداشت‌های هم‌رسانده اکنون فعال هستند",
"app.userList.userOptions.showUserList": "اکنون فهرست کاربران برای شرکت‌کنندگان قابل مشاهده است",
"app.userList.userOptions.enableOnlyModeratorWebcam": "اکنون شما می‌توانید دوربین خود را فعال کنید، همه تصویر شما را خواهند دید",
"app.userList.userOptions.savedNames.title": "فهرست کاربران در جلسه {0} در {1}",
@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "نمایش نوارابزارها",
"app.presentation.placeholder": "درحال حاضر هیچ ارائهٔ فعالی وجود ندارد",
"app.presentationUploder.title": "ارائه",
"app.presentationUploder.message": "به عنوان یک ارائه‌دهنده، شما توانایی بارگذاری انواع پرونده‌های اداری یا پرونده PDF را دارید. ما پروندهٔ PDF را برای بهترین نتیجه توصیه می‌کنیم. لطفا مطمئن شوید که یک ارائه با استفاده از کادر دایره‌ای در سمت چپ انتخاب شده است.",
"app.presentationUploder.message": "به عنوان یک ارائه‌دهنده، شما توانایی بارگذاری انواع پرونده‌های اداری یا پرونده PDF را دارید. ما پرونده PDF را برای بهترین نتیجه توصیه می‌کنیم. لطفا مطمئن شوید که یک ارائه با استفاده از کادر دایره‌ای در سمت چپ انتخاب شده است.",
"app.presentationUploader.exportHint": "با انتخاب «ارسال به گپ» یک پیوند قابل بارگیری به همراه حاشیه‌نویسی‌ها در گپ عمومی در اختیار کاربران قرار می‌گیرد.",
"app.presentationUploader.exportToastHeader": "درحال ارسال به گپ «{0} مورد»",
"app.presentationUploader.exportToastHeaderPlural": "درحال ارسال به گپ «{0} مورد»",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "تعداد صفحات از حداکثر {0} بیشتر است",
"app.presentationUploder.conversion.invalidMimeType": "قالب نامعتبر شناسایی شد (پسوند={0}، نوع محتوا={1})",
"app.presentationUploder.conversion.conversionTimeout": "اسلاید {0} طی {1} تلاش قابل پردازش نیست.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "خطا در پردازش پروندهٔ اداری، لطفا به جای آن، یک پروندهٔ PDF بارگذاری کنید.",
"app.presentationUploder.conversion.officeDocConversionFailed": "خطا در پردازش پروندهٔ اداری، لطفا به جای آن، یک پروندهٔ PDF بارگذاری کنید.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "خطا در پردازش پرونده اداری، لطفا به جای آن، یک پرونده PDF بارگذاری کنید.",
"app.presentationUploder.conversion.officeDocConversionFailed": "خطا در پردازش پرونده اداری، لطفا به جای آن، یک پرونده PDF بارگذاری کنید.",
"app.presentationUploder.conversion.pdfHasBigPage": "ما نتوانستیم فایل PDF را تبدیل کنیم، لطفا آن را بهینه کنید. حداکثر اندازهٔ صفحه {0}",
"app.presentationUploder.conversion.timeout": "اوه، عملیات تبدیل خیلی طول کشید",
"app.presentationUploder.conversion.pageCountFailed": "تعیین تعداد صفحات با خطا مواجه شد.",
@ -415,12 +415,12 @@
"app.endMeeting.title": "پایان {0}",
"app.endMeeting.description": "این عمل جلسه را برای {0} کاربر فعال به پایان می‌رساند. آیا مطمئن هستید که می‌خواهید این جلسه را به پایان برسانید؟",
"app.endMeeting.noUserDescription": "آیا مطمئن هستید که می‌خواهید این جلسه را به پایان برسانید؟",
"app.endMeeting.contentWarning": "پیام‌های گپ، یادداشت‌های اشتراکی، محتوای تخته‌سفید و اسناد هم‌رسانی‌شده برای این جلسه، دیگر مستقیماً قابل دسترس نخواهند بود",
"app.endMeeting.contentWarning": "پیام‌های گپ، یادداشت‌های هم‌رسانده، محتوای تخته‌سفید و اسناد هم‌رسانی‌شده برای این جلسه، دیگر مستقیماً قابل دسترس نخواهند بود",
"app.endMeeting.yesLabel": "پایان جلسه برای همه کاربران",
"app.endMeeting.noLabel": "خیر",
"app.about.title": "درباره",
"app.about.version": "نسخهٔ کارخواه:",
"app.about.version_label": سخهٔ بیگ‌بلو‌باتن:",
"app.about.version_label": گارشِ بیگ‌بلو‌باتن:",
"app.about.copyright": "حق نشر:",
"app.about.confirmLabel": "تأیید",
"app.about.confirmDesc": "تأیید",
@ -616,7 +616,7 @@
"app.actionsBar.captions.stop": "توقف مشاهدهٔ زیرنویس‌ها",
"app.audioNotification.audioFailedError1001": "ارتباط وب‌سوکت قطع شد (خطای ۱۰۰۱)",
"app.audioNotification.audioFailedError1002": "امکان برقراری وب‌سوکت وجود ندارد (خطای ۱۰۰۲)",
"app.audioNotification.audioFailedError1003": سخهٔ مرورگر پشتیبانی نمی‌شود (خطای ۱۰۰۳)",
"app.audioNotification.audioFailedError1003": گارشِ مرورگر پشتیبانی نمی‌شود (خطای ۱۰۰۳)",
"app.audioNotification.audioFailedError1004": "خطا در تماس (دلیل = {0}) (خطای ۱۰۰۴)",
"app.audioNotification.audioFailedError1005": "تماس به دلیل نامشخص قطع شد (خطای ۱۰۰۵)",
"app.audioNotification.audioFailedError1006": "زمان تماس پایان یافت (خطای ۱۰۰۶)",
@ -894,7 +894,7 @@
"app.lock-viewers.microphoneLable": "هم‌رسانی میکروفون",
"app.lock-viewers.PublicChatLabel": "ارسال پیام گپ عمومی",
"app.lock-viewers.PrivateChatLable": "ارسال پیام گپ خصوصی",
"app.lock-viewers.notesLabel": "ویرایش یادداشت‌های اشتراکی",
"app.lock-viewers.notesLabel": "ویرایش یادداشت‌های هم‌رسانده",
"app.lock-viewers.userListLabel": "مشاهدهٔ بقیه کاربران در فهرست کاربران",
"app.lock-viewers.ariaTitle": "پنجرهٔ تنظیمات قفل‌کردن بینندگان",
"app.lock-viewers.button.apply": "اعمال",
@ -1133,7 +1133,7 @@
"app.createBreakoutRoom.addRoomTime": "افزایش زمان اتاق جانبی به ",
"app.createBreakoutRoom.addParticipantLabel": "+ افزودن شرکت کننده",
"app.createBreakoutRoom.freeJoin": "اجازهٔ انتخاب اتاق جانبی به کاربران برای پیوستن",
"app.createBreakoutRoom.captureNotes": "ثبت یادداشت‌های اشتراکی پس از پایان اتاق‌های جانبی",
"app.createBreakoutRoom.captureNotes": "ثبت یادداشت‌های هم‌رسانده پس از پایان اتاق‌های جانبی",
"app.createBreakoutRoom.captureSlides": "ثبت تخته‌سفید پس از پایان اتاق‌های جانبی",
"app.createBreakoutRoom.leastOneWarnBreakout": "شما باید حداقل یک کاربر را در هر اتاق جانبی قرار دهید.",
"app.createBreakoutRoom.minimumDurationWarnBreakout": "حداقل مدت زمان اتاق جانبی {0} دقیقه است.",
@ -1170,7 +1170,7 @@
"app.actionsBar.actionsDropdown.shareExternalVideo": "هم‌رسانی یک ویدیوی خارجی",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "توقف اشتراک‌گذاری ویدیوی خارجی",
"app.legacy.unsupportedBrowser": "به نظر می‌رسد شما از مرورگری استفاده می‌کنید که پشتیبانی نمی‌شود. لطفا برای پشتیبانی کامل از {0} یا {1} استفاده کنید.",
"app.legacy.upgradeBrowser": "به نظر می‌رسد شما از نسخهٔ قدیمی یک مرورگر پشتیبانی‌شده استفاده می‌کنید. لطفا برای پشتیبانی کامل مرورگر خود را به‌روزرسانی کنید.",
"app.legacy.upgradeBrowser": "به نظر می‌رسد شما از نگارشِ قدیمی یک مرورگر پشتیبانی‌شده استفاده می‌کنید. لطفا برای پشتیبانی کامل مرورگر خود را به‌روزرسانی کنید.",
"app.legacy.criosBrowser": "در iOS برای پشتیبانی کامل لطفا از سافاری استفاده کنید.",
"app.debugWindow.windowTitle": "عیب‌یابی",
"app.debugWindow.form.userAgentLabel": "عامل کاربر",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Afficher les barres d'outils",
"app.presentation.placeholder": "Il n'y a pas de présentation active actuellement",
"app.presentationUploder.title": "Présentation",
"app.presentationUploder.message": "En tant que présentateur, vous avez la possibilité de télécharger n'importe quel document Office ou fichier PDF. Nous recommandons le fichier PDF pour de meilleurs résultats. Veuillez vous assurer qu'une présentation est sélectionnée à l'aide du cercle à cocher sur la gauche.",
"app.presentationUploder.message": "En tant que présentateur vous avez la possibilité de téléverser tout fichier Office ou PDF. Nous recommandons l'utilisation des fichiers PDF pour de meilleurs résultats. Veuillez vérifier que votre document est sélectionné en utilisant le bouton en bas à gauche.",
"app.presentationUploader.exportHint": "En sélectionnant \"Envoyer dans la discussion\", les utilisateurs disposeront d'un lien de téléchargement de la discussion publique.",
"app.presentationUploader.exportToastHeader": "Envoi dans la discussion de ({0} item)",
"app.presentationUploader.exportToastHeaderPlural": "Envoi dans la discussion de ({0} item)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "Le nombre de pages dépasse le maximum de {0}",
"app.presentationUploder.conversion.invalidMimeType": "Mauvais format du fichier détecté (extension={0}, type de contenu={1})",
"app.presentationUploder.conversion.conversionTimeout": "La diapositive {0} n'a pas pu être traitée au cours des {1} essais",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Échec du traitement du document Office. Veuillez téléverser un PDF à la place.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Échec du traitement du document office. Veuillez télécharger un PDF à la place.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Échec du traitement du document Office. Veuillez téléverser un document PDF à sa place.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Échec du traitement du document Office. Veuillez téléverser un document PDF à sa place.",
"app.presentationUploder.conversion.pdfHasBigPage": "Nous n'avons pas pu convertir le fichier PDF, veuillez essayer de l'optimiser. Taille maximum {0}",
"app.presentationUploder.conversion.timeout": "Oups, la conversion a pris trop de temps",
"app.presentationUploder.conversion.pageCountFailed": "Impossible de déterminer le nombre de pages.",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Amosar barras de ferramentas",
"app.presentation.placeholder": "Non hai ningunha presentación activa actualmente",
"app.presentationUploder.title": "Presentación",
"app.presentationUploder.message": "Como presentador tes a posibilidade de cargar calquera documento ofimático ou ficheiro PDF. Recomendamos o ficheiro PDF para obter os mellores resultados. Asegúrate de seleccionar unha presentación usando a caixa de verificación circular do lado esquerdo.",
"app.presentationUploder.message": "Como presentador tes a posibilidade de cargar calquera documento de Office ou ficheiro PDF. Recomendamos o ficheiro PDF para obter os mellores resultados. Asegúrate de seleccionar unha presentación usando a caixa de verificación do círculo do lado esquerdo.",
"app.presentationUploader.exportHint": "Ao seleccionar \"Enviar ao chat\" proporcionarase aos usuarios unha ligazón para descargar con anotacións no chat público.",
"app.presentationUploader.exportToastHeader": "Enviando ao chat (elemento {0})",
"app.presentationUploader.exportToastHeaderPlural": "Enviando ao chat ({0} elementos)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "O número de páxinas superou o máximo de {0}",
"app.presentationUploder.conversion.invalidMimeType": "Detectouse un formato non válido (extensión={0}, tipo de contido={1})",
"app.presentationUploder.conversion.conversionTimeout": "Non se puido procesar a diapositiva {0} en {1} intentos.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Non se puido procesar o documento de Office. Cargue un PDF no seu lugar.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Non se puido procesar o documento de Office. Cargue un PDF no seu lugar.",
"app.presentationUploder.conversion.pdfHasBigPage": "Non foi posíbel converter o ficheiro PDF. Tente optimizalo. Tamaño máximo de páxina {0}",
"app.presentationUploder.conversion.timeout": " Ouh! a conversión tomou demasiado tempo",
"app.presentationUploder.conversion.pageCountFailed": "Produciuse un fallo ao determinar o número de páxinas.",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Araç çubuklarını görüntüle",
"app.presentation.placeholder": "Şu anda etkin bir sunum yok",
"app.presentationUploder.title": "Sunum",
"app.presentationUploder.message": "Sunucu olarak, herhangi bir ofis ya da PDF belgesi yükleyebilirsiniz. En iyi sonucu almak için PDF belgesi kullanmanız önerilir. Lütfen sol taraftaki daire işaret kutusunu kullanarak bir sunum seçildiğinden emin olun.",
"app.presentationUploder.message": "Sunucu olarak, herhangi bir Office ya da PDF belgesi yükleyebilirsiniz. En iyi sonucu almak için PDF belgesi kullanmanız önerilir. Lütfen sol taraftaki daire işaret kutusunu kullanarak bir sunum seçildiğinden emin olun.",
"app.presentationUploader.exportHint": "\"Sohbete gönder\" seçildiğinde, kullanıcılara herkese açık sohbet için ek açıklamalar bulunan bir indirilebilir bağlantı sunulur.",
"app.presentationUploader.exportToastHeader": "Sohbete gönderiliyor ({0} öge)",
"app.presentationUploader.exportToastHeaderPlural": "Sohbete gönderiliyor ({0} öge)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "Sayfa sayısı çok fazla. En fazla {0} olabilir",
"app.presentationUploder.conversion.invalidMimeType": "Geçersiz biçim algılandı (uzantı={0}, içerik türü={1})",
"app.presentationUploder.conversion.conversionTimeout": "{0}. slayt {1} denemede işlenemedi.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Office belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Office belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
"app.presentationUploder.conversion.pdfHasBigPage": "PDF dosyasını dönüştürülemedi. Lütfen iyileştirmeyi deneyin. En fazla sayfa boyutu {0}",
"app.presentationUploder.conversion.timeout": "Sorun var, dönüştürme çok uzun sürdü",
"app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemedi.",

View File

@ -239,7 +239,7 @@
"app.presentation.presentationToolbar.showToolsDesc": "Показати панель інструментів",
"app.presentation.placeholder": "Немає активної презентації",
"app.presentationUploder.title": "Презентація",
"app.presentationUploder.message": "У ролі доповідача у вас є можливість завантажити будь який офісний документ або PDF файл. Ми рекомендуємо PDF файли для кращої сумісності. Переконайтесь, що презентація помічена як обрана для показу на дошці ліворуч від імені файлу.",
"app.presentationUploder.message": "Як інструктор, ви можете завантажити будь який офісний документ або PDF файл. Ми рекомендуємо PDF для найкращої сумісності. Переконайтесь, що поточний документ обрано перемикачев напроти імені файлу.",
"app.presentationUploader.exportHint": "Обираючи «Надіслати в чат» слухачами буде отримане посилання із анотаціями придатне для завантаження.",
"app.presentationUploader.exportToastHeader": "Надсилання у чат ({0} елемент)",
"app.presentationUploader.exportToastHeaderPlural": "Надсилання у чат ({0} елементів)",
@ -284,8 +284,8 @@
"app.presentationUploder.conversion.pageCountExceeded": "Кількість сторінок перевищує максимальну кількість {0}",
"app.presentationUploder.conversion.invalidMimeType": "Виявлено неправильний формат (розширення подане як {0} але вміст є {1})",
"app.presentationUploder.conversion.conversionTimeout": "Слайд {0} не може бути оброблений з {1} спроб.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Не вийшло опрацювати документ. Будь ласка, завантажте файл у форматі PDF.",
"app.presentationUploder.conversion.officeDocConversionFailed": "Не вийшло опрацювати документ. Будь ласка, завантажте файл у форматі PDF.",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Не можу обробити офісний документ. Спробуйте завантажити PDF як альтернативу. ",
"app.presentationUploder.conversion.officeDocConversionFailed": "Не можу обробити офісний документ. Спробуйте завантажити PDF як альтернативу.",
"app.presentationUploder.conversion.pdfHasBigPage": "Не вдалось конвертувати файл PDF, будь ласка, спробуйте його оптимізувати. Максимальний розмір {0} ",
"app.presentationUploder.conversion.timeout": "Ой, перетворення займає надто багато часу",
"app.presentationUploder.conversion.pageCountFailed": "Не вийшло визначити кількість сторінок.",

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Save string of folders containg reference snapshots files
folders_string=$(find . -type d -name "*js-snapshots" -printf "%h\n" | sort | uniq | tr -d './')
folders_string=$(find . -type d -name "*js-snapshots" -printf "%h\n" | sort | uniq | tr -d './' | tr '\n' ' ')
# Find folders
folders=$(find . -type d -name "*js-snapshots")
@ -12,5 +12,6 @@ do
rm -r "$folder"
done
echo "Running test suites: $folders_string"
# Run the test suites for these deleted folders
npm test "$folders_string" -- --project=chromium
npm test $folders_string -- --project=chromium

View File

@ -18,12 +18,6 @@ case "$1" in
yq w -i $TARGET server.port "3005"
yq w -i $TARGET hooks.getRaw "false"
cd /usr/local/bigbluebutton/bbb-webhooks
mkdir -p node_modules
npm config set unsafe-perm true
npm rebuild || true
mkdir -p /var/log/bbb-webhooks/
touch /var/log/bbb-webhooks/bbb-webhooks.log
chown -R bigbluebutton:bigbluebutton /usr/local/bigbluebutton/bbb-webhooks /var/log/bbb-webhooks/

View File

@ -26,7 +26,7 @@ find -maxdepth 1 ! -path . ! -name staging $(printf "! -name %s " $(cat .build-f
pushd .
cd staging/usr/local/bigbluebutton/bbb-webhooks/
npm install --production
npm install --unsafe-perm --production
popd
cp webhooks.nginx staging/usr/share/bigbluebutton/nginx/webhooks.nginx

View File

@ -187,6 +187,7 @@ For full details on what is new in BigBlueButton 2.6, see the release notes.
### Recent releases:
- [2.6.10](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.10)
- [2.6.9](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.9)
- [2.6.8](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.8)
- [2.6.7](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.7)