Skip to content

Conversation

@danoctua
Copy link
Collaborator

@danoctua danoctua commented Dec 26, 2025

Description

This pull request merges the latest development changes from dev into main. The primary focus includes the implementation of full chat management features, critical database transaction refactoring, and performance optimizations for chat participant cleanup.

Checklist

Before submitting your pull request, please ensure the following:

  • I have read the contributing guidelines.
  • I ran all tests and they passed successfully.
  • I added/updated documentation (if applicable).
  • I reviewed my own code and followed the project's code style.
  • I included relevant details in the PR description or commit messages.

Changes

  • Full Managed Chat (Feat/full managed chat #213):
    • Implemented full Telegram chat control management in the admin interface.
    • Added visibility controls and "pause access for new users" functionality.
    • Enhanced Telegram chat DTOs to support control levels and notification settings.
    • Introduced effective days and notification toggles for chat access.
  • Database Transaction Refactoring (refactor(core): replace explicit commit with flush in services #210):
    • Replaced explicit commit() calls with flush() across core services.
    • Improved transaction consistency by delegating commits to the session context manager.
  • Performance Optimization (feat: implement performant stale chat participant cleanup using postgres unnest #209):
    • Implemented a performant stale chat participant cleanup routine using PostgreSQL unnest.
    • Significantly reduced database overhead during chat refreshes.
  • Validation Enhancements:
    • Refactored external source validation to validate configurations before storage, preventing partial or invalid state persistence.

How Has This Been Tested?

  • Unit Tests: Verified the new TelegramChatManageAction and stale participant cleanup logic with dedicated unit tests.
  • Integration Testing: Confirmed database transaction behavior with flush() refactoring in local development.
  • Manual Verification: Tested the new admin UI components for chat control and visibility settings.

Screenshots (if applicable)

image

Additional Notes

This merge brings several foundational improvements that stabilize the backend transaction logic and enable more granular control over Telegram communities.

danoctua and others added 12 commits December 24, 2025 15:00
- Added new API endpoint for updating full control level of chats.
- Introduced support for managing "is_full_control" property in actions, DTOs, and services.
- Updated Telethon integration to optimize member-kicking process and handle control-level checks.
- Enhanced Redis storage with support for gift owner IDs and new constants.
- Added Celery task for checking target chat members and handling control-level updates.
- Added isFullControl to chat store and API.
- Refactored DialogModal to support children for custom content.
- Created ChatFullControlModal for managing full chat control settings.
- Created ChatVisibilityModal for toggling user access.
- Integrated new modals into ChatPage.
- Enhanced ApiService to return HTTP status codes in responses.
@danoctua danoctua self-assigned this Dec 26, 2025
@danoctua danoctua added the enhancement New feature or request label Dec 26, 2025
@danoctua danoctua merged commit f97aa06 into main Dec 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants