Skip to content

Conversation

@Laky-64
Copy link
Contributor

@Laky-64 Laky-64 commented Aug 30, 2025

The guide below provides the flow for creating a perfect pull request to the Telegram X Repository. Before submitting your PR, ensure that it complies with the following principles.
Screenshot_20250830_170202_NTgCallsX

Screen_Recording_20250830_170141_NTgCallsX.mp4

Perfect PRs must be:

  • Rational. This PR replaces the old TgCalls implementation with NTgCalls, adding full support for video calls and screen sharing, while also introducing a more efficient CPU usage management. To enable NTgCalls locally, you need to add the following line in your local.properties file:

    app.ntgcalls=true
    
  • Completed. All changes have been tested with one-to-one and group calls (both audio and video) as well as screen sharing sessions.
  • Up-To-Date. The PR is based on the latest commit of the 'main' branch.

When fixing issues, make sure that your PR is:

  • Sufficient. The new implementation fixes performance bottlenecks in the previous TgCalls integration, addressing high CPU usage and improving stability in long-running calls.
  • Separated. This PR only focuses on the migration to NTgCalls and the related improvements (video, screen sharing, CPU optimization). Other unrelated fixes are left for separate PRs.
  • Linked. If there is a specific issue in the tracker about calls performance or missing video support, it should be linked here (e.g., Closes #1234).
  • Creating. The new features have been tested across multiple devices to ensure they don’t break other parts of the app.
  • Consistent. Screenshots or video previews should be attached if there are UI changes related to video call and screen sharing interfaces.

When adding features, expect:

  • Discussion. Open to suggestions regarding UX/UI flow of video calls and screen sharing integration.
  • Dismissal. Not applicable yet, feature follows Telegram X’s style but can be refined if requested.

Other contributions:

  • Rational. Optimized the existing call system with better CPU management, ensuring reduced resource consumption during calls.
  • Improved. Code refactoring makes the call handling logic cleaner, more modular, and easier to maintain.

@pdkpv
Copy link

pdkpv commented Aug 31, 2025

Open to suggestions regarding UX/UI flow of video calls and screen sharing integration

In 2021, there was a competition for the design of audio/video calls, and this option seemed the most promising to many: https://contest.com/android-design/entry2997.

Maybe you can somehow come to an agreement with the author and take his design for your implementation.

@vkryl vkryl force-pushed the main branch 3 times, most recently from fbec9a8 to 8bb1443 Compare December 21, 2025 23:57
japananimetime added a commit to japananimetime/Telegram-X that referenced this pull request Jan 11, 2026
Cherry-picked Video Calls with Camera and Screen Sharing support.
- Added CallInterface abstraction layer
- Added NTgCallsInterface and TgCallsInterface implementations
- Added VoIPFloatingLayout and VoIPTextureView for video display
- Updated CallController with video button support
- Updated TGCallService with NTgCalls/TgCalls selection based on BuildConfig.USE_NTGCALLS

Based on commit 9513771 from Laky-64/Telegram-X PR TGX-Android#916

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
japananimetime added a commit to japananimetime/Telegram-X that referenced this pull request Jan 11, 2026
- Add BLUETOOTH_CONNECT and BLUETOOTH_SCAN permissions for Android 12+
- Add USE_NTGCALLS BuildConfig flag (controlled by app.ntgcalls in local.properties)
- Add useNTgCalls to ApplicationConfig and ConfigurationPlugin
- Add conditional NTgCalls dependency (io.github.pytgcalls:ntgcalls:2.0.6)

Note: The NTgCalls interface code from PR TGX-Android#916 requires API compatibility
updates - the PR was written for a different version of the NTgCalls library
with packages (media, p2p, devices, exceptions) that don't exist in the
public Maven Central release.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
logopek pushed a commit to logopek/reX that referenced this pull request Jan 11, 2026
Cherry-picked Video Calls with Camera and Screen Sharing support.
- Added CallInterface abstraction layer
- Added NTgCallsInterface and TgCallsInterface implementations
- Added VoIPFloatingLayout and VoIPTextureView for video display
- Updated CallController with video button support
- Updated TGCallService with NTgCalls/TgCalls selection based on BuildConfig.USE_NTGCALLS

Based on commit 9513771 from Laky-64/Telegram-X PR TGX-Android#916

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
logopek pushed a commit to logopek/reX that referenced this pull request Jan 11, 2026
- Add BLUETOOTH_CONNECT and BLUETOOTH_SCAN permissions for Android 12+
- Add USE_NTGCALLS BuildConfig flag (controlled by app.ntgcalls in local.properties)
- Add useNTgCalls to ApplicationConfig and ConfigurationPlugin
- Add conditional NTgCalls dependency (io.github.pytgcalls:ntgcalls:2.0.6)

Note: The NTgCalls interface code from PR TGX-Android#916 requires API compatibility
updates - the PR was written for a different version of the NTgCalls library
with packages (media, p2p, devices, exceptions) that don't exist in the
public Maven Central release.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

2 participants