Conversation
|
Newest code from mattermost has been published to preview environment for Git SHA 9fa3794 |
|
Newest code from mattermost has been published to preview environment for Git SHA 9a2ed57 |
|
Newest code from mattermost has been published to preview environment for Git SHA 0d96b59 |
|
Newest code from mattermost has been published to preview environment for Git SHA 4da4a85 |
|
Newest code from mattermost has been published to preview environment for Git SHA be54c5a |
|
Newest code from mattermost has been published to preview environment for Git SHA 855e76e |
|
Newest code from mattermost has been published to preview environment for Git SHA 3ebb08a |
|
Newest code from mattermost has been published to preview environment for Git SHA 62030ec |
|
Newest code from mattermost has been published to preview environment for Git SHA beabac2 |
|
Newest code from mattermost has been published to preview environment for Git SHA fb0154b |
|
Newest code from mattermost has been published to preview environment for Git SHA 67c50de |
|
Newest code from mattermost has been published to preview environment for Git SHA ce98172 |
|
Newest code from mattermost has been published to preview environment for Git SHA 57116d4 |
|
Newest code from mattermost has been published to preview environment for Git SHA 9476157 |
|
Newest code from mattermost has been published to preview environment for Git SHA ca625e7 |
|
Newest code from mattermost has been published to preview environment for Git SHA 3990143 |
|
Newest code from mattermost has been published to preview environment for Git SHA cb7888a |
|
Newest code from mattermost has been published to preview environment for Git SHA 84a1c5c |
There was a problem hiding this comment.
Actionable comments posted: 11
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
source/product-overview/plans.md (1)
181-220:⚠️ Potential issue | 🟠 MajorUse repo-relative Calls links and avoid making RTCD sound Kubernetes-only.
Line 220 says high availability is “through dedicated servers managed on an integrated Kubernetes platform.” That narrows the capability incorrectly; the feature is delivered by the dedicated
rtcdservice, with Kubernetes as one supported deployment option.Suggested correction
- <td><strong>Group calling and screen share</strong>: Streamline real-time collaboration with complete privacy by enabling <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fend-user-guide%2Fcollaborate%2Fmake-calls.html">group audio calling</a> and <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fend-user-guide%2Fcollaborate%2Fmake-calls.html%23share-your-screen">screenshare</a> up to approximately 50 concurrent users in any group call per self-hosted server. <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fadministration-guide%2Fconfigure%2Fcalls-deployment-guide.html">High-scale options</a> for private, self-hosted group calling and screen share are available in Mattermost Enterprise with the setup of its <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fadministration-guide%2Fconfigure%2Fcalls-rtcd-setup.html%23horizontal-scaling">horizontal scaling</a> option.</td> + <td><strong>Group calling and screen share</strong>: Streamline real-time collaboration with complete privacy by enabling <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fend-user-guide%2Fcollaborate%2Fmake-calls.html">group audio calling</a> and <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fend-user-guide%2Fcollaborate%2Fmake-calls.html%23share-your-screen">screenshare</a> up to approximately 50 concurrent users in any group call per self-hosted server. <a href="proxy.php?url=https%3A%2F%2Fgithub.com.%2F..%2Fadministration-guide%2Fconfigure%2Fcalls-deployment-guide.html">High-scale options</a> for private, self-hosted group calling and screen share are available in Mattermost Enterprise with the setup of its <a href="proxy.php?url=https%3A%2F%2Fgithub.com.%2F..%2Fadministration-guide%2Fconfigure%2Fcalls-rtcd-setup.html%23horizontal-scaling">horizontal scaling</a> option.</td> ... - <td><strong>High availability, horizontally scalable calls and screen share</strong>: Enable <a href="proxy.php?url=https%3A%2F%2Fdocs.mattermost.com%2Fadministration-guide%2Fconfigure%2Fcalls-rtcd-setup.html">high-scale, high availability deployment of audio calling and screen share</a> through dedicated servers managed on an integrated Kubernetes platform.</td> + <td><strong>High availability, horizontally scalable calls and screen share</strong>: Enable <a href="proxy.php?url=https%3A%2F%2Fgithub.com.%2F..%2Fadministration-guide%2Fconfigure%2Fcalls-rtcd-setup.html">high-scale, high availability deployment of audio calling and screen share</a> through the dedicated <code>rtcd</code> service, deployed on Kubernetes or other supported infrastructure.</td>As per coding guidelines, “Internal links to Mattermost docs should use repo-appropriate internal link syntax instead of hardcoded
https://docs.mattermost.com/...URLs” and “Describe Mattermost feature behavior, UI labels, and capability boundaries accurately.”🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/product-overview/plans.md` around lines 181 - 220, Replace the hardcoded docs URL and the Kubernetes-only phrasing in the table row with a repo-relative internal link and an accurate feature description: update the row titled "High availability, horizontally scalable calls and screen share" to link to the internal calls-rtcd-setup page (use the repo-relative link pattern used elsewhere) and change the copy to say the feature is delivered by the dedicated rtcd service with Kubernetes as one supported deployment option (e.g., "delivered by the dedicated rtcd service; Kubernetes is a supported deployment option"), keeping the link target to calls-rtcd-setup.html and preserving the v9.11+ version token.source/administration-guide/configure/plugins-configuration-settings.rst (1)
761-837:⚠️ Potential issue | 🟡 MinorLink job-service tuning notes to the offloader guide.
These notes are about recording quality, transcriber model size, and transcriber threads affecting the job service. The dedicated
calls-offloaderguide is the clearer target than the general deployment guide.Suggested retargeting
- - The quality setting will affect the performance of the job service and the file size of recordings. Refer to the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for more information. + - The quality setting will affect the performance of the job service and the file size of recordings. Refer to the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` documentation for more information. ... - - This setting is available starting in plugin version 0.22. The model size setting will affect the performance of the job service. Refer to the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for more information. + - This setting is available starting in plugin version 0.22. The model size setting will affect the performance of the job service. Refer to the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` documentation for more information. ... - - The call transcriber threads setting will affect the performance of the job service. Refer to the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for more information. This setting is available starting in plugin version 0.26.2. + - The call transcriber threads setting will affect the performance of the job service. Refer to the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` documentation for more information. This setting is available starting in plugin version 0.26.2.As per coding guidelines, “When reviewing Calls documentation, flag anything that is technically incorrect, incomplete, or that would mislead a customer trying to configure their environment.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/plugins-configuration-settings.rst` around lines 761 - 837, Update the three notes that currently point to the general Calls deployment guide so they instead reference the dedicated calls-offloader guide: find the note under the quality/recordings paragraph in the enable-pluginscalltranscriptions section and replace ":doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>`" with the calls-offloader doc; do the same in the transcriber-model-size note (transcriber-model-size) and the call-transcriber-threads note (call-transcriber-threads) so each refers to ":doc:`calls-offloader guide </administration-guide/configure/calls-offloader>`" (or the correct offloader doc path) and keep surrounding phrasing intact.
🧹 Nitpick comments (5)
.cursor/rules/docs-reader-persona-security-sam.mdc (3)
19-29: Comprehensive security concerns list.The security watch list covers the essential areas for infrastructure and deployment security. You might optionally consider adding:
- Insecure defaults: Configuration examples that rely on insecure defaults without guidance to harden them
- Update and patch guidance: Missing information about security update procedures or version currency
However, the current list is well-balanced for deployment-focused documentation review.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.cursor/rules/docs-reader-persona-security-sam.mdc around lines 19 - 29, Add two items to the "What Security Sam Watches For" list: include "**Insecure defaults**: callouts for examples that rely on insecure defaults and guidance to harden them" and "**Update and patch guidance**: notes about maintaining version currency and procedures for security updates/patching"; place them alongside the existing bullets (e.g., near "Unsafe production carryover" or "Compliance and privacy blind spots") so reviewers see them as part of the standard checklist.
40-48: Clear and actionable usage guidance.The review instructions provide concrete steps for applying the Security Sam persona. The three-part format on line 48 (quote exact text, explain risk, provide safer replacement) will help produce consistent, actionable security feedback.
You might optionally consider adding a brief example of a security issue and the expected review format to illustrate the guidance in action.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.cursor/rules/docs-reader-persona-security-sam.mdc around lines 40 - 48, The "How to Use This Persona When Reviewing Docs" section lacks an illustrative example showing the three-part review format; add a brief concrete example under that header demonstrating the workflow (quote exact text, explain the risk, provide a safer replacement) so reviewers see expected output; update the markdown near the three-part guidance (the line referencing "quote the exact text, explain the security risk in plain language, and provide a safer replacement") to include one short example entry showing a problematic sentence, a one-line risk explanation, and a one-line safer replacement.
3-3: Consider whether the glob pattern should be more targeted.The current glob
**/*.md,**/*.rstapplies to all Markdown and reStructuredText files in the repository. Given that this PR focuses on Calls deployment documentation and the persona is security-focused, you might want to consider whether Security Sam should be scoped to security-sensitive documentation paths (e.g.,source/deploy/**,source/configure/calls-deployment/**) rather than all documentation files.Since
alwaysApply: false, the persona is opt-in, so the broad pattern may be intentional to allow security review of any doc page when needed.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.cursor/rules/docs-reader-persona-security-sam.mdc at line 3, The glob in the rule (globs: **/*.md,**/*.rst) is too broad for a security-focused persona; narrow it to the relevant documentation paths by replacing that value with targeted patterns such as source/deploy/**/*.md,source/deploy/**/*.rst and source/configure/calls-deployment/**/*.md,source/configure/calls-deployment/**/*.rst (or other repo-specific security-sensitive paths) so Security Sam only applies to Calls deployment and related config docs; if the broad scope was intentional keep globs but document the rationale and verify the alwaysApply: false setting remains correct for opt-in behavior.source/administration-guide/configure/calls-kubernetes.md (1)
10-10: Definertcdon first use.This page now makes
rtcdthe only supported Kubernetes model, so the overview should briefly define it before later sections depend on the term.Suggested wording
-Mattermost Calls has been designed to integrate with Kubernetes for improved scalability and control over the deployment. Using the RTCD service is the only supported deployment model. +Mattermost Calls has been designed to integrate with Kubernetes for improved scalability and control over the deployment. Using the dedicated `rtcd` service, the Calls media router, is the only supported deployment model.As per coding guidelines, “Define technical terms briefly inline on first use rather than assuming reader knowledge.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-kubernetes.md` at line 10, Add a brief inline definition of "rtcd" at its first occurrence in the sentence that currently reads "Using the RTCD service is the only supported deployment model."; e.g., replace or augment that sentence to read something like "Using the RTCD (real-time communication daemon) service..." so readers immediately know what rtcd stands for before later sections reference it, and ensure the capitalization matches subsequent uses of "RTCD"/"rtcd".source/administration-guide/configure/calls-deployment-guide.md (1)
80-80: Use repo-internal links instead of hardcodeddocs.mattermost.comURLs.Persona: Editor Evie | Severity: Major
These links are brittle in source docs and bypass repo link conventions. Use relative/internal doc links so moves and redirects stay maintainable.Suggested minimal diff (examples)
- _See [Configure TLS](https://docs.mattermost.com/deploy/server/setup-tls.html) if you need to set up HTTPS._ + _See {doc}`Configure TLS <../../deployment-guide/server/setup-tls>` if you need to set up HTTPS._ -... [horizontal scaling](https://docs.mattermost.com/administration-guide/configure/calls-rtcd-setup.html#horizontal-scaling) ... +... [horizontal scaling](calls-rtcd-setup.md#horizontal-scaling) ... -... [documentation](https://docs.mattermost.com/end-user-guide/collaborate/make-calls.html). +... [documentation](../../end-user-guide/collaborate/make-calls.md).Based on learnings, "Internal links to Mattermost docs should use repo-appropriate internal link syntax instead of hardcoded
https://docs.mattermost.com/...URLs."Also applies to: 325-325, 810-810, 932-932
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-deployment-guide.md` at line 80, Replace the hardcoded external link "https://docs.mattermost.com/deploy/server/setup-tls.html" in the "See [Configure TLS]" markdown line with the repository's internal relative doc link syntax used elsewhere (e.g., the repo's Configure TLS page path), updating the link target in source/administration-guide/configure/calls-deployment-guide.md and the other occurrences referenced (lines 325, 810, 932); ensure the link text remains "Configure TLS" but points to the internal doc path so moves/redirects stay maintainable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.cursor/rules/calls-expert-persona-bill.mdc:
- Around line 7-15: The persona definition for "Expert Persona: Bill" has
inconsistent role titles ("Principal Engineer" and "Staff Engineer"); pick a
single title (e.g., "Staff Engineer" or "Principal Engineer") and make both
occurrences consistent by updating the header line and the role/description line
inside the persona block (search for the "Expert Persona: Bill" block and the
paragraph that begins with "**Name:** Bill" / "**Role:**" and change the role
text so both places match exactly); ensure any other mentions in that persona
block also use the chosen title.
In `@source/administration-guide/configure/calls-deployment-guide.md`:
- Line 72: The headings under "Deployment Prerequisites" skip levels (e.g.,
"Deployment Infrastructure Requirements" and other subheadings currently using
"####") — change those H4 headings to H3 (replace "####" with "###") so the
hierarchy is sequential under the "Deployment Prerequisites" H2; update each
instance noted (the headings at or near the titles "Deployment Infrastructure
Requirements" and the other subheadings referenced) to use H3 to restore
consistent heading levels.
- Around line 23-24: The sentence "no call media or metadata traverses
third-party systems." is too absolute; replace it with scoped wording like "no
call media path traverses third‑party systems" and add a brief qualifier noting
this depends on self‑hosted network configuration and signaling choices (e.g.,
TURN/STUN, federation, or external relays) so readers understand it’s contingent
on their deployment and network choices.
- Around line 660-669: Change the guidance so environment variables
MM_CALLS_RTCD_CLIENT_ID and MM_CALLS_RTCD_AUTH_KEY are the primary, recommended
way to supply RTCD credentials; remove or re-label the
“http://clientID:[email protected]:8045” pattern as temporary/test-only and
explicitly warn that embedding credentials in URLs risks exposure (logs,
history, screenshots) and should only be used for short-lived testing, include a
note to apply least-privilege for the credential, rotate keys, and avoid storing
or logging the authKey.
- Line 88: Broken in-page anchors: update the quoted links that point to
"#infrastructure-decisions" and "#networking-decisions" so they match the actual
heading-generated anchors (the headings are numbered like "### 1.2 ...", "###
1.3 ..."); either change the hrefs to the correct slugified fragments (e.g., the
numeric-prefixed slugs generated from "1.2 Infrastructure Decisions" and "1.3
Networking Decisions") or add explicit HTML anchors (e.g., <a
id="infrastructure-decisions"></a>) immediately before the "1.2" and "1.3"
headings; apply the same fix for the other occurrences noted (the helper links
around the existing fragments at the other locations).
In `@source/administration-guide/configure/calls-logging.md`:
- Around line 30-32: The current documentation callout uses a benign note and
instructs users to "provide the complete set of logs", which can leak secrets;
change the callout token from {note} to {warning} and update the message in the
RTCD/client logs block to instruct users to only share logs via approved support
channels and to sanitize/remove secrets, tokens, internal hostnames, IPs and
user-identifying data before sharing — locate and edit the fenced block that
begins with ```{note} (the RTCD/client logs paragraph) to use ```{warning} and
append the short secure-sharing/sanitization guidance.
In `@source/administration-guide/configure/plugins-configuration-settings.rst`:
- Line 485: Fix the grammar in the participant-limit note by changing "Call
participant limits greatly depends on instance resources." to "Call participant
limits greatly depend on instance resources." so the plural subject "limits"
agrees with the verb "depend"; update the sentence in the same paragraph near
the participant limit recommendation (the line containing "This setting is
optional, but the recommended maximum number of participants is **50**. Call
participant limits greatly depends on instance resources.") to use "depend".
- Line 513: The |rtcd_service| replacement currently points to the general calls
deployment guide; update the replacement so the shortcut links to the dedicated
RTCD guide instead (replace ":doc:`RTCD service
</administration-guide/configure/calls-deployment-guide>`" with a doc reference
that targets the standalone RTCD guide page), editing the |rtcd_service|
replacement line in the file so all notes about the standalone rtcd service
point to the precise RTCD guide.
In
`@source/deployment-guide/reference-architecture/deployment-scenarios/deploy-ddil-operations.rst`:
- Around line 104-107: The section claims Calls operate without
internet/third-party services but omits the offline ICE configuration
requirement; update the Mattermost Calls paragraph (references: "rtcd",
"calls-offloader", and the Calls deployment doc link) to explicitly state admins
must remove or replace the default public STUN/TURN servers, supply reachable
ICE candidates (host/local STUN/TURN or mDNS candidates) for the tactical
network, and specify network requirements (direction: outbound/inbound,
protocol: UDP/TCP/DTLS/SRTP, source/destination scopes, and whether each access
is mandatory or optional) so operators know how to configure ICE for fully
offline operation.
In
`@source/deployment-guide/reference-architecture/deployment-scenarios/deploy-mission-partner.rst`:
- Around line 162-165: Update the paragraph that promises “without reliance on
the internet” to explicitly state ICE/STUN/TURN network requirements: mention
that Mattermost Calls and the rtcd service require valid ICE candidates
(STUN/TURN) for peer connectivity, that the default public STUN server will
require outbound UDP/UDP-TCP egress to those STUN hosts (or TCP/TLS for TURN)
unless replaced, and clarify whether egress to specific STUN/TURN endpoints is
mandatory or optional in a mission network; reference the rtcd and
calls-offloader services and advise either deploying an internal STUN/TURN or
authorizing explicit outbound access to approved STUN/TURN servers, including
direction (outbound), protocol (UDP/TCP/TLS), and scope (hostnames/IPs) to
satisfy coding guidelines.
In `@source/product-overview/unsupported-legacy-releases.md`:
- Line 2349: Replace the hardcoded absolute URL in the Markdown link for "Audio
calling and screen sharing" with a relative repo link using Markdown link
syntax; locate the line containing the link text "Audio calling and screen
sharing" and change the URL from
"https://docs.mattermost.com/configure/calls-deployment-guide.html" to the
appropriate relative path (e.g., ./configure/calls-deployment-guide.md or the
correct relative location in the docs tree) so the link follows repository
conventions and is not brittle.
---
Outside diff comments:
In `@source/administration-guide/configure/plugins-configuration-settings.rst`:
- Around line 761-837: Update the three notes that currently point to the
general Calls deployment guide so they instead reference the dedicated
calls-offloader guide: find the note under the quality/recordings paragraph in
the enable-pluginscalltranscriptions section and replace ":doc:`Calls deployment
guide </administration-guide/configure/calls-deployment-guide>`" with the
calls-offloader doc; do the same in the transcriber-model-size note
(transcriber-model-size) and the call-transcriber-threads note
(call-transcriber-threads) so each refers to ":doc:`calls-offloader guide
</administration-guide/configure/calls-offloader>`" (or the correct offloader
doc path) and keep surrounding phrasing intact.
In `@source/product-overview/plans.md`:
- Around line 181-220: Replace the hardcoded docs URL and the Kubernetes-only
phrasing in the table row with a repo-relative internal link and an accurate
feature description: update the row titled "High availability, horizontally
scalable calls and screen share" to link to the internal calls-rtcd-setup page
(use the repo-relative link pattern used elsewhere) and change the copy to say
the feature is delivered by the dedicated rtcd service with Kubernetes as one
supported deployment option (e.g., "delivered by the dedicated rtcd service;
Kubernetes is a supported deployment option"), keeping the link target to
calls-rtcd-setup.html and preserving the v9.11+ version token.
---
Nitpick comments:
In @.cursor/rules/docs-reader-persona-security-sam.mdc:
- Around line 19-29: Add two items to the "What Security Sam Watches For" list:
include "**Insecure defaults**: callouts for examples that rely on insecure
defaults and guidance to harden them" and "**Update and patch guidance**: notes
about maintaining version currency and procedures for security
updates/patching"; place them alongside the existing bullets (e.g., near "Unsafe
production carryover" or "Compliance and privacy blind spots") so reviewers see
them as part of the standard checklist.
- Around line 40-48: The "How to Use This Persona When Reviewing Docs" section
lacks an illustrative example showing the three-part review format; add a brief
concrete example under that header demonstrating the workflow (quote exact text,
explain the risk, provide a safer replacement) so reviewers see expected output;
update the markdown near the three-part guidance (the line referencing "quote
the exact text, explain the security risk in plain language, and provide a safer
replacement") to include one short example entry showing a problematic sentence,
a one-line risk explanation, and a one-line safer replacement.
- Line 3: The glob in the rule (globs: **/*.md,**/*.rst) is too broad for a
security-focused persona; narrow it to the relevant documentation paths by
replacing that value with targeted patterns such as
source/deploy/**/*.md,source/deploy/**/*.rst and
source/configure/calls-deployment/**/*.md,source/configure/calls-deployment/**/*.rst
(or other repo-specific security-sensitive paths) so Security Sam only applies
to Calls deployment and related config docs; if the broad scope was intentional
keep globs but document the rationale and verify the alwaysApply: false setting
remains correct for opt-in behavior.
In `@source/administration-guide/configure/calls-deployment-guide.md`:
- Line 80: Replace the hardcoded external link
"https://docs.mattermost.com/deploy/server/setup-tls.html" in the "See
[Configure TLS]" markdown line with the repository's internal relative doc link
syntax used elsewhere (e.g., the repo's Configure TLS page path), updating the
link target in source/administration-guide/configure/calls-deployment-guide.md
and the other occurrences referenced (lines 325, 810, 932); ensure the link text
remains "Configure TLS" but points to the internal doc path so moves/redirects
stay maintainable.
In `@source/administration-guide/configure/calls-kubernetes.md`:
- Line 10: Add a brief inline definition of "rtcd" at its first occurrence in
the sentence that currently reads "Using the RTCD service is the only supported
deployment model."; e.g., replace or augment that sentence to read something
like "Using the RTCD (real-time communication daemon) service..." so readers
immediately know what rtcd stands for before later sections reference it, and
ensure the capitalization matches subsequent uses of "RTCD"/"rtcd".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 24825fc1-fcf8-4a03-b696-7184734a3b79
⛔ Files ignored due to path filters (5)
source/images/calls-deployment-integrated-recording-v2.pngis excluded by!**/*.pngsource/images/calls-deployment-integrated-recording.pngis excluded by!**/*.pngsource/images/calls-deployment-integrated.pngis excluded by!**/*.pngsource/images/calls-deployment-rtcd-recording.pngis excluded by!**/*.pngsource/images/calls-deployment-rtcd.pngis excluded by!**/*.png
📒 Files selected for processing (27)
.cursor/rules/calls-expert-persona-bill.mdc.cursor/rules/docs-reader-persona-security-sam.mdcsource/_static/css/homepage-v1.csssource/administration-guide/configure/calls-deployment-guide.mdsource/administration-guide/configure/calls-deployment.mdsource/administration-guide/configure/calls-kubernetes.mdsource/administration-guide/configure/calls-logging.mdsource/administration-guide/configure/calls-metrics-monitoring.mdsource/administration-guide/configure/calls-offloader-setup.mdsource/administration-guide/configure/calls-overview.rstsource/administration-guide/configure/calls-rtcd-setup.mdsource/administration-guide/configure/plugins-configuration-settings.rstsource/conf.pysource/deployment-guide/deployment-guide-index.rstsource/deployment-guide/reference-architecture/deployment-scenarios/air-gapped-deployment.rstsource/deployment-guide/reference-architecture/deployment-scenarios/deploy-ddil-operations.rstsource/deployment-guide/reference-architecture/deployment-scenarios/deploy-mission-partner.rstsource/deployment-guide/reference-architecture/deployment-scenarios/deploy-sovereign-collaboration.rstsource/deployment-guide/server/linux/deploy-rhel.rstsource/deployment-guide/server/preparations.rstsource/end-user-guide/collaborate/audio-and-screensharing.rstsource/end-user-guide/collaborate/make-calls.rstsource/product-overview/certifications-and-compliance.rstsource/product-overview/plans.mdsource/product-overview/product-overview-index.rstsource/product-overview/unsupported-legacy-releases.mdsource/redirects.py
💤 Files with no reviewable changes (3)
- source/administration-guide/configure/calls-overview.rst
- source/administration-guide/configure/calls-deployment.md
- source/deployment-guide/server/preparations.rst
| - This setting is applicable only to self-hosted deployments. | ||
| - The environment variable ``MM_CALLS_MAX_PARTICIPANTS`` is deprecated in favor of ``MM_CALLS_MAX_CALL_PARTICIPANTS``. | ||
| - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits greatly depends on instance resources. See the :doc:`Calls self-hosted deployment </administration-guide/configure/calls-deployment>` documentation for details. | ||
| - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits greatly depends on instance resources. See the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for details. |
There was a problem hiding this comment.
Fix the grammar in the participant-limit note.
“Limits” is plural, so “depends” should be “depend”.
Suggested edit
- - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits greatly depends on instance resources. See the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for details.
+ - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits depend greatly on instance resources. See the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for details.As per coding guidelines, “Flag awkward phrasing, punctuation mistakes, tense shifts, and terminology inconsistencies in documentation.”
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits greatly depends on instance resources. See the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for details. | |
| - This setting is optional, but the recommended maximum number of participants is **50**. Call participant limits depend greatly on instance resources. See the :doc:`Calls deployment guide </administration-guide/configure/calls-deployment-guide>` documentation for details. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@source/administration-guide/configure/plugins-configuration-settings.rst` at
line 485, Fix the grammar in the participant-limit note by changing "Call
participant limits greatly depends on instance resources." to "Call participant
limits greatly depend on instance resources." so the plural subject "limits"
agrees with the verb "depend"; update the sentence in the same paragraph near
the participant limit recommendation (the line containing "This setting is
optional, but the recommended maximum number of participants is **50**. Call
participant limits greatly depends on instance resources.") to use "depend".
| - If hosting calls through the plugin (i.e. not using the |rtcd_service|) any configured STUN server may also be used to find the instance's public IP when none is provided through the |ice_host_override_link| option. | ||
|
|
||
| .. |rtcd_service| replace:: :doc:`RTCD service </administration-guide/configure/calls-deployment>` | ||
| .. |rtcd_service| replace:: :doc:`RTCD service </administration-guide/configure/calls-deployment-guide>` |
There was a problem hiding this comment.
Point the |rtcd_service| shortcut to the dedicated RTCD guide.
This replacement is used in configuration notes specifically about the standalone rtcd service, so routing readers to the general deployment guide makes the link less precise.
Suggested fix
-.. |rtcd_service| replace:: :doc:`RTCD service </administration-guide/configure/calls-deployment-guide>`
+.. |rtcd_service| replace:: :doc:`RTCD service </administration-guide/configure/calls-rtcd-setup>`As per coding guidelines, “When a docs link is broken, brittle, or non-standard, explain the issue briefly and provide the smallest correct replacement.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@source/administration-guide/configure/plugins-configuration-settings.rst` at
line 513, The |rtcd_service| replacement currently points to the general calls
deployment guide; update the replacement so the shortcut links to the dedicated
RTCD guide instead (replace ":doc:`RTCD service
</administration-guide/configure/calls-deployment-guide>`" with a doc reference
that targets the standalone RTCD guide page), editing the |rtcd_service|
replacement line in the file so all notes about the standalone rtcd service
point to the precise RTCD guide.
| Effective collaboration at the tactical edge requires all voice and screen sharing capabilities remain operational without reliance on the internet or third-party services. Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration, including: | ||
|
|
||
| - The :ref:`rtcd service <administration-guide/configure/calls-deployment:when to use rtcd>` for scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | ||
| - The :ref:`calls offloader <administration-guide/configure/calls-deployment:call recording and transcription>` service offloads heavy processing tasks like recording, transcription and live captioning to a locally hosted compliance-approved job server. | ||
| - The ``rtcd`` service, configured using the :doc:`RTCD Setup and Configuration </administration-guide/configure/calls-rtcd-setup>` guide, provides scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | ||
| - The ``calls-offloader`` service, configured using the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` guide, offloads heavy processing tasks like recording, transcription and live captioning to a locally hosted compliance-approved job server. |
There was a problem hiding this comment.
Call out the offline ICE configuration requirement.
The text says Calls will operate “without reliance on the internet or third-party services”, but that is only true after admins replace/avoid the default public STUN dependency and provide reachable candidates for the tactical network.
Suggested clarification
-Effective collaboration at the tactical edge requires all voice and screen sharing capabilities remain operational without reliance on the internet or third-party services. Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration, including:
+Effective collaboration at the tactical edge requires all voice and screen sharing capabilities remain operational without reliance on the internet or third-party services. Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration, including the following components:
+
+.. important::
+ In disconnected networks, do not rely on the default public STUN service. Configure an internal STUN/TURN service or set :ref:`ICE Host Override <administration-guide/configure/plugins-configuration-settings:ice host override>` so Calls clients can connect using addresses reachable inside the tactical network.As per coding guidelines, “Flag documentation that could normalize insecure defaults or ambiguous security posture” and “Make network requirements in documentation explicit about direction, protocol, source/destination scope, and whether access is mandatory or optional.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@source/deployment-guide/reference-architecture/deployment-scenarios/deploy-ddil-operations.rst`
around lines 104 - 107, The section claims Calls operate without
internet/third-party services but omits the offline ICE configuration
requirement; update the Mattermost Calls paragraph (references: "rtcd",
"calls-offloader", and the Calls deployment doc link) to explicitly state admins
must remove or replace the default public STUN/TURN servers, supply reachable
ICE candidates (host/local STUN/TURN or mDNS candidates) for the tactical
network, and specify network requirements (direction: outbound/inbound,
protocol: UDP/TCP/DTLS/SRTP, source/destination scopes, and whether each access
is mandatory or optional) so operators know how to configure ICE for fully
offline operation.
| Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration to ensure voice and screen sharing capabilities remain operational without reliance on the internet, and that media traffic does not traverse non-compliant third-party services. | ||
|
|
||
| - The :ref:`rtcd service <administration-guide/configure/calls-deployment:when to use rtcd>` for scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | ||
| - The :ref:`calls offloader <administration-guide/configure/calls-deployment:call recording and transcription>` service offloads heavy processing tasks like recording, transcription and live captioning to a compliance-approved job server. | ||
| - The ``rtcd`` service, configured using the :doc:`RTCD Setup and Configuration </administration-guide/configure/calls-rtcd-setup>` guide, provides scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | ||
| - The ``calls-offloader`` service, configured using the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` guide, offloads heavy processing tasks like recording, transcription and live captioning to a compliance-approved job server. |
There was a problem hiding this comment.
Add the ICE/STUN prerequisite before promising no internet reliance.
The text says Calls will work “without reliance on the internet”, but Calls/rtcd still need usable ICE candidates. If admins leave the default public STUN path in a restricted mission network, setup can still require internet egress or fail during call establishment.
Suggested clarification
-Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration to ensure voice and screen sharing capabilities remain operational without reliance on the internet, and that media traffic does not traverse non-compliant third-party services.
+Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration to keep voice and screen sharing traffic under your control.
+
+.. important::
+ For disconnected or restricted networks, configure Calls to avoid relying on the default public STUN service. Use an internal STUN/TURN service or set :ref:`ICE Host Override <administration-guide/configure/plugins-configuration-settings:ice host override>` so clients receive reachable candidates without internet egress.As per coding guidelines, “Make network requirements in documentation explicit about direction, protocol, source/destination scope, and whether access is mandatory or optional.”
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration to ensure voice and screen sharing capabilities remain operational without reliance on the internet, and that media traffic does not traverse non-compliant third-party services. | |
| - The :ref:`rtcd service <administration-guide/configure/calls-deployment:when to use rtcd>` for scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | |
| - The :ref:`calls offloader <administration-guide/configure/calls-deployment:call recording and transcription>` service offloads heavy processing tasks like recording, transcription and live captioning to a compliance-approved job server. | |
| - The ``rtcd`` service, configured using the :doc:`RTCD Setup and Configuration </administration-guide/configure/calls-rtcd-setup>` guide, provides scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | |
| - The ``calls-offloader`` service, configured using the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` guide, offloads heavy processing tasks like recording, transcription and live captioning to a compliance-approved job server. | |
| Deploy :doc:`Mattermost Calls </administration-guide/configure/calls-deployment-guide>` in a self-hosted configuration to keep voice and screen sharing traffic under your control. | |
| .. important:: | |
| For disconnected or restricted networks, configure Calls to avoid relying on the default public STUN service. Use an internal STUN/TURN service or set :ref:`ICE Host Override <administration-guide/configure/plugins-configuration-settings:ice host override>` so clients receive reachable candidates without internet egress. | |
| - The ``rtcd`` service, configured using the :doc:`RTCD Setup and Configuration </administration-guide/configure/calls-rtcd-setup>` guide, provides scalable, low-latency media routing hosted on-premises. Run multiple ``rtcd`` nodes for redundancy. | |
| - The ``calls-offloader`` service, configured using the :doc:`Calls Offloader Setup and Configuration </administration-guide/configure/calls-offloader-setup>` guide, offloads heavy processing tasks like recording, transcription and live captioning to a compliance-approved job server. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@source/deployment-guide/reference-architecture/deployment-scenarios/deploy-mission-partner.rst`
around lines 162 - 165, Update the paragraph that promises “without reliance on
the internet” to explicitly state ICE/STUN/TURN network requirements: mention
that Mattermost Calls and the rtcd service require valid ICE candidates
(STUN/TURN) for peer connectivity, that the default public STUN server will
require outbound UDP/UDP-TCP egress to those STUN hosts (or TCP/TLS for TURN)
unless replaced, and clarify whether egress to specific STUN/TURN endpoints is
mandatory or optional in a mission network; reference the rtcd and
calls-offloader services and advise either deploying an internal STUN/TURN or
authorizing explicit outbound access to approved STUN/TURN servers, including
direction (outbound), protocol (UDP/TCP/TLS), and scope (hostnames/IPs) to
satisfy coding guidelines.
|
|
||
| #### Calls | ||
| - [Audio calling and screen sharing](https://docs.mattermost.com/configure/calls-deployment.html) in channels is now generally available to all Mattermost customers. | ||
| - [Audio calling and screen sharing](https://docs.mattermost.com/configure/calls-deployment-guide.html) in channels is now generally available to all Mattermost customers. |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Use relative link syntax instead of hardcoded URL.
This internal link to Mattermost documentation uses a hardcoded https://docs.mattermost.com/... URL, which is brittle and doesn't follow repo conventions. Internal links should use relative Markdown syntax.
🔗 Proposed fix to use relative link syntax
-- [Audio calling and screen sharing](https://docs.mattermost.com/configure/calls-deployment-guide.html) in channels is now generally available to all Mattermost customers.
+- [Audio calling and screen sharing](../administration-guide/configure/calls-deployment-guide.md) in channels is now generally available to all Mattermost customers.Based on learnings: Internal links to Mattermost docs should use repo-appropriate internal link syntax instead of hardcoded https://docs.mattermost.com/... URLs. Provide a minimal diff (suggested change) when the fix is straightforward and the correct target is clear.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [Audio calling and screen sharing](https://docs.mattermost.com/configure/calls-deployment-guide.html) in channels is now generally available to all Mattermost customers. | |
| - [Audio calling and screen sharing](../administration-guide/configure/calls-deployment-guide.md) in channels is now generally available to all Mattermost customers. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@source/product-overview/unsupported-legacy-releases.md` at line 2349, Replace
the hardcoded absolute URL in the Markdown link for "Audio calling and screen
sharing" with a relative repo link using Markdown link syntax; locate the line
containing the link text "Audio calling and screen sharing" and change the URL
from "https://docs.mattermost.com/configure/calls-deployment-guide.html" to the
appropriate relative path (e.g., ./configure/calls-deployment-guide.md or the
correct relative location in the docs tree) so the link follows repository
conventions and is not brittle.
|
Newest code from mattermost has been published to preview environment for Git SHA 89ff2ac |
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (4)
source/administration-guide/configure/calls-deployment-guide.md (4)
657-666:⚠️ Potential issue | 🟠 MajorDon’t recommend embedding RTCD credentials in URL for production guidance.
Persona: Veteran Vince | Severity: Major
Quoted behaviour: “embed them directly in the URL”. This increases secret leakage risk (logs, browser/history, screenshots, exports). Make env vars the primary method and reframe URL credentials as temporary test-only.Suggested minimal diff
-4. Set **RTCD Service URL** to your RTCD address. If RTCD credentials were generated during setup, embed them directly in the URL: +4. Set **RTCD Service URL** to your RTCD address. + + Use environment variables on the Mattermost server for credentials (recommended): `MM_CALLS_RTCD_CLIENT_ID` and `MM_CALLS_RTCD_AUTH_KEY`. + + Avoid embedding credentials directly in URLs in production. If you must use URL credentials for temporary testing, treat them as short-lived secrets and rotate them after validation. ``` http://clientID:[email protected]:8045 ```Based on learnings, "Apply the principle of least privilege to network policy, service exposure, credentials, permissions, and admin access guidance in documentation."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-deployment-guide.md` around lines 657 - 666, Update the RTCD Service URL guidance to make environment variables the primary, production-safe method (MM_CALLS_RTCD_CLIENT_ID and MM_CALLS_RTCD_AUTH_KEY) and reframe the inline credential URL example (http://clientID:[email protected]:8045) as a temporary, test-only approach with a clear warning about secret leakage risk; remove or de-emphasize recommending embedded credentials for production and add a short note to follow least-privilege practices for network policy, service exposure, and credential handling when using RTCD Service URL.
72-72:⚠️ Potential issue | 🟡 MinorFix heading hierarchy under Deployment Prerequisites.
Persona: Editor Evie | Severity: Minor
The page jumps from##to####, which breaks sequential structure and scanability.Suggested minimal diff
-#### Deployment Infrastructure Requirements +### Deployment Infrastructure Requirements ... -#### Skills and Access Requirements +### Skills and Access Requirements ... -#### Networking Requirements +### Networking Requirements ... -#### Validation Resources +### Validation Resources ... -#### Contacting Support +### Contacting SupportAs per coding guidelines, "Keep heading hierarchy sequential and consistent with nearby sections instead of skipping levels or mixing styles within one page."
Also applies to: 102-102, 109-109, 117-117, 122-122
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-deployment-guide.md` at line 72, The "Deployment Infrastructure Requirements" heading and several others are using level-4 headings (####) while the section is under "Deployment Prerequisites" (level-2), breaking sequential hierarchy; update "#### Deployment Infrastructure Requirements" to "### Deployment Infrastructure Requirements" and similarly change the other mis-leveled headings referenced (the headings at the comment locations 102, 109, 117, 122) from #### to ### so headings progress logically under the Deployment Prerequisites section.
88-88:⚠️ Potential issue | 🟠 MajorRepair broken prerequisite jump links.
Persona: Editor Evie | Severity: Major
Quoted links target#infrastructure-decisions/#networking-decisions, but the actual headings are numbered (1.2,1.3), so these fragments won’t resolve reliably.Suggested minimal diff
- _See [Infrastructure Decisions](`#infrastructure-decisions`) (Step 1.2) if you're unsure if you need RTCD._ + _See [Infrastructure Decisions](`#12-infrastructure-decisions`) (Step 1.2) if you're unsure if you need RTCD._ - _See [Networking Decisions](`#networking-decisions`) (Step 1.3) if you're unsure if you need a TURN server._ + _See [Networking Decisions](`#13-networking-decisions`) (Step 1.3) if you're unsure if you need a TURN server._ - _This impacts your [networking decisions](`#networking-decisions`) (Step 1.3)_ + _This impacts your [networking decisions](`#13-networking-decisions`) (Step 1.3)_As per coding guidelines, "Flag and fix broken links, incorrect relative paths, outdated anchors, malformed URLs, or link text that hides the destination."
Also applies to: 93-93, 113-113
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-deployment-guide.md` at line 88, The inline links pointing to fragments '#infrastructure-decisions' and '#networking-decisions' don't match the actual numbered headings ("Infrastructure Decisions (Step 1.2)" and "Networking Decisions (Step 1.3)"); locate the references to these fragments in the document (the lines mentioning "See Infrastructure Decisions (Step 1.2)" etc.) and update each anchor to the exact slug generated for those headings in this repo's Markdown renderer (e.g., include the numeric prefix used in the heading slug), or replace the fragment links with full heading text links (e.g., link to "Infrastructure Decisions (Step 1.2)" and "Networking Decisions (Step 1.3)") so the jump targets resolve reliably; do the same for the other occurrences flagged (the other mentions of the same fragments).
23-24:⚠️ Potential issue | 🟡 MinorScope the sovereignty claim to avoid over-promising.
Persona: Veteran Vince | Severity: Minor
Quoted text: “no call media or metadata traverses third-party systems.”
This reads as absolute across all deployments; it should be conditional on architecture and network choices.Suggested minimal diff
-Mattermost Calls offers self-hosted audio calling and screen sharing, enabling sovereign real-time collaboration fully contained within your infrastructure. This means no call media or metadata traverses third-party systems. +Mattermost Calls offers self-hosted audio calling and screen sharing, enabling sovereign real-time collaboration contained within your infrastructure. In self-hosted deployments, call media can remain within your controlled network boundary, depending on your STUN/TURN and network configuration.Based on learnings, "Describe Mattermost feature behavior, UI labels, and capability boundaries accurately."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@source/administration-guide/configure/calls-deployment-guide.md` around lines 23 - 24, The statement “no call media or metadata traverses third-party systems.” is too absolute; update the sentence to conditionally scope the sovereignty claim by clarifying it applies only when admins configure Calls to use fully self-hosted media services (no external TURN/STUN/relay or analytics integrations) and network architecture prevents third-party relays. Replace the quoted sentence in the paragraph with a scoped version such as “When configured for fully self-hosted media and without external relays or third-party analytics, call media and metadata remain within your infrastructure,” and add a short note referencing configuration choices that can cause media/metadata to traverse external systems.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@source/administration-guide/configure/calls-deployment-guide.md`:
- Line 325: Replace the external docs.mattermost.com URL used in the RTCD
horizontal scaling link with the local internal link format: update the
"horizontal scaling" link in the sentence that reads "The RTCD service supports
[horizontal
scaling](https://docs.mattermost.com/administration-guide/configure/calls-rtcd-setup.html#horizontal-scaling)"
to point to the local page/anchor (calls-rtcd-setup.md#horizontal-scaling) so it
uses the repository's internal docs link style and avoids brittle external HTML
links.
- Line 80: Replace the hardcoded external docs URL in the link text "Configure
TLS" with the repository's internal link syntax used for Mattermost docs (i.e.,
convert the anchor _See [Configure
TLS](https://docs.mattermost.com/deploy/server/setup-tls.html)_ to the
repo-appropriate internal link form), updating the link target for the
"Configure TLS" reference in this file so builds and redirects remain stable.
- Line 807: Replace the hardcoded external URL used in the sentence "You can
learn more about Mattermost Calls in the
[documentation](https://docs.mattermost.com/end-user-guide/collaborate/make-calls.html)."
with the repo's internal markdown link to the corresponding docs page (use the
repo-appropriate relative/internal link syntax to the End User Guide page for
"make-calls"); do the same for the second occurrence referenced in the comment
(line noted as 929) so both template links point to the internal markdown target
instead of the absolute https://docs.mattermost.com/... URL.
---
Duplicate comments:
In `@source/administration-guide/configure/calls-deployment-guide.md`:
- Around line 657-666: Update the RTCD Service URL guidance to make environment
variables the primary, production-safe method (MM_CALLS_RTCD_CLIENT_ID and
MM_CALLS_RTCD_AUTH_KEY) and reframe the inline credential URL example
(http://clientID:[email protected]:8045) as a temporary, test-only approach
with a clear warning about secret leakage risk; remove or de-emphasize
recommending embedded credentials for production and add a short note to follow
least-privilege practices for network policy, service exposure, and credential
handling when using RTCD Service URL.
- Line 72: The "Deployment Infrastructure Requirements" heading and several
others are using level-4 headings (####) while the section is under "Deployment
Prerequisites" (level-2), breaking sequential hierarchy; update "#### Deployment
Infrastructure Requirements" to "### Deployment Infrastructure Requirements" and
similarly change the other mis-leveled headings referenced (the headings at the
comment locations 102, 109, 117, 122) from #### to ### so headings progress
logically under the Deployment Prerequisites section.
- Line 88: The inline links pointing to fragments '#infrastructure-decisions'
and '#networking-decisions' don't match the actual numbered headings
("Infrastructure Decisions (Step 1.2)" and "Networking Decisions (Step 1.3)");
locate the references to these fragments in the document (the lines mentioning
"See Infrastructure Decisions (Step 1.2)" etc.) and update each anchor to the
exact slug generated for those headings in this repo's Markdown renderer (e.g.,
include the numeric prefix used in the heading slug), or replace the fragment
links with full heading text links (e.g., link to "Infrastructure Decisions
(Step 1.2)" and "Networking Decisions (Step 1.3)") so the jump targets resolve
reliably; do the same for the other occurrences flagged (the other mentions of
the same fragments).
- Around line 23-24: The statement “no call media or metadata traverses
third-party systems.” is too absolute; update the sentence to conditionally
scope the sovereignty claim by clarifying it applies only when admins configure
Calls to use fully self-hosted media services (no external TURN/STUN/relay or
analytics integrations) and network architecture prevents third-party relays.
Replace the quoted sentence in the paragraph with a scoped version such as “When
configured for fully self-hosted media and without external relays or
third-party analytics, call media and metadata remain within your
infrastructure,” and add a short note referencing configuration choices that can
cause media/metadata to traverse external systems.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 4fb45f56-1653-4fb5-8cf8-6b7922a4af3c
📒 Files selected for processing (1)
source/administration-guide/configure/calls-deployment-guide.md
|
Newest code from mattermost has been published to preview environment for Git SHA 483cea6 |
|
Newest code from mattermost has been published to preview environment for Git SHA 5d733f2 |
|
@bgardner8008 @sadohert looping you guys in for review on this PR now that we've done a few iterations on it. There are a lot of file changes (mainly for navigation stuff), but the major changes are in this file: |
|
Newest code from mattermost has been published to preview environment for Git SHA 6fbaee9 |
Summary