Skip to main content

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

ChannelTypeDescriptionLocation
submitFormEventHandle form submission for SSO/authentication workflowsapp/login/index.js:26

Connection Management

ChannelTypeDescriptionLocation
offline-retryEventRetry connection when user clicks retry button on offline pageapp/connectionManager/index.js:42

Core Application

ChannelTypeDescriptionLocation
config-file-changedEventRestart application when configuration file changesapp/index.js:140
get-app-versionRequest/ResponseGet application version numberapp/index.js:166
get-configRequest/ResponseGet current application configurationapp/index.js:142
get-navigation-stateRequest/ResponseGet current navigation state (can go back/forward)app/index.js:189
navigate-backEventNavigate back in browser historyapp/index.js:171
navigate-forwardEventNavigate forward in browser historyapp/index.js:180
set-badge-countRequest/ResponseSet application badge count (dock/taskbar notification)app/index.js:164
user-status-changedRequest/ResponseHandle user status changes from Teams (e.g., Available, Busy, Away)app/index.js:162

Custom Background

ChannelTypeDescriptionLocation
get-custom-bg-listRequest/ResponseGet list of custom background images for Teams meetingsapp/customBackground/index.js:15

Idle Monitoring

ChannelTypeDescriptionLocation
get-system-idle-stateRequest/ResponseGet system idle state to sync with Teams presenceapp/idle/monitor.js:15

Incoming Calls

ChannelTypeDescriptionLocation
incoming-call-actionEventHandle incoming call actions (accept/decline)app/incomingCallToast/index.js:28
incoming-call-toast-readyOne-Time EventSignal from toast window that it's ready to be displayedapp/incomingCallToast/index.js:38

Main Window

ChannelTypeDescriptionLocation
call-connectedRequest/ResponseNotify when a call is connectedapp/mainAppWindow/browserWindowManager.js:151
call-disconnectedRequest/ResponseNotify when a call is disconnectedapp/mainAppWindow/browserWindowManager.js:153
select-sourceEventHandle screen sharing source selection from userapp/mainAppWindow/browserWindowManager.js:136
ChannelTypeDescriptionLocation
get-teams-settingsOne-Time EventReceive Teams settings from renderer to save to fileapp/menus/index.js:173
set-teams-settingsOne-Time EventAcknowledge settings restoration completion from rendererapp/menus/index.js:179
tray-updateEventUpdate tray icon based on Teams status (notifications, badge count)app/menus/tray.js:22

Microsoft Graph API

ChannelTypeDescriptionLocation
graph-api-create-calendar-eventRequest/ResponseCreate a new calendar eventapp/graphApi/ipcHandlers.js:32
graph-api-get-calendar-eventsRequest/ResponseGet calendar events with optional OData query optionsapp/graphApi/ipcHandlers.js:20
graph-api-get-calendar-viewRequest/ResponseGet calendar view for a specific time rangeapp/graphApi/ipcHandlers.js:26
graph-api-get-mail-messagesRequest/ResponseGet mail messages with optional OData query optionsapp/graphApi/ipcHandlers.js:38
graph-api-get-user-profileRequest/ResponseGet current user profile from Microsoft Graph APIapp/graphApi/ipcHandlers.js:14

Notifications

ChannelTypeDescriptionLocation
play-notification-soundRequest/ResponsePlay notification sound for Teams messages and callsapp/notifications/service.js:36
show-notificationRequest/ResponseShow system notification for Teams activityapp/notifications/service.js:38

Notifications (Custom)

ChannelTypeDescriptionLocation
notification-show-toastEventDisplay custom in-app toast notification in bottom-right cornerapp/notificationSystem/index.js:17
notification-toast-clickEventHandle toast clicks - close the window and focus main windowapp/notificationSystem/index.js:19

Other

ChannelTypeDescriptionLocation
camera-state-changedEventPublish MQTT status when camera state changesapp/mqtt/mediaStatusService.js:25
microphone-state-changedEventPublish MQTT status when microphone state changesapp/mqtt/mediaStatusService.js:27

Partitions & Zoom

ChannelTypeDescriptionLocation
get-zoom-levelRequest/ResponseGet current zoom level for a partitionapp/partitions/manager.js:12
save-zoom-levelRequest/ResponseSave zoom level for a partitionapp/partitions/manager.js:14

Screen Sharing

ChannelTypeDescriptionLocation
cancel-desktop-mediaEventCancel desktop media selection dialogapp/screenSharing/service.js:20
choose-desktop-mediaRequest/ResponseSelect desktop media source for screen sharingapp/screenSharing/service.js:18
close-viewOne-Time EventClose the stream selector view without selectionapp/screenSharing/index.js:64
desktop-capturer-get-sourcesRequest/ResponseGet available desktop capturer sources (screens/windows) for sharingapp/screenSharing/service.js:16
get-screen-share-screenRequest/ResponseGet screen share screen detailsapp/screenSharing/service.js:30
get-screen-share-streamRequest/ResponseGet screen share stream for thumbnail previewapp/screenSharing/service.js:28
get-screen-sharing-statusRequest/ResponseGet current screen sharing statusapp/screenSharing/service.js:26
resize-preview-windowEventResize screen sharing preview windowapp/screenSharing/service.js:32
screen-sharing-startedEventNotify when screen sharing session startsapp/screenSharing/service.js:22
screen-sharing-stoppedEventNotify when screen sharing session stopsapp/screenSharing/service.js:24
selected-sourceOne-Time EventReceive user's screen sharing source selection from picker UIapp/screenSharing/index.js:62
source-selectedOne-Time EventReceive selected screen sharing source from native picker windowapp/screenSharing/service.js:227
stop-screen-sharing-from-thumbnailEventStop screen sharing from thumbnail previewapp/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:

  1. Register the channel with ipcMain.handle(), ipcMain.on(), or ipcMain.once()
  2. Add the channel to the allowlist in app/security/ipcValidator.js
  3. Add a comment above the registration describing its purpose
  4. Run npm run generate-ipc-docs to update this documentation

Generated by scripts/generateIpcDocs.js