SYMBOL INDEX (467 symbols across 126 files) FILE: electron.vite.config.ts method writeBundle (line 17) | async writeBundle() { method writeBundle (line 42) | async writeBundle() { FILE: scripts/bump-version.js function parseArgs (line 35) | function parseArgs(argv) { function main (line 50) | async function main({ type }) { function ensureCleanGit (line 66) | async function ensureCleanGit() { function readVersion (line 77) | async function readVersion() { function writeRootPackage (line 88) | async function writeRootPackage(version) { function writeClientPackage (line 92) | async function writeClientPackage(version) { function updatePackageJSON (line 96) | async function updatePackageJSON(filePath, version) { function writeEnv (line 104) | async function writeEnv(version) { function bumpVersion (line 121) | function bumpVersion(current, type) { function assertValidSemver (line 137) | function assertValidSemver(value) { function stageFiles (line 144) | async function stageFiles() { function commit (line 150) | async function commit(version) { function tag (line 155) | async function tag(version) { function quote (line 175) | function quote(value) { FILE: scripts/undo-version-bump.js function main (line 27) | async function main() { function ensureCleanGit (line 69) | async function ensureCleanGit() { function getLatestVersionTag (line 80) | async function getLatestVersionTag() { function getTagCommit (line 97) | async function getTagCommit(tagName) { function getParentCommit (line 107) | async function getParentCommit(commitHash) { function getVersionFromCommit (line 119) | async function getVersionFromCommit(commitHash) { function writeRootPackage (line 141) | async function writeRootPackage(version) { function writeClientPackage (line 145) | async function writeClientPackage(version) { function updatePackageJSON (line 149) | async function updatePackageJSON(filePath, version) { function writeEnv (line 157) | async function writeEnv(version) { function assertValidSemver (line 186) | function assertValidSemver(value) { function deleteLocalTag (line 193) | async function deleteLocalTag(tagName) { function deleteRemoteTag (line 209) | async function deleteRemoteTag(tagName) { function quote (line 224) | function quote(value) { FILE: src/client-viewer/scripts/ga-interceptor.js function getConsentStatus (line 14) | function getConsentStatus() { function isGoogleAnalyticsUrl (line 23) | function isGoogleAnalyticsUrl(url) { function shouldBlockRequest (line 35) | function shouldBlockRequest() { function isLocalIP (line 39) | function isLocalIP(ip) { function sanitizeGAUrl (line 55) | function sanitizeGAUrl(url) { FILE: src/client-viewer/src/components/ConnectingIndicator/ConnectingIndicatorIcon.tsx type ConnectingIndicatorIconProps (line 4) | interface ConnectingIndicatorIconProps { function ConnectingIndicatorIcon (line 8) | function ConnectingIndicatorIcon(props: ConnectingIndicatorIconProps) { FILE: src/client-viewer/src/components/ConnectingIndicator/LoadingSharingIcon.tsx type SelectSharingIconProps (line 5) | interface SelectSharingIconProps { function LoadingSharingIcon (line 10) | function LoadingSharingIcon(props: SelectSharingIconProps) { FILE: src/client-viewer/src/components/ConnectingIndicator/index.tsx function getConnectingStepContent (line 19) | function getConnectingStepContent( type ConnectingIndicatorProps (line 82) | interface ConnectingIndicatorProps { function ConnectingIndicator (line 89) | function ConnectingIndicator(props: ConnectingIndicatorProps) { FILE: src/client-viewer/src/components/ErrorDialog/ErrorMessageEnum.ts type ErrorMessageType (line 9) | type ErrorMessageType = (typeof ErrorMessage)[keyof typeof ErrorMessage]; FILE: src/client-viewer/src/components/ErrorDialog/index.tsx type ErrorDialogProps (line 7) | interface ErrorDialogProps { function ErrorDialog (line 13) | function ErrorDialog(props: ErrorDialogProps) { FILE: src/client-viewer/src/components/MyDeviceInfoCard/DeviceDetails.d.ts type DeviceDetails (line 1) | interface DeviceDetails { FILE: src/client-viewer/src/components/MyDeviceInfoCard/index.tsx type MyDeviceDetailsCardProps (line 5) | interface MyDeviceDetailsCardProps { function MyDeviceInfoCard (line 9) | function MyDeviceInfoCard(props: MyDeviceDetailsCardProps) { FILE: src/client-viewer/src/components/PlayerControlPanel/index.tsx type PlayerControlPanelProps (line 46) | interface PlayerControlPanelProps { function PlayerControlPanel (line 58) | function PlayerControlPanel(props: PlayerControlPanelProps) { FILE: src/client-viewer/src/components/PrivacyConsentDialog/index.tsx type PrivacyConsentDialogProps (line 17) | interface PrivacyConsentDialogProps { constant AVAILABLE_LANGUAGES (line 23) | const AVAILABLE_LANGUAGES = [ function TranslatedContent (line 41) | function TranslatedContent() { function TranslatedButtons (line 112) | function TranslatedButtons({ function PrivacyConsentDialog (line 155) | function PrivacyConsentDialog(props: PrivacyConsentDialogProps) { FILE: src/client-viewer/src/components/PrivacyControlDialog/index.tsx type PrivacyControlDialogProps (line 18) | interface PrivacyControlDialogProps { constant AVAILABLE_LANGUAGES (line 25) | const AVAILABLE_LANGUAGES = [ function TranslatedContent (line 43) | function TranslatedContent() { function TranslatedButtons (line 114) | function TranslatedButtons({ function PrivacyControlDialog (line 167) | function PrivacyControlDialog(props: PrivacyControlDialogProps) { FILE: src/client-viewer/src/components/VideoJSPlayer/index.tsx type VideoJSPlayerProps (line 8) | interface VideoJSPlayerProps { type VideoJsPlayerInstance (line 14) | type VideoJsPlayerInstance = { function VideoJSPlayer (line 20) | function VideoJSPlayer(props: VideoJSPlayerProps) { FILE: src/client-viewer/src/constants/appConstants.ts constant PLAYER_WRAPPER_ID (line 1) | const PLAYER_WRAPPER_ID = 'player-wrapper-id'; constant VIDEO_QUALITY_TO_DECIMAL (line 2) | const VIDEO_QUALITY_TO_DECIMAL = { constant COMPARISON_CANVAS_ID (line 9) | const COMPARISON_CANVAS_ID = 'comparison-canvas'; constant DUMMY_MY_DEVICE_DETAILS (line 10) | const DUMMY_MY_DEVICE_DETAILS = { FILE: src/client-viewer/src/constants/styleConstants.ts constant LIGHT_UI_BACKGROUND (line 1) | const LIGHT_UI_BACKGROUND = 'rgba(240, 248, 250, 1)'; FILE: src/client-viewer/src/containers/ConnectionPrompts/index.tsx type ConnectionPropmptsProps (line 10) | interface ConnectionPropmptsProps { function getPromptContent (line 19) | function getPromptContent(t: TFunction, step: number) { function ConnectionPropmpts (line 48) | function ConnectionPropmpts(props: ConnectionPropmptsProps) { FILE: src/client-viewer/src/containers/MainView/LoadingSharingIconEnum.ts type LoadingSharingIconType (line 6) | type LoadingSharingIconType = FILE: src/client-viewer/src/containers/MainView/index.tsx function MainView (line 28) | function MainView() { FILE: src/client-viewer/src/containers/MainView/useScreenViewingTracker.ts type UseScreenViewingTrackerParams (line 5) | interface UseScreenViewingTrackerParams { function formatErrorMessageForEvent (line 12) | function formatErrorMessageForEvent(errorMessage: ErrorMessageType): str... function useScreenViewingTracker (line 21) | function useScreenViewingTracker( FILE: src/client-viewer/src/containers/PlayerView/index.tsx type PlayerViewProps (line 13) | interface PlayerViewProps { type IOSVideoElement (line 25) | type IOSVideoElement = HTMLVideoElement & { function PlayerView (line 32) | function PlayerView(props: PlayerViewProps) { FILE: src/client-viewer/src/features/PeerConnection/PartnerPeerUser.d.ts type PartnerPeerUser (line 1) | interface PartnerPeerUser { FILE: src/client-viewer/src/features/PeerConnection/PeerConnection.d.ts type PeerConnection (line 1) | type PeerConnection = import('.').default; FILE: src/client-viewer/src/features/PeerConnection/PeerConnectionUIHandler.ts class PeerConnectionUIHandler (line 6) | class PeerConnectionUIHandler { method constructor (line 21) | constructor( FILE: src/client-viewer/src/features/PeerConnection/ReceiveEncryptedMessagePayload.d.ts type ReceiveEncryptedMessagePayload (line 1) | interface ReceiveEncryptedMessagePayload { FILE: src/client-viewer/src/features/PeerConnection/ScreenSharingSourceEnum.ts type ScreenSharingSourceType (line 6) | type ScreenSharingSourceType = FILE: src/client-viewer/src/features/PeerConnection/errors/PeerConnectionPartnerIsNotDefinedError.ts class PeerConnectionPartnerIsNotDefinedError (line 1) | class PeerConnectionPartnerIsNotDefinedError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/PeerConnection/errors/PeerConnectionPeerIsNullError.ts class PeerConnectionPeerIsNullError (line 1) | class PeerConnectionPeerIsNullError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/PeerConnection/errors/PeerConnectionSocketNotDefined.ts class PeerConnectionSocketNotDefined (line 1) | class PeerConnectionSocketNotDefined extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/PeerConnection/errors/PeerConnectionUserIsNotDefinedError.ts class PeerConnectionUserIsNotDefinedError (line 1) | class PeerConnectionUserIsNotDefinedError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/PeerConnection/index.ts class PeerConnection (line 32) | class PeerConnection { method constructor (line 75) | constructor( method setVideoQuality (line 97) | setVideoQuality(videoQuality: VideoQualityType) { method videoQualityChangedCallback (line 102) | videoQualityChangedCallback() { method stopStream (line 115) | stopStream() { method destroy (line 132) | destroy() { method createPeer (line 182) | createPeer() { method initApp (line 218) | initApp(user: LocalPeerUser, myIP: string) { method createUser (line 228) | createUser() { method sendEncryptedMessage (line 240) | sendEncryptedMessage(payload: SendEncryptedMessagePayload) { method receiveEncryptedMessage (line 257) | receiveEncryptedMessage(payload: ReceiveEncryptedMessagePayload) { method createUserAndInitSocket (line 261) | createUserAndInitSocket() { FILE: src/client-viewer/src/features/PeerConnection/peerConnectionHandlePeer.ts function getSharingShourceType (line 10) | function getSharingShourceType(peerConnection: PeerConnection) { FILE: src/client-viewer/src/features/PeerConnection/peerConnectionHandleSocket.ts function getMyIPCallback (line 10) | function getMyIPCallback( FILE: src/client-viewer/src/features/PeerConnection/simplePeerDataMessages.ts function prepareDataMessageToChangeQuality (line 1) | function prepareDataMessageToChangeQuality(q: number) { function prepareDataMessageToGetSharingSourceType (line 12) | function prepareDataMessageToGetSharingSourceType() { FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/VideoQualityEnum.ts type VideoQualityType (line 10) | type VideoQualityType = (typeof VideoQuality)[keyof typeof VideoQuality]; FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/errors/CanvasNotDefinedError.ts class CanvasNotDefinedError (line 1) | class CanvasNotDefinedError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/errors/ImageDataIsUndefinedError.ts class ImageDataIsUndefinedError (line 1) | class ImageDataIsUndefinedError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/errors/VideoDimensionsAreWrongError.ts class VideoDimensionsAreWrongError (line 1) | class VideoDimensionsAreWrongError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/errors/VideoNotDefinedError.ts class VideoNotDefinedError (line 1) | class VideoNotDefinedError extends Error { method constructor (line 2) | constructor() { FILE: src/client-viewer/src/features/VideoAutoQualityOptimizer/index.ts constant CANVAS_SCALE_MULTIPLIER (line 9) | const CANVAS_SCALE_MULTIPLIER = 0.125; constant MISMATCH_PERCENT_THRESHOLD (line 10) | const MISMATCH_PERCENT_THRESHOLD = 0.1; class VideoAutoQualityOptimizer (line 12) | class VideoAutoQualityOptimizer { method setGoodQualityCallback (line 31) | setGoodQualityCallback(callback: () => void) { method setHalfQualityCallbak (line 35) | setHalfQualityCallbak(callback: () => void) { method startOptimizationLoop (line 39) | startOptimizationLoop() { method doFrameComparisonAndQualityOptimization (line 53) | doFrameComparisonAndQualityOptimization() { method findAndSetVideoInternalVariable (line 81) | findAndSetVideoInternalVariable(document: Document) { method findAndSetCanvasInternalVariable (line 87) | findAndSetCanvasInternalVariable(document: Document) { method prepareCanvasAndVideo (line 93) | prepareCanvasAndVideo() { method clearCanvas (line 100) | clearCanvas() { method validateVideoWidthAndHeight (line 106) | validateVideoWidthAndHeight() { method validateBeforeCalculations (line 112) | validateBeforeCalculations() { method validateVideoIsDefined (line 118) | validateVideoIsDefined() { method validateCanvasIsDefined (line 124) | validateCanvasIsDefined() { method scaleCanvas (line 130) | scaleCanvas() { method drawVideoFrameToCanvas (line 136) | drawVideoFrameToCanvas() { method getImageDataFromCanvas (line 143) | getImageDataFromCanvas() { method getNumberOfMismatchedPixels (line 149) | getNumberOfMismatchedPixels(imageData: ImageData) { method getPreviousAndCurrentFrameMismatchInPercent (line 161) | getPreviousAndCurrentFrameMismatchInPercent(imageData: ImageData) { method handleFramesMismatch (line 169) | handleFramesMismatch(mismatchInPercent: number) { method isLowMismatchPercent (line 186) | isLowMismatchPercent(mismatchInPercent: number) { method isHighMismatchPercent (line 190) | isHighMismatchPercent(mismatchInPercent: number) { FILE: src/client-viewer/src/providers/AppContextProvider/index.tsx type AppContextInterface (line 3) | interface AppContextInterface { FILE: src/client-viewer/src/utils/ProcessedMessage.d.ts type CallUserMessageWithPayload (line 1) | type CallUserMessageWithPayload = { type DeviceDetailsMessageWithPayload (line 8) | type DeviceDetailsMessageWithPayload = { type DenyToConnectMessageWithPayload (line 20) | type DenyToConnectMessageWithPayload = { type DisconnectByHostMachineUserMessageWithPayload (line 25) | type DisconnectByHostMachineUserMessageWithPayload = { type AllowedToConnectMessageWithPayload (line 30) | type AllowedToConnectMessageWithPayload = { type AppLanguageMessageWithPayload (line 35) | type AppLanguageMessageWithPayload = { type ProcessedMessage (line 42) | type ProcessedMessage = FILE: src/client-viewer/src/utils/analytics.ts type Window (line 3) | interface Window { constant CONSENT_KEY (line 9) | const CONSENT_KEY = 'deskreen_ga_consent'; constant GA_TAG_PLACEHOLDER (line 10) | const GA_TAG_PLACEHOLDER = '%VITE_CLIENT_VIEWER_GA_TAG%'; constant CLIENT_VIEWER_VERSION_PLACEHOLDER (line 11) | const CLIENT_VIEWER_VERSION_PLACEHOLDER = '%VITE_CLIENT_VIEWER_VERSION%'; type AnalyticsEventParams (line 15) | type AnalyticsEventParams = Record; type ConsentStatus (line 17) | type ConsentStatus = 'accepted' | 'opted-out' | null; function getConsentStatus (line 19) | function getConsentStatus(): ConsentStatus { function setConsentStatus (line 31) | function setConsentStatus(status: 'accepted' | 'opted-out'): void { function clearConsentStatus (line 38) | function clearConsentStatus(): void { function loadGoogleAnalytics (line 45) | function loadGoogleAnalytics(gaTagId: string): void { function sendPageView (line 128) | function sendPageView(): void { function waitForGAReady (line 143) | function waitForGAReady(callback: () => void): void { function updateAnalyticsConsent (line 182) | function updateAnalyticsConsent(consentStatus: ConsentStatus): void { function getGaTagIdFromMeta (line 222) | function getGaTagIdFromMeta(): string | null { function getClientViewerVersion (line 245) | function getClientViewerVersion(): string | null { function sendClientViewerVersionEvent (line 263) | function sendClientViewerVersionEvent(): void { function trackAnalyticsEvent (line 279) | function trackAnalyticsEvent( FILE: src/client-viewer/src/utils/gaRequestInterceptor.ts constant GA_DOMAINS (line 3) | const GA_DOMAINS = [ function isGoogleAnalyticsUrl (line 30) | function isGoogleAnalyticsUrl(url: string): boolean { function shouldBlockRequest (line 42) | function shouldBlockRequest(): boolean { function isLocalIP (line 47) | function isLocalIP(ip: string): boolean { function sanitizeGAUrl (line 76) | function sanitizeGAUrl(url: string): string { function interceptFetch (line 114) | function interceptFetch(): void { function interceptXMLHttpRequest (line 151) | function interceptXMLHttpRequest(): void { function interceptSendBeacon (line 199) | function interceptSendBeacon(): void { function initializeGARequestInterceptor (line 229) | function initializeGARequestInterceptor(): void { FILE: src/client-viewer/src/utils/message.ts type ProcessedPayload (line 4) | interface ProcessedPayload { FILE: src/client-viewer/src/utils/playerFullscreen.ts type LegacyFullscreenElement (line 4) | type LegacyFullscreenElement = HTMLElement & { type LegacyFullscreenDocument (line 11) | type LegacyFullscreenDocument = Document & { type IOSVideoElement (line 20) | type IOSVideoElement = HTMLVideoElement & { type Unsubscribe (line 27) | type Unsubscribe = () => void; FILE: src/client-viewer/src/utils/userAgentParserHelpers.ts function getOSFromUAParser (line 4) | function getOSFromUAParser(uaParser: UAParser) { function getDeviceTypeFromUAParser (line 12) | function getDeviceTypeFromUAParser(uaParser: UAParser) { function getBrowserFromUAParser (line 20) | function getBrowserFromUAParser(uaParser: UAParser) { FILE: src/client-viewer/src/vite-env.d.ts type ConnectionIconType (line 2) | type ConnectionIconType = type LoadingSharingIconType (line 5) | type LoadingSharingIconType = type ScreenSharingSourceType (line 8) | type ScreenSharingSourceType = type CreatePeerConnectionUseEffectParams (line 11) | type CreatePeerConnectionUseEffectParams = { type handleDisplayingLoadingSharingIconLoopParams (line 24) | type handleDisplayingLoadingSharingIconLoopParams = { type Document (line 33) | interface Document { FILE: src/client-viewer/vite.config.ts type PackageJson (line 10) | interface PackageJson { method transformIndexHtml (line 33) | transformIndexHtml(html) { FILE: src/common/DesktopCapturerSourceType.ts type DesktopCapturerSourceType (line 1) | enum DesktopCapturerSourceType { FILE: src/common/Device.ts type Device (line 1) | interface Device { FILE: src/common/ElectronStoreKeys.enum.ts type ElectronStoreKeys (line 1) | enum ElectronStoreKeys { FILE: src/common/IpcEvents.enum.ts type IpcEvents (line 1) | enum IpcEvents { FILE: src/common/LocalPeerUser.ts type LocalPeerUser (line 1) | interface LocalPeerUser { FILE: src/common/SendEncryptedMessagePayload.ts type SendEncryptedMessagePayload (line 1) | interface SendEncryptedMessagePayload { FILE: src/common/deskreen-electron-store.ts type DataStore (line 19) | type DataStore = Record; class PersistentStorage (line 36) | class PersistentStorage { method constructor (line 43) | constructor(fileName = 'deskreen-ce-storage.json') { method writeData (line 52) | private writeData(): void { method has (line 68) | public has(key: string): boolean { method get (line 77) | public get(key: string): string | undefined { method set (line 86) | public set(key: string, value: string): void { method delete (line 95) | public delete(key: string): void { method clear (line 103) | public clear(): void { FILE: src/common/getAppLanguage.ts function getAppLanguage (line 3) | async function getAppLanguage(): Promise { FILE: src/common/isProduction.ts function isProduction (line 1) | function isProduction(): boolean { FILE: src/common/rateLimitedConsole.ts type LogEntry (line 4) | interface LogEntry { constant RATE_LIMIT_WINDOW (line 11) | const RATE_LIMIT_WINDOW = 5000; constant MAX_LOGS_PER_WINDOW (line 12) | const MAX_LOGS_PER_WINDOW = 10; constant CACHE_CLEANUP_INTERVAL (line 13) | const CACHE_CLEANUP_INTERVAL = 30000; function getLogKey (line 24) | function getLogKey(...args: unknown[]): string { function shouldLog (line 44) | function shouldLog(key: string): boolean { function cleanupCache (line 80) | function cleanupCache(): void { function startConsoleRateLimiting (line 124) | function startConsoleRateLimiting(): void { function stopConsoleRateLimiting (line 134) | function stopConsoleRateLimiting(): void { function overrideGlobalConsole (line 143) | function overrideGlobalConsole(): void { FILE: src/features/ConnectedDevicesService/index.ts constant SLOT_VIOLATION_MESSAGE (line 15) | const SLOT_VIOLATION_MESSAGE = 'single viewer slot is already occupied'; type ViewerConnectionAvailability (line 17) | type ViewerConnectionAvailability = 'available' | 'occupied'; class SingleViewerSlot (line 19) | class SingleViewerSlot { method occupy (line 22) | occupy(device: Device): void { method releaseById (line 29) | releaseById(deviceIDToRemove: string): boolean { method release (line 38) | release(): void { method isAvailable (line 42) | isAvailable(): boolean { method snapshot (line 46) | snapshot(): Device[] { method isOccupiedBy (line 51) | isOccupiedBy(deviceID: string): boolean { class ConnectedDevicesService (line 57) | class ConnectedDevicesService { method resetPendingConnectionDevice (line 66) | resetPendingConnectionDevice(): void { method getDevices (line 70) | getDevices(): Device[] { method isSlotAvailable (line 74) | isSlotAvailable(): boolean { method addAvailabilityListener (line 78) | addAvailabilityListener( method disconnectAllDevices (line 88) | disconnectAllDevices(): void { method disconnectDeviceByID (line 93) | disconnectDeviceByID(deviceIDToRemove: string): Promise { method addDevice (line 101) | addDevice(device: Device): void { method setPendingConnectionDevice (line 113) | setPendingConnectionDevice(device: Device): void { method getAvailabilityState (line 117) | private getAvailabilityState(): ViewerConnectionAvailability { method notifyAvailabilityListeners (line 121) | private notifyAvailabilityListeners(): void { FILE: src/features/DesktopCapturerSourcesService/index.ts type DesktopCapturerSourceWithType (line 9) | interface DesktopCapturerSourceWithType { function getSourceTypeFromSourceID (line 14) | function getSourceTypeFromSourceID( type SourcesDisappearListener (line 23) | type SourcesDisappearListener = (ids: string[]) => void; type SharingSessionID (line 24) | type SharingSessionID = string; class DesktopCapturerSourcesService (line 26) | class DesktopCapturerSourcesService { method constructor (line 48) | constructor() { method getSourcesMap (line 74) | getSourcesMap(): Map { method startRefreshDesktopCapturerSourcesLoop (line 78) | startRefreshDesktopCapturerSourcesLoop(): void { method getScreenSources (line 87) | getScreenSources(): DesktopCapturerSource[] { method getAppWindowSources (line 99) | getAppWindowSources(): DesktopCapturerSource[] { method getSourceDisplayIDByDisplayCapturerSourceID (line 111) | getSourceDisplayIDByDisplayCapturerSourceID(sourceID: string): string { method addWindowClosedListener (line 123) | addWindowClosedListener( method addScreenDisconnectedListener (line 130) | addScreenDisconnectedListener( method updateDesktopCapturerSources (line 137) | async updateDesktopCapturerSources(): Promise { method getDesktopCapturerSources (line 156) | async getDesktopCapturerSources(): Promise< method refreshDesktopCapturerSources (line 177) | async refreshDesktopCapturerSources(): Promise { method requestPortalSource (line 199) | async requestPortalSource( method startPollForInactiveListenersLoop (line 243) | startPollForInactiveListenersLoop(): void { method checkForClosedWindows (line 253) | checkForClosedWindows(): void { method notifyOnWindowsClosedListeners (line 262) | notifyOnWindowsClosedListeners(_closedWindowsIDs: string[]): void { method checkForScreensDisconnected (line 266) | checkForScreensDisconnected(): void { method notifyOnScreensDisconnectedListeners (line 275) | notifyOnScreensDisconnectedListeners( FILE: src/features/PeerConnectionHelperRendererService/index.ts type RendererHelperWebcontentsID (line 5) | type RendererHelperWebcontentsID = number; class RendererWebrtcHelpersService (line 7) | class RendererWebrtcHelpersService { method constructor (line 11) | constructor(_appPath: string) { method createPeerConnectionHelperRenderer (line 16) | createPeerConnectionHelperRenderer(): BrowserWindow { FILE: src/features/SharingSessionService/SharingSession.ts type SharingSessionStatusChangeListener (line 9) | type SharingSessionStatusChangeListener = ( class SharingSession (line 13) | class SharingSession { method constructor (line 27) | constructor( method destroy (line 84) | destroy(): void { method setOnDeviceConnectedCallback (line 88) | setOnDeviceConnectedCallback(callback: (device: Device) => void): void { method setDesktopCapturerSourceID (line 92) | setDesktopCapturerSourceID(id: string): void { method callPeer (line 101) | callPeer(): void { method disconnectByHostMachineUser (line 106) | disconnectByHostMachineUser(): void { method denyConnectionForPartner (line 113) | denyConnectionForPartner(): void { method appLanguageChanged (line 119) | appLanguageChanged(): void { method addStatusChangeListener (line 123) | addStatusChangeListener(callback: SharingSessionStatusChangeListener):... method notifyStatusChangeListeners (line 127) | notifyStatusChangeListeners(): Promise { method setStatus (line 136) | setStatus(newStatus: SharingSessionStatusEnum): void { method setDeviceID (line 141) | setDeviceID(deviceID: string): void { FILE: src/features/SharingSessionService/SharingSessionStatusEnum.ts type SharingSessionStatusEnum (line 1) | enum SharingSessionStatusEnum { FILE: src/features/SharingSessionService/SharingTypeEnum.ts type SharingTypeEnum (line 1) | enum SharingTypeEnum { FILE: src/features/SharingSessionService/index.ts class SharingSessionService (line 9) | class SharingSessionService { method constructor (line 18) | constructor( method createUser (line 40) | createUser(): Promise { method createWaitingForConnectionSharingSession (line 55) | createWaitingForConnectionSharingSession( method createNewSharingSession (line 109) | async createNewSharingSession(_roomID: string): Promise { method pollForInactiveSessions (line 122) | pollForInactiveSessions(): void { method waitWhileUserIsNotCreated (line 136) | waitWhileUserIsNotCreated(): Promise { FILE: src/main/helpers/getMyLocalIpV4.ts function isWifiInterface (line 74) | function isWifiInterface(interfaceName: string): boolean { function isVirtualInterface (line 103) | function isVirtualInterface(interfaceName: string, interfaceMacAddress: ... function getActiveNetworkInterface (line 141) | function getActiveNetworkInterface(): { interfaceName: string; ipAddress... function getMyLocalIpV4 (line 192) | function getMyLocalIpV4(): string | undefined { FILE: src/main/helpers/initGlobals.ts type DeskreenGlobal (line 9) | interface DeskreenGlobal { FILE: src/main/helpers/ipcMainHandlers.ts function createWaitingForConnectionSharingSession (line 147) | async function createWaitingForConnectionSharingSession( function resetWaitingForConnectionSharingSession (line 175) | function resetWaitingForConnectionSharingSession(): void { function startSharingOnWaitingForConnectionSharingSession (line 352) | function startSharingOnWaitingForConnectionSharingSession(): void { FILE: src/main/helpers/isWifiConnected.ts function isWifiConnected (line 4) | function isWifiConnected(): boolean { FILE: src/main/index.ts class DeskreenApp (line 99) | class DeskreenApp { method initElectronAppObject (line 106) | initElectronAppObject(): void { method checkForLatestVersionAndNotify (line 153) | private async checkForLatestVersionAndNotify(): Promise { method showUpdateNotification (line 174) | private showUpdateNotification(latestAppVersion: string): void { method createWindow (line 190) | async createWindow(): Promise { method initI18n (line 269) | initI18n(): void { method start (line 291) | start(): void { method parseCliLocalIp (line 319) | private parseCliLocalIp(): string | undefined { FILE: src/main/menu.ts type DarwinMenuItemConstructorOptions (line 11) | interface DarwinMenuItemConstructorOptions extends MenuItemConstructorOp... class MenuBuilder (line 16) | class MenuBuilder { method constructor (line 21) | constructor(mainWindow: BrowserWindow, i18n: typeof i18nType) { method buildMenu (line 26) | buildMenu(): void { method setupDevelopmentEnvironment (line 43) | setupDevelopmentEnvironment(): void { method buildDarwinTemplate (line 58) | buildDarwinTemplate(): MenuItemConstructorOptions[] { FILE: src/main/utils/LoggerWithFilePrefix.ts function cleanupLogBuffers (line 21) | function cleanupLogBuffers(): void { function startLogBufferCleanup (line 39) | function startLogBufferCleanup(): void { function stopLogBufferCleanup (line 53) | function stopLogBufferCleanup(): void { class LoggerWithFilePrefix (line 60) | class LoggerWithFilePrefix { method constructor (line 65) | constructor(_filenamePath: string) { method error (line 70) | error(...args: unknown[]): void { method warn (line 74) | warn(...args: unknown[]): void { method info (line 78) | info(...args: unknown[]): void { method verbose (line 82) | verbose(...args: unknown[]): void { method debug (line 86) | debug(...args: unknown[]): void { method silly (line 90) | silly(...args: unknown[]): void { FILE: src/main/utils/getNewVersionTag.ts function getNewVersionTag (line 6) | async function getNewVersionTag(): Promise { FILE: src/main/utils/installExtensions.ts function installExtensions (line 6) | async function installExtensions(): Promise { FILE: src/preload/index.d.ts type Window (line 5) | interface Window { FILE: src/renderer/src/components/AllowConnectionForDeviceAlert.tsx type AllowConnectionForDeviceAlertProps (line 7) | interface AllowConnectionForDeviceAlertProps { FILE: src/renderer/src/components/CloseOverlayButton.tsx class CloseOverlayButtonProps (line 5) | class CloseOverlayButtonProps { FILE: src/renderer/src/components/ConnectedDevicesListDrawer.tsx type DeviceWithDesktopCapturerSourceId (line 22) | type DeviceWithDesktopCapturerSourceId = Device & { type ConnectedDevicesListDrawerProps (line 26) | interface ConnectedDevicesListDrawerProps { function ConnectedDevicesListDrawer (line 48) | function ConnectedDevicesListDrawer( FILE: src/renderer/src/components/DeviceInfoCallout/index.tsx function getContentOfTooltip (line 7) | function getContentOfTooltip(t: TFunction) { type DeviceInfoCalloutProps (line 22) | interface DeviceInfoCalloutProps { FILE: src/renderer/src/components/LanguageSelector/index.tsx function LanguageSelector (line 11) | function LanguageSelector() { FILE: src/renderer/src/components/SettingsOverlay/SettingRowLabelAndInput.tsx type SettingRowLabelAndInput (line 23) | interface SettingRowLabelAndInput { function SettingRowLabelAndInput (line 29) | function SettingRowLabelAndInput( FILE: src/renderer/src/components/SettingsOverlay/SettingsOverlay.tsx type SettingsOverlayProps (line 23) | interface SettingsOverlayProps { type SettingsOverlayClassKey (line 28) | type SettingsOverlayClassKey = type SettingsOverlayClassMap (line 38) | type SettingsOverlayClassMap = Record; function SettingsOverlay (line 74) | function SettingsOverlay( FILE: src/renderer/src/components/ShareAppOrScreenControlGroup.tsx type ShareAppOrScreenControlGroupProps (line 8) | interface ShareAppOrScreenControlGroupProps { function ShareAppOrScreenControlGroup (line 55) | function ShareAppOrScreenControlGroup( FILE: src/renderer/src/components/SharingSourcePreviewCard/index.tsx class SharingSourcePreviewCardProps (line 7) | class SharingSourcePreviewCardProps { FILE: src/renderer/src/components/StepperPanel/ColorlibStepIcon.tsx type StepIconPropsDeskreen (line 7) | interface StepIconPropsDeskreen extends StepIconProps { function ColorlibStepIcon (line 43) | function ColorlibStepIcon( FILE: src/renderer/src/components/StepperPanel/DeviceConnectedInfoButton.tsx type DeviceConnectedInfoButtonProps (line 8) | interface DeviceConnectedInfoButtonProps { function DeviceConnectedInfoButton (line 51) | function DeviceConnectedInfoButton( FILE: src/renderer/src/components/StepsOfStepper/ChooseAppOrScreenOverlay/ChooseAppOrScreenOverlay.tsx type ChooseAppOrScreenOverlayProps (line 34) | interface ChooseAppOrScreenOverlayProps { function ChooseAppOrScreenOverlay (line 43) | function ChooseAppOrScreenOverlay( FILE: src/renderer/src/components/StepsOfStepper/ChooseAppOrScreenOverlay/PreviewGridList.tsx type PreviewGridListProps (line 5) | interface PreviewGridListProps { function PreviewGridList (line 12) | function PreviewGridList(props: PreviewGridListProps) { FILE: src/renderer/src/components/StepsOfStepper/ChooseAppOrScreenOverlay/ViewSharingObject.d.ts type ViewSharingObject (line 1) | type ViewSharingObject = { thumbnailUrl: string; name: string }; FILE: src/renderer/src/components/StepsOfStepper/ChooseAppOrScreenStep.tsx type ChooseAppOrScreeenStepProps (line 5) | interface ChooseAppOrScreeenStepProps { FILE: src/renderer/src/components/StepsOfStepper/ConfirmStep.tsx type ConfirmStepProps (line 10) | interface ConfirmStepProps { function ConfirmStep (line 14) | function ConfirmStep(props: ConfirmStepProps) { FILE: src/renderer/src/components/StepsOfStepper/IntermediateStep.tsx type IntermediateStepProps (line 11) | interface IntermediateStepProps { function getStepContent (line 23) | function getStepContent( function isConfirmStep (line 56) | function isConfirmStep(activeStep: number, steps: string[]): boolean { function IntermediateStep (line 60) | function IntermediateStep( FILE: src/renderer/src/components/StepsOfStepper/SuccessStep.tsx type SuccessStepProps (line 6) | interface SuccessStepProps { FILE: src/renderer/src/components/TopPanel.tsx type Props (line 131) | interface Props { function TopPanel (line 135) | function TopPanel({ handleReset }: Props): React.ReactElement { FILE: src/renderer/src/configs/i18next.config.client.ts function shuffleArray (line 47) | function shuffleArray(array: unknown[]): void { function initI18NextOptions (line 81) | async function initI18NextOptions(): Promise { FILE: src/renderer/src/containers/App.tsx type Props (line 3) | type Props = { FILE: src/renderer/src/containers/DeskreenStepper.tsx function getSteps (line 52) | function getSteps(t: TFunction): string[] { type Props (line 56) | interface Props { function stepperOpenedCallback (line 92) | async function stepperOpenedCallback(): Promise { FILE: src/renderer/src/containers/HomePage.tsx function HomePage (line 32) | function HomePage(): React.ReactElement { FILE: src/renderer/src/containers/SettingsProvider.tsx constant LIGHT_UI_BACKGROUND (line 5) | const LIGHT_UI_BACKGROUND = 'rgba(240, 248, 250, 1)'; FILE: src/renderer/src/contexts/SettingsContext.tsx type SettingsContextInterface (line 3) | interface SettingsContextInterface { FILE: src/renderer/src/features/PeerConnection/PartnerPeerUser.d.ts type PartnerPeerUser (line 1) | interface PartnerPeerUser { FILE: src/renderer/src/features/PeerConnection/PeerConnection.d.ts type PeerConnection (line 3) | type PeerConnection = import('./index').default; FILE: src/renderer/src/features/PeerConnection/ReceiveEncryptedMessagePayload.d.ts type ReceiveEncryptedMessagePayload (line 1) | interface ReceiveEncryptedMessagePayload { FILE: src/renderer/src/features/PeerConnection/createDesktopCapturerStream.ts function createDesktopCapturerStream (line 4) | async function createDesktopCapturerStream( FILE: src/renderer/src/features/PeerConnection/getDesktopSourceStreamBySourceID.ts function getStreamWithSource (line 1) | async function getStreamWithSource( FILE: src/renderer/src/features/PeerConnection/handleCreatePeer.ts function handleCreatePeer (line 7) | function handleCreatePeer( FILE: src/renderer/src/features/PeerConnection/handlePeerOnData.ts function handlePeerOnData (line 6) | async function handlePeerOnData( FILE: src/renderer/src/features/PeerConnection/handleSelfDestroy.ts function handleSelfDestroy (line 5) | function handleSelfDestroy( FILE: src/renderer/src/features/PeerConnection/handleSetDisplaySizeFromLocalStream.ts function setDisplaySizeFromLocalStream (line 1) | function setDisplaySizeFromLocalStream( FILE: src/renderer/src/features/PeerConnection/handleSocket.ts function handleSocket (line 4) | function handleSocket(peerConnection: PeerConnection): void { FILE: src/renderer/src/features/PeerConnection/index.ts type DisplaySize (line 20) | type DisplaySize = { width: number; height: number }; type PartnerPeerUser (line 22) | interface PartnerPeerUser { class PeerConnection (line 26) | class PeerConnection { method constructor (line 53) | constructor( method notifyClientWithNewLanguage (line 83) | notifyClientWithNewLanguage(): void { method setDesktopCapturerSourceID (line 94) | async setDesktopCapturerSourceID(id: string): Promise { method setDisplayIDByDesktopCapturerSourceID (line 107) | async setDisplayIDByDesktopCapturerSourceID(): Promise { method setDisplaySizeRetreivedFromMainProcess (line 127) | async setDisplaySizeRetreivedFromMainProcess(): Promise { method handleCreatePeerAfterDesktopCapturerSourceIDWasSet (line 138) | async handleCreatePeerAfterDesktopCapturerSourceIDWasSet(): Promise void): void { method denyConnectionForPartner (line 222) | async denyConnectionForPartner(): Promise { method sendUserAllowedToConnect (line 230) | sendUserAllowedToConnect(): void { method disconnectByHostMachineUser (line 237) | async disconnectByHostMachineUser(deviceId: string): Promise { method disconnectPartner (line 249) | disconnectPartner(): void { method selfDestroy (line 257) | selfDestroy(): void { method emitUserEnter (line 261) | emitUserEnter(): void { method sendEncryptedMessage (line 267) | async sendEncryptedMessage( method receiveEncryptedMessage (line 278) | receiveEncryptedMessage(payload: ReceiveEncryptedMessagePayload): void { method callPeer (line 283) | callPeer(): void { method createPeer (line 298) | createPeer(): Promise { method toggleLockRoom (line 302) | toggleLockRoom(isConnected: boolean): void { FILE: src/renderer/src/peerConnectionHelperRendererWindowIndex.tsx function handleIpcRenderer (line 33) | function handleIpcRenderer(): void { FILE: src/renderer/src/utils/handleRecieveEncryptedMessage.ts type CallAcceptedMessageWithPayload (line 4) | type CallAcceptedMessageWithPayload = { type CallUserMessageWithPayload (line 11) | type CallUserMessageWithPayload = { type DeviceDetailsMessageWithPayload (line 18) | type DeviceDetailsMessageWithPayload = { type GetAppLanguageMessageWithPayload (line 29) | type GetAppLanguageMessageWithPayload = { type AppLanguageMessageWithPayload (line 34) | type AppLanguageMessageWithPayload = { type DenyToConnectMessageWithPayload (line 41) | type DenyToConnectMessageWithPayload = { type AllowedToConnectMessageWithPayload (line 46) | type AllowedToConnectMessageWithPayload = { type DisconnectByHostMachineUserMessageWithPayload (line 51) | type DisconnectByHostMachineUserMessageWithPayload = { type ProcessedMessage (line 56) | type ProcessedMessage = function handleDeviceIPMessage (line 66) | function handleDeviceIPMessage( FILE: src/renderer/src/utils/message.ts type ProcessedPayload (line 5) | interface ProcessedPayload { FILE: src/renderer/src/utils/showMessageFromNewToaster.ts function showMessageFromNewToaster (line 4) | async function showMessageFromNewToaster( FILE: src/server/Room.d.ts type Room (line 1) | interface Room { FILE: src/server/RoomIDService/index.ts class RoomIDService (line 4) | class RoomIDService { method constructor (line 9) | constructor() { method getSimpleAvailableRoomID (line 15) | getSimpleAvailableRoomID(): Promise { method getShortIDStringOfAvailableRoom (line 31) | getShortIDStringOfAvailableRoom(): Promise { method markRoomIDAsTaken (line 41) | markRoomIDAsTaken(id: string): void { method unmarkRoomIDAsTaken (line 45) | unmarkRoomIDAsTaken(id: string): void { method isRoomIDTaken (line 49) | isRoomIDTaken(id: string): boolean { FILE: src/server/darkwireSocket.ts constant LOCALHOST_SOCKET_IP (line 13) | const LOCALHOST_SOCKET_IP = '127.0.0.1'; type SocketOPTS (line 15) | interface SocketOPTS { function isLocalhostSocket (line 22) | function isLocalhostSocket(socket: Io.Socket) { class Socket (line 27) | class Socket implements SocketOPTS { method constructor (line 36) | constructor(opts: SocketOPTS) { method init (line 51) | async init(): Promise { method sendRoomLocked (line 56) | sendRoomLocked(): void { method saveRoom (line 60) | async saveRoom(room: Room): Promise { method destroyRoom (line 68) | async destroyRoom(): Promise<0 | 1> { method fetchRoom (line 72) | async fetchRoom(): Promise { method joinRoom (line 80) | joinRoom(): Promise { method handleSocket (line 87) | handleSocket(): void { method handleDisconnect (line 206) | async handleDisconnect(socket: Io.Socket): Promise { method disconnectAllUsers (line 237) | disconnectAllUsers(room: Room): void { FILE: src/server/index.ts function setStaticFileHeaders (line 61) | function setStaticFileHeaders( class DeskreenSignalingServer (line 76) | class DeskreenSignalingServer { method constructor (line 93) | constructor() { method init (line 111) | init(): void { method start (line 159) | async start(): Promise { method listenCallback (line 165) | listenCallback() { method callListenOnHttpServer (line 176) | async callListenOnHttpServer(): Promise { method stop (line 234) | stop(): void { FILE: src/server/onDeviceConnectedCallback.ts function onDeviceConnectedCallback (line 7) | function onDeviceConnectedCallback(device: Device): void { FILE: src/server/socketsIPService.ts class SocketsIPService (line 1) | class SocketsIPService { method constructor (line 8) | constructor() { method setIPOfSocketID (line 13) | setIPOfSocketID(id: string, ip: string): void { method setSocketIDOfIP (line 18) | setSocketIDOfIP(ip: string, id: string): void { method getSocketIPByID (line 23) | getSocketIPByID(id: string): string | undefined { method getSocketIDByIP (line 27) | getSocketIDByIP(ip: string): string | undefined { method isIPExists (line 31) | isIPExists(ip: string): boolean { method getInstance (line 35) | static getInstance(): SocketsIPService { FILE: src/server/startPollForInactiveRooms.ts function startPollForInactiveRooms (line 7) | async function startPollForInactiveRooms(): Promise { FILE: src/server/store/MemoryStore.ts type MemoryStoreBucket (line 6) | type MemoryStoreBucket = Record; type MemoryStoreData (line 7) | type MemoryStoreData = Record; type MemoryStoreParams (line 9) | interface MemoryStoreParams { class MemoryStore (line 13) | class MemoryStore implements MemoryStoreParams { method constructor (line 16) | constructor() { method get (line 20) | async get(key: string, field: string): Promise { method getAll (line 28) | async getAll(key: string): Promise { method set (line 32) | async set(key: string, field: string, value: unknown): Promise { method del (line 38) | async del(key: string, field: string): Promise<0 | 1> { method inc (line 47) | async inc(key: string, field: string, inc = 1): Promise { method ensureBucket (line 56) | private ensureBucket(key: string): MemoryStoreBucket { FILE: src/server/store/socketIOServerStore.ts class SocketIOServerStore (line 3) | class SocketIOServerStore { method setServer (line 6) | setServer(server: Io.Server): void { method getServer (line 10) | getServer(): Io.Server {