IPC API Reference (Auto-Generated)
Note: This file is auto-generated by
scripts/generateIpcDocs.js. Do not edit manually.Last Generated: 2025-12-18T22:51:30.264Z
Overview
This document lists all IPC (Inter-Process Communication) channels registered in the application.
- Request/Response channels use
ipcMain.handle()and expect a return value - Event channels use
ipcMain.on()for fire-and-forget notifications - One-Time Event channels use
ipcMain.once()for single-use listeners
Total Channels: 46
Authentication
| Channel | Type | Description | Location |
|---|---|---|---|
submitForm | Event | Handle form submission for SSO/authentication workflows | app/login/index.js:26 |
Connection Management
| Channel | Type | Description | Location |
|---|---|---|---|
offline-retry | Event | Retry connection when user clicks retry button on offline page | app/connectionManager/index.js:42 |
Core Application
| Channel | Type | Description | Location |
|---|---|---|---|
config-file-changed | Event | Restart application when configuration file changes | app/index.js:140 |
get-app-version | Request/Response | Get application version number | app/index.js:166 |
get-config | Request/Response | Get current application configuration | app/index.js:142 |
get-navigation-state | Request/Response | Get current navigation state (can go back/forward) | app/index.js:189 |
navigate-back | Event | Navigate back in browser history | app/index.js:171 |
navigate-forward | Event | Navigate forward in browser history | app/index.js:180 |
set-badge-count | Request/Response | Set application badge count (dock/taskbar notification) | app/index.js:164 |
user-status-changed | Request/Response | Handle user status changes from Teams (e.g., Available, Busy, Away) | app/index.js:162 |
Custom Background
| Channel | Type | Description | Location |
|---|---|---|---|
get-custom-bg-list | Request/Response | Get list of custom background images for Teams meetings | app/customBackground/index.js:15 |
Idle Monitoring
| Channel | Type | Description | Location |
|---|---|---|---|
get-system-idle-state | Request/Response | Get system idle state to sync with Teams presence | app/idle/monitor.js:15 |
Incoming Calls
| Channel | Type | Description | Location |
|---|---|---|---|
incoming-call-action | Event | Handle incoming call actions (accept/decline) | app/incomingCallToast/index.js:28 |
incoming-call-toast-ready | One-Time Event | Signal from toast window that it's ready to be displayed | app/incomingCallToast/index.js:38 |
Main Window
| Channel | Type | Description | Location |
|---|---|---|---|
call-connected | Request/Response | Notify when a call is connected | app/mainAppWindow/browserWindowManager.js:151 |
call-disconnected | Request/Response | Notify when a call is disconnected | app/mainAppWindow/browserWindowManager.js:153 |
select-source | Event | Handle screen sharing source selection from user | app/mainAppWindow/browserWindowManager.js:136 |
Menus & Tray
| Channel | Type | Description | Location |
|---|---|---|---|
get-teams-settings | One-Time Event | Receive Teams settings from renderer to save to file | app/menus/index.js:173 |
set-teams-settings | One-Time Event | Acknowledge settings restoration completion from renderer | app/menus/index.js:179 |
tray-update | Event | Update tray icon based on Teams status (notifications, badge count) | app/menus/tray.js:22 |
Microsoft Graph API
| Channel | Type | Description | Location |
|---|---|---|---|
graph-api-create-calendar-event | Request/Response | Create a new calendar event | app/graphApi/ipcHandlers.js:32 |
graph-api-get-calendar-events | Request/Response | Get calendar events with optional OData query options | app/graphApi/ipcHandlers.js:20 |
graph-api-get-calendar-view | Request/Response | Get calendar view for a specific time range | app/graphApi/ipcHandlers.js:26 |
graph-api-get-mail-messages | Request/Response | Get mail messages with optional OData query options | app/graphApi/ipcHandlers.js:38 |
graph-api-get-user-profile | Request/Response | Get current user profile from Microsoft Graph API | app/graphApi/ipcHandlers.js:14 |
Notifications
| Channel | Type | Description | Location |
|---|---|---|---|
play-notification-sound | Request/Response | Play notification sound for Teams messages and calls | app/notifications/service.js:36 |
show-notification | Request/Response | Show system notification for Teams activity | app/notifications/service.js:38 |
Notifications (Custom)
| Channel | Type | Description | Location |
|---|---|---|---|
notification-show-toast | Event | Display custom in-app toast notification in bottom-right corner | app/notificationSystem/index.js:17 |
notification-toast-click | Event | Handle toast clicks - close the window and focus main window | app/notificationSystem/index.js:19 |
Other
| Channel | Type | Description | Location |
|---|---|---|---|
camera-state-changed | Event | Publish MQTT status when camera state changes | app/mqtt/mediaStatusService.js:25 |
microphone-state-changed | Event | Publish MQTT status when microphone state changes | app/mqtt/mediaStatusService.js:27 |
Partitions & Zoom
| Channel | Type | Description | Location |
|---|---|---|---|
get-zoom-level | Request/Response | Get current zoom level for a partition | app/partitions/manager.js:12 |
save-zoom-level | Request/Response | Save zoom level for a partition | app/partitions/manager.js:14 |
Screen Sharing
| Channel | Type | Description | Location |
|---|---|---|---|
cancel-desktop-media | Event | Cancel desktop media selection dialog | app/screenSharing/service.js:20 |
choose-desktop-media | Request/Response | Select desktop media source for screen sharing | app/screenSharing/service.js:18 |
close-view | One-Time Event | Close the stream selector view without selection | app/screenSharing/index.js:64 |
desktop-capturer-get-sources | Request/Response | Get available desktop capturer sources (screens/windows) for sharing | app/screenSharing/service.js:16 |
get-screen-share-screen | Request/Response | Get screen share screen details | app/screenSharing/service.js:30 |
get-screen-share-stream | Request/Response | Get screen share stream for thumbnail preview | app/screenSharing/service.js:28 |
get-screen-sharing-status | Request/Response | Get current screen sharing status | app/screenSharing/service.js:26 |
resize-preview-window | Event | Resize screen sharing preview window | app/screenSharing/service.js:32 |
screen-sharing-started | Event | Notify when screen sharing session starts | app/screenSharing/service.js:22 |
screen-sharing-stopped | Event | Notify when screen sharing session stops | app/screenSharing/service.js:24 |
selected-source | One-Time Event | Receive user's screen sharing source selection from picker UI | app/screenSharing/index.js:62 |
source-selected | One-Time Event | Receive selected screen sharing source from native picker window | app/screenSharing/service.js:227 |
stop-screen-sharing-from-thumbnail | Event | Stop screen sharing from thumbnail preview | app/screenSharing/service.js:34 |
Channel Security
All IPC channels are validated through the security layer in app/security/ipcValidator.js.
See the IPC Channel Validation documentation for more information.
Adding New Channels
When adding a new IPC channel:
- Register the channel with
ipcMain.handle(),ipcMain.on(), oripcMain.once() - Add the channel to the allowlist in
app/security/ipcValidator.js - Add a comment above the registration describing its purpose
- Run
npm run generate-ipc-docsto update this documentation
Generated by scripts/generateIpcDocs.js