Skip to content

feat(voice poc): feature branch voice experiments #40764

Draft
ggazzo wants to merge 11 commits into
developfrom
feat/voice
Draft

feat(voice poc): feature branch voice experiments #40764
ggazzo wants to merge 11 commits into
developfrom
feat/voice

Conversation

@ggazzo
Copy link
Copy Markdown
Member

@ggazzo ggazzo commented Jun 2, 2026

Proposed changes (including videos or screenshots)

Issue(s)

Steps to test or reproduce

Further comments

@dionisio-bot
Copy link
Copy Markdown
Contributor

dionisio-bot Bot commented Jun 2, 2026

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jun 2, 2026

🦋 Changeset detected

Latest commit: f854715

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 19 packages
Name Type
@rocket.chat/media-calls Minor
@rocket.chat/model-typings Minor
@rocket.chat/ui-voip Major
@rocket.chat/models Minor
@rocket.chat/i18n Minor
@rocket.chat/core-typings Minor
@rocket.chat/rest-typings Minor
@rocket.chat/meteor Minor
@rocket.chat/ui-client Major
@rocket.chat/mock-providers Patch
@rocket.chat/ui-contexts Major
@rocket.chat/web-ui-registration Major
@rocket.chat/uikit-playground Patch
@rocket.chat/fuselage-ui-kit Major
@rocket.chat/gazzodown Major
@rocket.chat/livechat Patch
@rocket.chat/ui-avatar Major
@rocket.chat/ui-video-conf Major
@rocket.chat/ui-composer Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 15d3b04d-5cb4-4305-8f49-5ca2697d6396

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ggazzo ggazzo added this to the POC-VOICE milestone Jun 2, 2026
@ggazzo ggazzo marked this pull request as ready for review June 2, 2026 15:26
@ggazzo ggazzo requested review from a team as code owners June 2, 2026 15:26
@ggazzo ggazzo marked this pull request as draft June 2, 2026 15:26
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

❌ Patch coverage is 93.00636% with 77 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.22%. Comparing base (d40f5d2) to head (f854715).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #40764      +/-   ##
===========================================
+ Coverage    70.08%   70.22%   +0.14%     
===========================================
  Files         3337     3359      +22     
  Lines       123506   124652    +1146     
  Branches     22009    22193     +184     
===========================================
+ Hits         86557    87543     +986     
- Misses       33610    33772     +162     
+ Partials      3339     3337       -2     
Flag Coverage Δ
unit 71.05% <93.00%> (+0.16%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/meteor/server/services/call-history/service.ts">

<violation number="1" location="apps/meteor/server/services/call-history/service.ts:29">
P1: `importHistoryForUser` is awaited synchronously inside `search`, blocking the paginated query result until the external HTTP call completes. This turns every search request into a potentially multi-second operation, which is problematic for a listing endpoint that should be fast.</violation>

<violation number="2" location="apps/meteor/server/services/call-history/service.ts:33">
P1: The `type` filter on line 27 uses a weaker condition than the import gate on line 23. If the external history setting is enabled but `host` or `username` are empty, no import runs, yet `type` is still set to `'mitel'`. This causes the search to return zero mitel-type results even when local media-call entries exist, effectively hiding all call history.</violation>
</file>

Note: This PR contains a large number of files. cubic only reviews up to 100 files per PR, so some files may not have been reviewed. cubic prioritizes the most important files to review.
On a pro plan you can use ultrareview for larger PRs.

Re-trigger cubic


const externalHistoryConfig = this.getExternalCallHistorySettings();
if (externalHistoryConfig?.host && externalHistoryConfig.username) {
await importHistoryForUser(uid, externalHistoryConfig);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: importHistoryForUser is awaited synchronously inside search, blocking the paginated query result until the external HTTP call completes. This turns every search request into a potentially multi-second operation, which is problematic for a listing endpoint that should be fast.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/meteor/server/services/call-history/service.ts, line 29:

<comment>`importHistoryForUser` is awaited synchronously inside `search`, blocking the paginated query result until the external HTTP call completes. This turns every search request into a potentially multi-second operation, which is problematic for a listing endpoint that should be fast.</comment>

<file context>
@@ -0,0 +1,64 @@
+
+		const externalHistoryConfig = this.getExternalCallHistorySettings();
+		if (externalHistoryConfig?.host && externalHistoryConfig.username) {
+			await importHistoryForUser(uid, externalHistoryConfig);
+		}
+
</file context>

}

// If external history is toggled on, only external entries may be listed
const type = externalHistoryConfig ? 'mitel' : 'media-call';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: The type filter on line 27 uses a weaker condition than the import gate on line 23. If the external history setting is enabled but host or username are empty, no import runs, yet type is still set to 'mitel'. This causes the search to return zero mitel-type results even when local media-call entries exist, effectively hiding all call history.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/meteor/server/services/call-history/service.ts, line 33:

<comment>The `type` filter on line 27 uses a weaker condition than the import gate on line 23. If the external history setting is enabled but `host` or `username` are empty, no import runs, yet `type` is still set to `'mitel'`. This causes the search to return zero mitel-type results even when local media-call entries exist, effectively hiding all call history.</comment>

<file context>
@@ -0,0 +1,64 @@
+		}
+
+		// If external history is toggled on, only external entries may be listed
+		const type = externalHistoryConfig ? 'mitel' : 'media-call';
+
+		const { cursor, totalCount } = CallHistory.findAllByUserIdAndSearchFilters(
</file context>

@ggazzo ggazzo force-pushed the feat/voice branch 7 times, most recently from 2677752 to cf4bede Compare June 5, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants