name: hollow description: "A new Flutter project." # The following line prevents the package from being accidentally published to # pub.dev using `flutter pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 # followed by an optional build number separated by a +. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # In Android, build-name is used as versionName while build-number used as versionCode. # Read more about Android versioning at https://developer.android.com/studio/publish/versioning # In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. version: 0.13.0+60 environment: sdk: ^3.10.4 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions # consider running `flutter pub upgrade --major-versions`. Alternatively, # dependencies can be manually updated by changing the version numbers below to # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: flutter: sdk: flutter lucide_icons_flutter: ^3.1.14 atlas_icons: ^0.0.12 # Content-addressing showcase details assets (sha256, same hex format as # the Rust bundle codec). crypto: ^3.0.3 hollow_core: path: rust_builder flutter_rust_bridge: 2.11.1 freezed_annotation: ^3.1.0 flutter_riverpod: ^2.6.1 window_manager: ^0.5.1 tray_manager: ^0.5.2 local_notifier: ^0.1.6 file_picker: ^10.3.10 # Vendored fork of 0.3.8: adds findChildIndexCallback so chat-list rows # are MOVED across index slots instead of remounted on every new message # (fixes the full-list blink in reverse chat lists). scrollable_positioned_list: path: packages/scrollable_positioned_list flutter_webrtc: path: packages/flutter_webrtc record: ^6.2.0 win32audio: ^1.5.0 audioplayers: ^6.6.0 # Voice messages on Linux capture via libpulse-simple over dart:ffi — # record_linux shells out to `parecord`, absent on PipeWire systems. ffi: ^2.1.0 # Wayland global PTT/mute hotkeys via the org.freedesktop.portal # GlobalShortcuts D-Bus interface (was already transitive via # flutter_local_notifications_linux). dbus: ^0.7.12 # Screen-off when the phone is held to the ear during earpiece calls # (Android needs WAKE_LOCK — already in the manifest; iOS blanks natively # while the events stream is subscribed). proximity_sensor: ^1.3.10 # Keep the screen awake while video/screen share is on screen during calls. # Pinned to 1.5.x: 1.6+ needs win32 ^6 which conflicts with file_picker. wakelock_plus: ^1.5.2 # App lock: fingerprint / Face ID prompt (mobile). local_auth: ^3.0.1 # App lock: holds the lock-type marker + the biometric-released secret # (Android Keystore / iOS Keychain). flutter_secure_storage: ^10.3.1 super_clipboard: ^0.9.1 desktop_drop: ^0.7.0 path: ^1.9.0 # Deep links: receives hollow:// (and later https universal-link) URLs on all # platforms — cold-start initial link + live stream. Windows single-instance # forwarding rides SendAppLinkToInstance in windows/runner/main.cpp. app_links: ^7.2.1 video_player: ^2.11.1 fvp: ^0.35.2 visibility_detector: ^0.4.0+2 url_launcher: ^6.3.2 flutter_markdown_plus: ^1.0.7 path_provider: ^2.1.5 # Pinned BELOW the iOS-SDK-v12 breaking change (firebase_core 4.0 / # firebase_messaging 16.0) to keep the iOS 13 deployment target — core 4.6+ # forces an iOS 15 minimum. We use the CLASSIC (non-UIScene) iOS AppDelegate, # so scene-delegate support (added in messaging 16.1) is not needed: APNs binds # via classic plugin registration. Do NOT bump these without also adopting # UIScene + raising the iOS floor to 15. See ios/Runner/AppDelegate.swift. firebase_core: ^3.15.2 firebase_messaging: ^15.2.10 # Bumped 18→19 to share flutter_local_notifications_platform_interface ^9 with # the Windows plugin below. v19's only breaking changes (dropped # androidAllowWhileIdle, Flutter 3.13 floor) don't touch any path Hollow uses. flutter_local_notifications: ^19.5.0 # Direct dep: the unified flutter_local_notifications facade does NOT route # Windows, so desktop_notification_service.dart talks to the Windows FFI plugin # directly (rich Action Center toasts: avatar + text + Reply). flutter_local_notifications_windows: ^1.0.3 # Referenced directly for the NotificationResponse type the Windows toast # callback delivers (not re-exported by the windows plugin). flutter_local_notifications_platform_interface: ^9.0.0 unifiedpush: 6.2.0 dev_dependencies: flutter_test: sdk: flutter # The "flutter_lints" package below contains a set of recommended lints to # encourage good coding practices. The lint set provided by the package is # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. flutter_lints: ^6.0.0 integration_test: sdk: flutter freezed: ^3.2.5 build_runner: ^2.11.1 flutter_launcher_icons: ^0.14.4 # Android launcher icons. Run scripts/make_app_icons.py first (it renders these # sources from assets/branding/hollow_mark.svg), then: # dart run flutter_launcher_icons # The adaptive foreground is the mark alone; the default 16% inset puts it # inside the 66 dp safe circle. The monochrome layer feeds Android 13+ themed # icons. The background colour is also the launch screen's. flutter_launcher_icons: android: "ic_launcher" # iOS icons come from scripts/make_app_icons.py. ios: false image_path: "assets/hollow_icon_android.png" adaptive_icon_background: "#0B0C10" adaptive_icon_foreground: "assets/hollow_icon_android_foreground.png" adaptive_icon_monochrome: "assets/hollow_icon_android_monochrome.png" # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter packages. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true assets: - assets/app_icon.ico - assets/app_icon_unread.ico - assets/hollow_logo_rounded.png # Whole directory: the UI sound pack (join/leave voice + stream, mute, # notification) lives here alongside the default ringtone. - assets/sounds/ - assets/rust_licenses.txt - assets/extra_licenses.txt - assets/help/manifest.json - assets/help/media/ - legal/PRIVACY_POLICY.md - legal/TERMS_OF_USE.md # Home's What's New reads the changelog of the build it ships in. - changelog.txt # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/to/resolution-aware-images # For details regarding adding assets from package dependencies, see # https://flutter.dev/to/asset-from-package # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 # fonts: # The interface face and the console voice (OFL, licences beside them). # Static instances cut from the variable files, one per weight role # (400/500/600), so no weight is ever synthesised. - family: Onest fonts: - asset: assets/fonts/Onest-400.ttf weight: 400 - asset: assets/fonts/Onest-500.ttf weight: 500 - asset: assets/fonts/Onest-600.ttf weight: 600 - family: GeistMono fonts: - asset: assets/fonts/GeistMono-400.ttf weight: 400 - asset: assets/fonts/GeistMono-500.ttf weight: 500 - family: SimpleIcons fonts: - asset: assets/fonts/SimpleIcons.ttf # Bundled emoji fallback (used on Windows/Linux only): Windows 10's # Segoe UI Emoji stops at Emoji ~12 and shows newer emoji as tofu # boxes; bare Linux installs may have no color emoji font at all. # Windows draws its own vector Segoe UI Emoji first and takes only # flags (NotoColorEmojiFlags) and missing emoji from Noto (#104). # Both files come from scripts/subset_emoji_font.py. Wired up via # kEmojiFontFallback in hollow_typography.dart; macOS/iOS/Android keep # their native emoji fonts. - family: NotoColorEmoji fonts: - asset: assets/fonts/NotoColorEmoji.ttf - family: NotoColorEmojiFlags fonts: - asset: assets/fonts/NotoColorEmojiFlags.ttf