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-11-21T20:31:13.353Z

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

Total Channels: 38


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:138
get-app-versionRequest/ResponseGet application version numberapp/index.js:164
get-configRequest/ResponseGet current application configurationapp/index.js:140
get-navigation-stateRequest/ResponseGet current navigation state (can go back/forward)app/index.js:187
navigate-backEventNavigate back in browser historyapp/index.js:169
navigate-forwardEventNavigate forward in browser historyapp/index.js:178
set-badge-countRequest/ResponseSet application badge count (dock/taskbar notification)app/index.js:162
user-status-changedRequest/ResponseHandle user status changes from Teams (e.g., Available, Busy, Away)app/index.js:160

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

Main Window

ChannelTypeDescriptionLocation
call-connectedRequest/ResponseNotify when a call is connectedapp/mainAppWindow/browserWindowManager.js:150
call-disconnectedRequest/ResponseNotify when a call is disconnectedapp/mainAppWindow/browserWindowManager.js:152
select-sourceEventHandle screen sharing source selection from userapp/mainAppWindow/browserWindowManager.js:135
ChannelTypeDescriptionLocation
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

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
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
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() or ipcMain.on()
  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