mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-09 05:05:52 +08:00
feat(electron): meeting recording permissions checks (#11505)
fix AF-2472, AF-2446  
This commit is contained in:
@@ -15,8 +15,8 @@ import { beforeAppQuit } from '../cleanup';
|
||||
import { logger } from '../logger';
|
||||
import {
|
||||
appGroups$,
|
||||
checkCanRecordMeeting,
|
||||
checkRecordingAvailable,
|
||||
checkScreenRecordingPermission,
|
||||
MeetingsSettingsState,
|
||||
recordingStatus$,
|
||||
startRecording,
|
||||
@@ -89,7 +89,7 @@ class TrayState implements Disposable {
|
||||
// tray's icon
|
||||
icon: NativeImage = nativeImage
|
||||
.createFromPath(icons.tray)
|
||||
.resize({ width: 16, height: 16 });
|
||||
.resize({ width: 18, height: 18 });
|
||||
|
||||
// tray's tooltip
|
||||
tooltip: string = 'AFFiNE';
|
||||
@@ -142,10 +142,17 @@ class TrayState implements Disposable {
|
||||
|
||||
const getConfig = () => {
|
||||
const items: TrayMenuConfig = [];
|
||||
if (
|
||||
checkScreenRecordingPermission() &&
|
||||
MeetingsSettingsState.value.enabled
|
||||
) {
|
||||
if (!MeetingsSettingsState.value.enabled) {
|
||||
items.push({
|
||||
label: 'Meetings are disabled',
|
||||
disabled: true,
|
||||
});
|
||||
} else if (!checkCanRecordMeeting()) {
|
||||
items.push({
|
||||
label: 'Required permissions not granted',
|
||||
disabled: true,
|
||||
});
|
||||
} else {
|
||||
const appGroups = appGroups$.value;
|
||||
const runningAppGroups = appGroups.filter(
|
||||
appGroup => appGroup.isRunning
|
||||
|
||||
Reference in New Issue
Block a user