mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-30 00:29:46 +08:00
899ffd1ad3
fix AF-2692 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added comprehensive Windows support for audio and application capture, including real-time microphone usage detection, combined microphone and system audio recording, and application state monitoring. - The "meetings" setting is now enabled on Windows as well as macOS. - Conditional UI styling and attributes introduced for Windows environments in the Electron renderer. - **Bug Fixes** - Enhanced file path handling and validation for Windows in Electron file requests. - **Refactor** - Unified application info handling across platforms by consolidating types into a single `ApplicationInfo` structure. - Updated native module APIs by removing deprecated types, refining method signatures, and improving error messages. - Streamlined audio tapping APIs to use process IDs and consistent callback types. - **Documentation** - Added detailed documentation for the Windows-specific audio recording and microphone listener modules. - **Chores** - Updated development dependencies in multiple packages. - Reorganized and added platform-specific dependencies and configuration for Windows support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> #### PR Dependency Tree * **PR #12615** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) --------- Co-authored-by: LongYinan <lynweklm@gmail.com>
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { ThemeProvider } from '@affine/core/components/theme-provider';
|
|
import { configureElectronStateStorageImpls } from '@affine/core/desktop/storage';
|
|
import { configureDesktopApiModule } from '@affine/core/modules/desktop-api';
|
|
import { configureI18nModule, I18nProvider } from '@affine/core/modules/i18n';
|
|
import { configureStorageModule } from '@affine/core/modules/storage';
|
|
import { configureEssentialThemeModule } from '@affine/core/modules/theme';
|
|
import { appInfo } from '@affine/electron-api';
|
|
import { Framework, FrameworkRoot } from '@toeverything/infra';
|
|
|
|
import * as styles from './app.css';
|
|
import { Recording } from './recording';
|
|
|
|
const framework = new Framework();
|
|
configureI18nModule(framework);
|
|
configureEssentialThemeModule(framework);
|
|
configureStorageModule(framework);
|
|
configureElectronStateStorageImpls(framework);
|
|
configureDesktopApiModule(framework);
|
|
const frameworkProvider = framework.provider();
|
|
|
|
const mode = appInfo?.windowName as 'notification' | 'recording';
|
|
|
|
export function App() {
|
|
return (
|
|
<FrameworkRoot framework={frameworkProvider}>
|
|
<ThemeProvider>
|
|
<I18nProvider>
|
|
<div className={styles.root} data-is-windows={environment.isWindows}>
|
|
{mode === 'recording' && <Recording />}
|
|
</div>
|
|
</I18nProvider>
|
|
</ThemeProvider>
|
|
</FrameworkRoot>
|
|
);
|
|
}
|