diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index d6ad4547..f4f5b89e 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -72,7 +72,7 @@ jobs: type=raw,value=latest-ci_${{steps.current-time.outputs.unix_time}},enable={{is_default_branch}} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@3762d454f382a89982d79f33e1ff246835322c4d + uses: docker/setup-buildx-action@6d5347c4025fdf2bb05167a2519cac535a14a408 - name: Build and push Docker image uses: docker/build-push-action@fdf7f43ecf7c1a5c7afe936410233728a8c2d9c2 diff --git a/src/UrlParams.ts b/src/UrlParams.ts index f927fd7b..c7c7d51a 100644 --- a/src/UrlParams.ts +++ b/src/UrlParams.ts @@ -62,6 +62,10 @@ interface UrlParams { * Whether to hide the room header when in a call. */ hideHeader: boolean; + /** + * Whether the controls should be shown. For screen recording no controls can be desired. + */ + showControls: boolean; /** * Whether to hide the screen-sharing button. */ @@ -205,6 +209,7 @@ export const getUrlParams = ( appPrompt: parser.getFlagParam("appPrompt", true), preload: parser.getFlagParam("preload"), hideHeader: parser.getFlagParam("hideHeader"), + showControls: parser.getFlagParam("showControls"), hideScreensharing: parser.getFlagParam("hideScreensharing"), e2eEnabled: parser.getFlagParam("enableE2e", true), userId: parser.getParam("userId"), diff --git a/src/room/InCallView.module.css b/src/room/InCallView.module.css index fa93c558..e2273c4d 100644 --- a/src/room/InCallView.module.css +++ b/src/room/InCallView.module.css @@ -98,3 +98,12 @@ limitations under the License. gap: var(--cpd-space-4x); } } + +.footerThin { + padding-top: var(--cpd-space-3x); + padding-bottom: var(--cpd-space-5x); +} + +.footerHidden { + display: none; +} diff --git a/src/room/InCallView.tsx b/src/room/InCallView.tsx index 373c8b14..0b437882 100644 --- a/src/room/InCallView.tsx +++ b/src/room/InCallView.tsx @@ -41,6 +41,7 @@ import { useTranslation } from "react-i18next"; import useMeasure from "react-use-measure"; import { logger } from "matrix-js-sdk/src/logger"; import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSession"; +import classNames from "classnames"; import LogoMark from "../icons/LogoMark.svg?react"; import LogoType from "../icons/LogoType.svg?react"; @@ -178,7 +179,7 @@ export const InCallView: FC = ({ const [showConnectionStats] = useShowConnectionStats(); - const { hideScreensharing } = useUrlParams(); + const { hideScreensharing, showControls } = useUrlParams(); const { isScreenShareEnabled, localParticipant } = useLocalParticipant({ room: livekitRoom, @@ -388,7 +389,15 @@ export const InCallView: FC = ({ />, ); footer = ( -
+
{!mobile && !hideHeader && (
@@ -399,8 +408,8 @@ export const InCallView: FC = ({ />
)} -
{buttons}
- {!mobile && !hideHeader && ( + {!showControls &&
{buttons}
} + {!mobile && !hideHeader && !showControls && ( = ({ /> - {!reducedControls && onShareClick !== null && ( + {!reducedControls && !showControls && onShareClick !== null && ( )} diff --git a/yarn.lock b/yarn.lock index c2e04ede..5361242d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1103,9 +1103,9 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@bufbuild/protobuf@^1.3.0": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.3.3.tgz#814562a5db0233a1ececda97b930c2dde5897de8" - integrity sha512-AoHSiIpTFF97SQgmQni4c+Tyr0CDhkaRaR2qGEJTEbauqQwLRpLrd9yVv//wVHOSxr/b4FJcL54VchhY6710xA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.4.1.tgz#2a827da66aebe904edca21f7085724154aa7868d" + integrity sha512-4dthhwBGD9nlpY35ic8dMQC5R0dsND2b2xyeVO3qf+hBk8m7Y9dUs+SmMh6rqO2pGLUTKHefGXLDW+z19hBPdQ== "@csstools/cascade-layer-name-parser@^1.0.5": version "1.0.5" @@ -6893,9 +6893,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== livekit-client@^1.12.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/livekit-client/-/livekit-client-1.14.1.tgz#2403b953c77cfc9285d591c9bb9e05cc0ecb0e0b" - integrity sha512-SlWp+EM2og1KmGIpMS4FF/bd9mkApUcpIIYuJmWbu2P2B5GYOfBIb7i7FmcLjFCneICSKEWO80dWLNEKpl7arA== + version "1.14.2" + resolved "https://registry.yarnpkg.com/livekit-client/-/livekit-client-1.14.2.tgz#9c3eb56f0c98bca3cabafe8d07ba2416ee1dfe02" + integrity sha512-fYKqVh/Qr1fO3qdTjw+nJYI+CDOX1fSSK7czam1RagiXuE8sTUnaMq74OhjDfYeHEGKCkwLP3b02K9bSm1YVsg== dependencies: "@bufbuild/protobuf" "^1.3.0" events "^3.3.0" @@ -7812,9 +7812,9 @@ postcss@^8.4.27: source-map-js "^1.0.2" posthog-js@^1.29.0: - version "1.85.3" - resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.85.3.tgz#540f26d224b1a345a226d8f105f442bbeb5eb91a" - integrity sha512-RHWLDamFU1k4SjolS/DWr8tYbuWQaJUJywxlKTUJp/ESIe9bJz9SkWuDNqgTV58fJnxdjCCtD89o+gMimfOSGw== + version "1.87.1" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.87.1.tgz#343f22eb5fb583bf4f3e6355f3db5c8cd74a5588" + integrity sha512-Uh5RyPBHPkEdQO35iqivKFiVZgVt1OBayF6FrQMD2SPGTzZ2U8+MxlJVXYHaU081qAeapS0karZrd+1+DV9mjw== dependencies: fflate "^0.4.1" @@ -9196,9 +9196,9 @@ value-or-function@^4.0.0: integrity sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg== vaul@^0.7.0: - version "0.7.5" - resolved "https://registry.yarnpkg.com/vaul/-/vaul-0.7.5.tgz#7e53d3dccfb6d965f44b18de9296cb86133df3f5" - integrity sha512-tfihsrhkVNfIrSioiw66CqiqFAjBQ26mlbbPuypfHQV0zvQetpXgpSDLVqIz9GPi92iwWFbh1jNA/AmVmdy9GQ== + version "0.7.7" + resolved "https://registry.yarnpkg.com/vaul/-/vaul-0.7.7.tgz#a9b746d31d17b1f588ee4e863e16780f680dbc21" + integrity sha512-NAQTE8836Daxq+VC74srRfGqiOLQft4yc0x8YsO6Vowti0RC7LWzSpIxKd7RGegzgMMZOho+9ysH+uI6o+tUVw== dependencies: "@radix-ui/react-dialog" "^1.0.4"