From 76c8fb8b92a85f615bbf998d43e20e65206f003d Mon Sep 17 00:00:00 2001 From: Evilham Date: Fri, 31 Jul 2026 13:30:33 +0200 Subject: [PATCH] jitsi: upgraded to 11031 --- .../files/_update_jitsi_configurations.sh | 2 +- type/__jitsi_meet_domain/files/config.js.sh | 94 ++++++++++++++++--- .../files/config.js.sh.orig | 94 ++++++++++++++++--- .../files/interface_config.js.sh | 2 +- .../files/interface_config.js.sh.orig | 2 +- type/__jitsi_meet_domain/files/jitsi-version | 2 +- type/__jitsi_meet_domain/files/nginx.sh.orig | 27 +++--- 7 files changed, 184 insertions(+), 39 deletions(-) diff --git a/type/__jitsi_meet_domain/files/_update_jitsi_configurations.sh b/type/__jitsi_meet_domain/files/_update_jitsi_configurations.sh index 35471b0..526af90 100755 --- a/type/__jitsi_meet_domain/files/_update_jitsi_configurations.sh +++ b/type/__jitsi_meet_domain/files/_update_jitsi_configurations.sh @@ -7,7 +7,7 @@ # We could automate this, but are using it as an indicator for the # latest branch with which we conciliated changes. -BRANCH="jitsi-meet_10888" +BRANCH="jitsi-meet_11031" REPO="https://github.com/jitsi/jitsi-meet" get_url() { diff --git a/type/__jitsi_meet_domain/files/config.js.sh b/type/__jitsi_meet_domain/files/config.js.sh index 86daafa..8d8aa89 100644 --- a/type/__jitsi_meet_domain/files/config.js.sh +++ b/type/__jitsi_meet_domain/files/config.js.sh @@ -501,6 +501,9 @@ $(if [ -n "${VIDEO_CONSTRAINTS}" ]; then echo "${VIDEO_CONSTRAINTS},"; fi) // // Translation languages. // // Available languages can be found in // // ./lang/translation-languages.json. + // // Whether to enable translation (language selection) UI. Defaults to true. + // translationEnabled: true, + // translationLanguages: ['en', 'es', 'fr', 'ro'], // // Important languages to show on the top of the language list. @@ -539,6 +542,10 @@ $(if [ -n "${VIDEO_CONSTRAINTS}" ]; then echo "${VIDEO_CONSTRAINTS},"; fi) // // subtitles on stage and the "Show subtitles on stage" checkbox in the settings. // // Note: Starting transcriptions from the recording dialog will still work. // disableClosedCaptions: false, + // + // // When the backend provides diarization by setting a "speaker" field, append [Speaker N] for transcription + // // events from non-0 speakers. + // renderTranscriptDetails: false // }, @@ -869,7 +876,6 @@ $(if [ -n "${VIDEO_CONSTRAINTS}" ]; then echo "${VIDEO_CONSTRAINTS},"; fi) // 'embedmeeting', // 'etherpad', // 'feedback', - // 'filmstrip', // 'fullscreen', // 'hangup', // 'help', @@ -1502,16 +1508,81 @@ ${ANALYTICS_SETTINGS} // hideJoinRoomButton: false, // }, - // When true, virtual background feature will be disabled. - // disableVirtualBackground: false, - - // When true the user cannot add more images to be used as virtual background. - // Only the default ones from will be available. - // disableAddingBackgroundImages: false, - // Sets the background transparency level. '0' is fully transparent, '1' is opaque. // backgroundAlpha: 1, + // @deprecated Use \`virtualBackground.disabled\` instead. When true, the virtual background + // feature is disabled. Kept here for backwards compatibility; will be removed in a future release. + // disableVirtualBackground: false, + + // @deprecated Use \`virtualBackground.disableAddingImages\` instead. When true the user cannot + // add more images to be used as virtual background; only the default ones will be available. + // Kept here for backwards compatibility; will be removed in a future release. + // disableAddingBackgroundImages: false, + + // Virtual background options. + // All fields are optional; omitting a field uses the default/auto-detected value. + virtualBackground: { + + // When true, virtual background feature will be disabled. + // disabled: false, + + // When true the user cannot add more images to be used as virtual background. + // Only the default ones will be available. + // disableAddingImages: false, + + // Enable the V2 processing engine. When false (default), the legacy + // TFLite WASM engine (V1) is used. Set to true to opt in to V2. + // enableV2: false, + + // V2-only tuning knobs. These have no effect when enableV2 is false. Defaults are + // tuned for typical hardware; most deployments should not need to override them. + // advanced: { + + // // Force a specific device tier regardless of what the browser supports. + // // Useful for testing lower-tier behaviour on high-end hardware. + // // Values: 'high' | 'medium' | 'low' — null means auto-detect (default). + // // tierOverride: null, + + // // Override the segmentation canvas dimensions (pixels). Applies to MEDIUM + // // and HIGH tiers only (TF.js input canvas). LOW tier (TFLite) always runs + // // at 256x144, fixed by the selfie_segmentation_landscape model and not + // // affected by this setting. + // // segmentationWidth: null, // auto: 512 (high) / 384 (medium) + // // segmentationHeight: null, // auto: 288 (high) / 216 (medium) + + // // Override the target frame rate for the effect. + // // targetFps: null, // auto: 30 (all tiers) + + // // Temporal mask blend ratio (0-1). Higher = smoother motion, slower to respond + // // to fast movement. 0 = raw mask each frame (no temporal smoothing). + // // temporalBlendRatio: 0.75, + + // // Smoothstep edge thresholds for the WebGL compositor (0-1). + // // Pixels with segmentation confidence below edgeLow are fully transparent; + // // above edgeHigh they are fully opaque; between the two they feather. + // // Defaults are tier-specific (tuned per model's confidence distribution): + // // LOW tier (TFLite selfie_segmentation_landscape): edgeLow = 0.10, edgeHigh = 0.50 + // // MEDIUM/HIGH (TF.js MediaPipe body-segmentation): edgeLow = 0.28, edgeHigh = 0.65 + // // Lower edgeLow = more hair retained at the cost of slight background bleed. + // // Higher edgeHigh = harder edge transition. + // // edgeLow: 0.28, + // // edgeHigh: 0.65, + + // // Insertable Streams (MediaStreamTrackProcessor/Generator) is used by default + // // when available. It reduces latency by ~1-2 frames and eliminates the keepalive + // // Web Worker. Set to false to force the legacy captureStream path instead. + // // useInsertableStreams: false, + + // // LOW tier (TFLite) inference stride. Inference is skipped on alternate frames; + // // skipped frames reuse the previous mask. Higher values = lower CPU usage at the + // // cost of reduced mask update frequency. Set to 1 to run inference every frame. + // // 1 = every frame (24 fps mask updates, ~37 ms slack per frame) ← default + // // 2 = every 2 frames (12 fps mask updates, ~74 ms slack per frame) + // // inferenceStride: 1, + // }, + }, + // The URL of the moderated rooms microservice, if available. If it // is present, a link to the service will be rendered on the welcome page, // otherwise the app doesn't render it. @@ -1785,9 +1856,6 @@ ${ANALYTICS_SETTINGS} // List of notifications to be disabled. Works in tandem with the above setting. // disabledNotifications: [], - // Prevent the filmstrip from autohiding when screen width is under a certain threshold - // disableFilmstripAutohiding: false, - // filmstrip: { // // Disable the vertical/horizontal filmstrip. // disabled: false, @@ -1876,6 +1944,10 @@ ${ANALYTICS_SETTINGS} // userLimit: 25, // // The url for more info about the whiteboard and its usage limitations. // limitUrl: 'https://example.com/blog/whiteboard-limits', + + // //Backend URL for storing whiteboard scenes and images + // //This backend service handles scene persistence and file uploads + // storageBackendUrl: 'https://excalidraw-s3-storage-backend.example.com', // }, // The watchRTC initialize config params as described : diff --git a/type/__jitsi_meet_domain/files/config.js.sh.orig b/type/__jitsi_meet_domain/files/config.js.sh.orig index 3e1c70d..bc5ecc8 100644 --- a/type/__jitsi_meet_domain/files/config.js.sh.orig +++ b/type/__jitsi_meet_domain/files/config.js.sh.orig @@ -493,6 +493,9 @@ var config = { // // Translation languages. // // Available languages can be found in // // ./lang/translation-languages.json. + // // Whether to enable translation (language selection) UI. Defaults to true. + // translationEnabled: true, + // translationLanguages: ['en', 'es', 'fr', 'ro'], // // Important languages to show on the top of the language list. @@ -531,6 +534,10 @@ var config = { // // subtitles on stage and the "Show subtitles on stage" checkbox in the settings. // // Note: Starting transcriptions from the recording dialog will still work. // disableClosedCaptions: false, + // + // // When the backend provides diarization by setting a "speaker" field, append [Speaker N] for transcription + // // events from non-0 speakers. + // renderTranscriptDetails: false // }, @@ -861,7 +868,6 @@ var config = { // 'embedmeeting', // 'etherpad', // 'feedback', - // 'filmstrip', // 'fullscreen', // 'hangup', // 'help', @@ -1489,16 +1495,81 @@ var config = { // hideJoinRoomButton: false, // }, - // When true, virtual background feature will be disabled. - // disableVirtualBackground: false, - - // When true the user cannot add more images to be used as virtual background. - // Only the default ones from will be available. - // disableAddingBackgroundImages: false, - // Sets the background transparency level. '0' is fully transparent, '1' is opaque. // backgroundAlpha: 1, + // @deprecated Use `virtualBackground.disabled` instead. When true, the virtual background + // feature is disabled. Kept here for backwards compatibility; will be removed in a future release. + // disableVirtualBackground: false, + + // @deprecated Use `virtualBackground.disableAddingImages` instead. When true the user cannot + // add more images to be used as virtual background; only the default ones will be available. + // Kept here for backwards compatibility; will be removed in a future release. + // disableAddingBackgroundImages: false, + + // Virtual background options. + // All fields are optional; omitting a field uses the default/auto-detected value. + virtualBackground: { + + // When true, virtual background feature will be disabled. + // disabled: false, + + // When true the user cannot add more images to be used as virtual background. + // Only the default ones will be available. + // disableAddingImages: false, + + // Enable the V2 processing engine. When false (default), the legacy + // TFLite WASM engine (V1) is used. Set to true to opt in to V2. + // enableV2: false, + + // V2-only tuning knobs. These have no effect when enableV2 is false. Defaults are + // tuned for typical hardware; most deployments should not need to override them. + // advanced: { + + // // Force a specific device tier regardless of what the browser supports. + // // Useful for testing lower-tier behaviour on high-end hardware. + // // Values: 'high' | 'medium' | 'low' — null means auto-detect (default). + // // tierOverride: null, + + // // Override the segmentation canvas dimensions (pixels). Applies to MEDIUM + // // and HIGH tiers only (TF.js input canvas). LOW tier (TFLite) always runs + // // at 256x144, fixed by the selfie_segmentation_landscape model and not + // // affected by this setting. + // // segmentationWidth: null, // auto: 512 (high) / 384 (medium) + // // segmentationHeight: null, // auto: 288 (high) / 216 (medium) + + // // Override the target frame rate for the effect. + // // targetFps: null, // auto: 30 (all tiers) + + // // Temporal mask blend ratio (0-1). Higher = smoother motion, slower to respond + // // to fast movement. 0 = raw mask each frame (no temporal smoothing). + // // temporalBlendRatio: 0.75, + + // // Smoothstep edge thresholds for the WebGL compositor (0-1). + // // Pixels with segmentation confidence below edgeLow are fully transparent; + // // above edgeHigh they are fully opaque; between the two they feather. + // // Defaults are tier-specific (tuned per model's confidence distribution): + // // LOW tier (TFLite selfie_segmentation_landscape): edgeLow = 0.10, edgeHigh = 0.50 + // // MEDIUM/HIGH (TF.js MediaPipe body-segmentation): edgeLow = 0.28, edgeHigh = 0.65 + // // Lower edgeLow = more hair retained at the cost of slight background bleed. + // // Higher edgeHigh = harder edge transition. + // // edgeLow: 0.28, + // // edgeHigh: 0.65, + + // // Insertable Streams (MediaStreamTrackProcessor/Generator) is used by default + // // when available. It reduces latency by ~1-2 frames and eliminates the keepalive + // // Web Worker. Set to false to force the legacy captureStream path instead. + // // useInsertableStreams: false, + + // // LOW tier (TFLite) inference stride. Inference is skipped on alternate frames; + // // skipped frames reuse the previous mask. Higher values = lower CPU usage at the + // // cost of reduced mask update frequency. Set to 1 to run inference every frame. + // // 1 = every frame (24 fps mask updates, ~37 ms slack per frame) ← default + // // 2 = every 2 frames (12 fps mask updates, ~74 ms slack per frame) + // // inferenceStride: 1, + // }, + }, + // The URL of the moderated rooms microservice, if available. If it // is present, a link to the service will be rendered on the welcome page, // otherwise the app doesn't render it. @@ -1772,9 +1843,6 @@ var config = { // List of notifications to be disabled. Works in tandem with the above setting. // disabledNotifications: [], - // Prevent the filmstrip from autohiding when screen width is under a certain threshold - // disableFilmstripAutohiding: false, - // filmstrip: { // // Disable the vertical/horizontal filmstrip. // disabled: false, @@ -1863,6 +1931,10 @@ var config = { // userLimit: 25, // // The url for more info about the whiteboard and its usage limitations. // limitUrl: 'https://example.com/blog/whiteboard-limits', + + // //Backend URL for storing whiteboard scenes and images + // //This backend service handles scene persistence and file uploads + // storageBackendUrl: 'https://excalidraw-s3-storage-backend.example.com', // }, // The watchRTC initialize config params as described : diff --git a/type/__jitsi_meet_domain/files/interface_config.js.sh b/type/__jitsi_meet_domain/files/interface_config.js.sh index d2ebaa3..228625f 100644 --- a/type/__jitsi_meet_domain/files/interface_config.js.sh +++ b/type/__jitsi_meet_domain/files/interface_config.js.sh @@ -121,7 +121,7 @@ var interfaceConfig = { RECENT_LIST_ENABLED: true, REMOTE_THUMBNAIL_RATIO: 1, // 1:1 - SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar', 'sounds', 'more' ], + SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar', 'shortcuts', 'sounds', 'more' ], /** * Specify which sharing features should be displayed. If the value is not set diff --git a/type/__jitsi_meet_domain/files/interface_config.js.sh.orig b/type/__jitsi_meet_domain/files/interface_config.js.sh.orig index 1e774b3..14b307a 100644 --- a/type/__jitsi_meet_domain/files/interface_config.js.sh.orig +++ b/type/__jitsi_meet_domain/files/interface_config.js.sh.orig @@ -110,7 +110,7 @@ var interfaceConfig = { RECENT_LIST_ENABLED: true, REMOTE_THUMBNAIL_RATIO: 1, // 1:1 - SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar', 'sounds', 'more' ], + SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar', 'shortcuts', 'sounds', 'more' ], /** * Specify which sharing features should be displayed. If the value is not set diff --git a/type/__jitsi_meet_domain/files/jitsi-version b/type/__jitsi_meet_domain/files/jitsi-version index 8c9a48c..72db1fb 100644 --- a/type/__jitsi_meet_domain/files/jitsi-version +++ b/type/__jitsi_meet_domain/files/jitsi-version @@ -1 +1 @@ -2.0.10888-1 \ No newline at end of file +2.0.11031-1 \ No newline at end of file diff --git a/type/__jitsi_meet_domain/files/nginx.sh.orig b/type/__jitsi_meet_domain/files/nginx.sh.orig index 1c9881e..43913bd 100644 --- a/type/__jitsi_meet_domain/files/nginx.sh.orig +++ b/type/__jitsi_meet_domain/files/nginx.sh.orig @@ -10,11 +10,12 @@ upstream prosody { server 127.0.0.1:5280; keepalive 2; } -upstream jvb1 { - zone upstreams 64K; - server 127.0.0.1:9090; - keepalive 2; -} +# Uncomment to enable colibri (JVB) WebSocket proxy (also requires websockets enabled in JVB config): +# upstream jvb1 { +# zone upstreams 64K; +# server 127.0.0.1:9090; +# keepalive 2; +# } map $arg_vnode $prosody_node { default prosody; v1 v1; @@ -150,14 +151,14 @@ server { tcp_nodelay on; } - # colibri (JVB) websockets for jvb1 - location ~ ^/colibri-ws/default-id/(.*) { - proxy_pass http://jvb1/colibri-ws/default-id/$1$is_args$args; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - tcp_nodelay on; - } + # Uncomment to enable colibri (JVB) WebSocket proxy (also requires websockets enabled in JVB config): + # location ~ ^/colibri-ws/default-id/(.*) { + # proxy_pass http://jvb1/colibri-ws/default-id/$1$is_args$args; + # proxy_http_version 1.1; + # proxy_set_header Upgrade $http_upgrade; + # proxy_set_header Connection "upgrade"; + # tcp_nodelay on; + # } # load test minimal client, uncomment when used #location ~ ^/_load-test/([^/?&:'"]+)$ {