Skip to content

Pre 0.0.9#507

Merged
felix-schultz merged 13 commits intoalphafrom
dev
Feb 13, 2026
Merged

Pre 0.0.9#507
felix-schultz merged 13 commits intoalphafrom
dev

Conversation

@felix-schultz
Copy link
Copy Markdown
Member

This pull request introduces several improvements and fixes across the codebase, with a focus on enhancing the developer experience, improving mobile/iOS support, updating dependency configurations for better security and compatibility, and refining UI loading/error states. Notably, the CONTRIBUTING.md has been rewritten for clarity and approachability, and several dependencies have been updated to prefer rustls over native-tls for improved security and cross-platform support.

Dependency and Security Updates

  • Updated multiple dependencies (reqwest, lettre, sea-orm, sentry, markitdown, etc.) in Cargo.toml files across the project to use rustls (a pure Rust TLS implementation) instead of native-tls, and disabled default features where appropriate for smaller, more secure builds. This also includes updating related features for packages like rig-core and markitdown. [1] [2] [3] [4] [5] [6]
  • Added custom [profile.dev] and [profile.dev.package."*"] settings to optimize debug builds and reduce binary size, particularly for Android support.

Developer Experience and Documentation

  • Major rewrite of CONTRIBUTING.md to provide a clearer, more actionable, and beginner-friendly guide. The new version includes a project structure overview, contribution areas, workflow steps, code guidelines for Rust and TypeScript, and improved instructions for bug reporting and feature suggestions.

iOS/Tauri/Desktop App Enhancements

  • Added an IOSWebviewHardening component and improved detection of iOS Tauri environments. Implemented right-edge swipe gesture support for opening the config menu on iOS desktop apps, and added data-desktop-app="true" attributes to the HTML/body for easier targeting. [1] [2] [3] [4] [5]
  • Improved navigation logic and route usability detection for the app, providing more reliable deep linking and fallback behavior.

UI/UX Improvements

  • Enhanced loading and error states in the table view: added a TableViewLoadingState component, improved error messaging for table counts, and ensured loading indicators display appropriately while data is fetched. [1] [2] [3]
  • Minor import and refactoring improvements for code clarity and maintainability.

These changes collectively improve security, cross-platform support, developer onboarding, and end-user experience.

felix-schultz and others added 13 commits February 9, 2026 07:25
…t and improve filename generation

feat(api): enhance profile synchronization to allow media backfill for missing icons and thumbnails

fix(ui): adjust mobile header and sidebar padding for safe area insets

feat(ui): add remote execution support indicators in model cards and detail sheets

style(ui): improve global CSS for iOS Tauri app compatibility and scroll containment

refactor(oauth): streamline OAuth service to handle API proxying for web platforms and improve error handling
…APIs

- Moved the "url" and "path" properties within their respective objects to improve clarity and structure in the desktop and macOS schemas.
- Updated descriptions for "url" and "path" properties to maintain consistency.
- Reintroduced the "ShellScopeEntryAllowedArgs" definition to ensure command argument validation is properly documented and structured.
… components

- Changed sticky top positioning from var(--fl-safe-top) to 0 in PatManagementPage, layout, and runtime-vars page components for consistent behavior.
- Adjusted padding in AppSidebar components to account for safe bottom variable.
- Updated AppSidebar to include safe area insets for mobile devices.
- Modified getProfileBits method to include profile ID in the API call and handle cases where the profile ID is not available.
- Added auth_method configuration to flow-like.config.json for better OAuth flexibility.
- Implemented new route for retrieving profile bits in the API.
- Enhanced OAuth token exchange to support both Basic JSON and Form POST methods based on provider configuration.
- Introduced a new caching mechanism for profile bits retrieval to improve performance.
- Updated UI components to handle new state management for bit selection and chat interfaces.
- Improved styling and layout for mobile headers and sidebars to accommodate safe area insets.
- Added support for Tauri in multiple Cargo.toml files across the project.
- Updated `write_cell.rs` and `write_cell_html.rs` to utilize a cached workbook approach for improved performance and reduced memory usage.
- Implemented `flush_workbook` function to handle workbook saving more efficiently.
- Enhanced `insert_db.rs` to support Arrow-based batch inserts from TDMS files, including new iterator structures for reading TDMS channel data.
- Refined metadata handling in `metadata.rs` to align with the new TDMS library structure.
- Added error handling improvements across ONNX nodes to provide clearer execution failure messages.
- Introduced a safe conversion function in `markitdown.rs` to handle potential panics during document conversion.
- Updated LanceDB integration to support record batch insertion, improving database interaction efficiency.
- Renamed Blog.css to blog.css for consistency.
- Enhanced blog post layout with improved header and content sections.
- Added responsive design adjustments for better viewing on various devices.
- Updated structured data scripts to use inline attributes for better performance.
- Improved accessibility by adding alt text to images.
- Refined tag and RSS feed presentation for clarity and usability.
- Fixed minor CSS issues to ensure consistent styling across blog components.
…lt features

feat: add loading state to TableView component in explore page

feat: enhance package.json scripts for Android development

chore: update @xyflow/react to version 12.10.0 across multiple packages

chore: update blog post for new features and improvements

fix: adjust Cargo.toml for various packages to use rustls variants

fix: modify log aggregation state to include loading state management

style: improve global CSS for safe area insets

refactor: update IMAP and SMTP connections to use tokio-rustls
- Android App Setup
- Fixed IOS App Save Spaces
- Added Data Deletion Page on Website
- Performance Improvements for Embedding, Chunking and Chat
…ot-working-with-old-already-existing-profiles

Fix/493 profile sync on desktop not working with old already existing profiles
Updated README to reflect new features and changes.
"Content-Type": file.type || "application/octet-stream",
};

if (url.includes(".blob.core.windows.net")) {

Check failure

Code scanning / CodeQL

Incomplete URL substring sanitization High

'
.blob.core.windows.net
' can be anywhere in the URL, and arbitrary hosts may come before or after it.

Copilot Autofix

AI about 2 months ago

In general, substring checks on URLs should be replaced with checks on parsed URL components, especially the host. For Azure Blob Storage, you want to confirm that the URL’s host is actually an Azure Blob endpoint (e.g., something.blob.core.windows.net), not that the string appears somewhere in the URL.

The best way to fix this instance without changing functionality is:

  1. Parse the URL with the standard URL constructor (available in browsers).
  2. Extract the hostname.
  3. Check that the hostname ends with .blob.core.windows.net (or equals blob.core.windows.net if you want to include the root, though real blob hosts are usually account.blob.core.windows.net).
  4. Optionally, ensure that there is a valid label before the suffix if you want to avoid accidental matches like blob.core.windows.net with no account name; but commonly an endsWith is enough.

Concretely, in apps/web/app/settings/profiles/page.tsx, within uploadToSignedUrl, replace the if (url.includes(".blob.core.windows.net")) block with logic that:

  • Tries to construct new URL(url), catching any error.
  • If parsing fails, do not set the Azure-specific header.
  • If parsing succeeds, check urlObj.hostname.endsWith(".blob.core.windows.net").
  • Set headers["x-ms-blob-type"] = "BlockBlob"; only when the check passes.

No new external dependencies are required; the URL class is a standard Web API available in this client-side code.

Suggested changeset 1
apps/web/app/settings/profiles/page.tsx

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/apps/web/app/settings/profiles/page.tsx b/apps/web/app/settings/profiles/page.tsx
--- a/apps/web/app/settings/profiles/page.tsx
+++ b/apps/web/app/settings/profiles/page.tsx
@@ -138,8 +138,13 @@
 		"Content-Type": file.type || "application/octet-stream",
 	};
 
-	if (url.includes(".blob.core.windows.net")) {
-		headers["x-ms-blob-type"] = "BlockBlob";
+	try {
+		const parsedUrl = new URL(url);
+		if (parsedUrl.hostname.endsWith(".blob.core.windows.net")) {
+			headers["x-ms-blob-type"] = "BlockBlob";
+		}
+	} catch {
+		// If the URL is invalid, fall through without setting Azure-specific headers.
 	}
 
 	const response = await fetch(url, {
EOF
@@ -138,8 +138,13 @@
"Content-Type": file.type || "application/octet-stream",
};

if (url.includes(".blob.core.windows.net")) {
headers["x-ms-blob-type"] = "BlockBlob";
try {
const parsedUrl = new URL(url);
if (parsedUrl.hostname.endsWith(".blob.core.windows.net")) {
headers["x-ms-blob-type"] = "BlockBlob";
}
} catch {
// If the URL is invalid, fall through without setting Azure-specific headers.
}

const response = await fetch(url, {
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
@felix-schultz felix-schultz merged commit df57379 into alpha Feb 13, 2026
6 of 20 checks passed
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @felix-schultz, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly advances the project's cross-platform capabilities, particularly for mobile environments, by overhauling TLS dependencies and implementing platform-specific UI and deep-linking solutions. It also focuses on improving developer onboarding through updated documentation and refining the user interface with better loading states and chat interactions. Core engine improvements ensure more resilient data handling and expanded node functionality.

Highlights

  • Dependency and Security Updates: Migrated numerous Rust dependencies (e.g., reqwest, lettre, sea-orm, sentry, markitdown) across the codebase to prefer rustls over native-tls for improved security, cross-platform compatibility, and smaller builds. Optimized debug builds with custom [profile.dev] settings to reduce binary size, particularly for Android.
  • Mobile and Desktop App Enhancements: Introduced comprehensive iOS and Android support, including webview hardening for safe area insets, improved deep linking and universal link handling, and gesture-based navigation for iOS Tauri apps. Added Android build configurations and environment setup for LanceDB compatibility.
  • Developer Experience and Documentation: Completely rewrote CONTRIBUTING.md to offer a clearer, more actionable, and beginner-friendly guide for new contributors. Updated website and documentation SEO metadata and added a new 'Data Deletion' policy page.
  • UI/UX Improvements: Enhanced table view loading and error states with a new TableViewLoadingState component and improved error messaging. Refined chat interface message loading, scrolling behavior, and input box styling for a smoother user experience. Added 'Remote' and 'Local only' badges to model cards for better clarity.
  • Core Engine and Node Updates: Refactored LanceDB log flushing and table creation to be more robust, especially on Android, by handling potential file system inconsistencies. Introduced new string utility nodes (Escape String, Unescape String) and enhanced the Replace String node with regex support. Updated TDMS file processing to use tdms-rs and Arrow for batch insertion into vector databases.
Changelog
  • CONTRIBUTING.md
    • Rewrote the entire document to provide a clearer, more actionable, and beginner-friendly guide for contributors.
  • Cargo.lock
    • Updated numerous Rust dependencies to prefer rustls over native-tls for enhanced security and compatibility.
    • Removed several unused or deprecated dependencies including async-native-tls, az, command_attr, error-chain, extended, fixed, mini-moka, postgres-native-tls, pulldown-cmark (old version), skeptic, typesize, and uwl.
    • Added new dependencies der_derive, flagset, tls_codec, tls_codec_derive, tokio-postgres-rustls, and webpki-roots.
    • Updated versions for hyper-tls, datafusion-table-providers, itertools, proc-macro-crate, base64, and tdms (now tdms-rs).
  • Cargo.toml
    • Updated sea-orm feature from runtime-tokio-native-tls to runtime-tokio-rustls.
    • Configured sentry, rig-core, lettre, reqwest, and markitdown to use rustls-tls features and disable default features where appropriate.
    • Added custom [profile.dev] and [profile.dev.package."*"] settings to optimize debug builds and reduce binary size.
  • apps/backend/docker-compose/api/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features.
  • apps/backend/docker-compose/sink-services/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features.
  • apps/backend/kubernetes/executor/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features.
  • apps/desktop/app/layout.tsx
    • Added IOSWebviewHardening component for iOS-specific webview adjustments.
    • Applied data-desktop-app="true" attribute to html and body elements for easier CSS targeting.
  • apps/desktop/app/library/config/explore/page.tsx
    • Implemented TableViewLoadingState to display loading indicators.
    • Improved error messaging for table counts in the UI.
  • apps/desktop/app/library/config/layout.tsx
    • Added detection for iOS Tauri environments.
    • Implemented a right-edge swipe gesture to open the config menu on iOS desktop apps.
    • Refined navigation logic (useAppHref) to provide more reliable deep linking and fallback behavior.
  • apps/desktop/app/onboarding/layout.tsx
    • Updated CSS variables for safe area insets to use --fl-safe-top and --fl-safe-bottom.
  • apps/desktop/app/settings/profiles/page.tsx
    • Modified profile update logic to automatically include created and updated timestamps for hub_profile.
  • apps/desktop/app/store/components/StoreHero.tsx
    • Adjusted styling for the Avatar and ShareButton components.
  • apps/desktop/app/store/components/StoreInfo.tsx
    • Updated button visibility and text for 'Use App', 'Request access', and 'Get' based on app membership and pricing.
  • apps/desktop/app/store/components/useStoreData.ts
    • Implemented useAppHref logic to determine the correct navigation URL for using an app based on available routes and events.
  • apps/desktop/app/store/page.tsx
    • Passed the new canUseApp prop to the StoreInfo component.
  • apps/desktop/app/use/page.tsx
    • Refined deep linking and navigation logic for events and routes, including handling pending queries during redirection.
  • apps/desktop/components/add-profile.tsx
    • Added created and updated timestamps to newly created profiles.
  • apps/desktop/components/app-sidebar.tsx
    • Introduced IOSQuickMenuTrigger component for iOS-specific sidebar access.
    • Updated main and SidebarInset styling to incorporate safe area insets.
    • Implemented a left-edge swipe gesture to open the sidebar on iOS.
  • apps/desktop/components/auth-provider.tsx
    • Updated OIDC callback handling to support universal links and deep links.
    • Added UserManagerContext and AUTH_CHANGED_EVENT for better authentication state management.
    • Implemented invalidate calls for various user states upon authentication changes.
  • apps/desktop/components/ios-webview-hardening.tsx
    • Added a new component to apply iOS webview hardening, including safe area inset handling and viewport height synchronization.
  • apps/desktop/components/tauri-provider.tsx
    • Refined profile image handling logic, including isHttpPath, isAssetProxyPath, and shouldReplaceWithServerImage helpers.
    • Added requestProfileMediaUploadUrls for fallback media uploads when bulk sync doesn't provide URLs.
    • Updated syncProfiles to utilize the new fallback media upload mechanism.
  • apps/desktop/index.html
    • Added an inline script for early safe-area probe on mobile devices to prevent layout shifts.
  • apps/desktop/package.json
    • Added new dev:android-studio, build:android, dev:android, and dev:android:host scripts for Android development.
    • Updated @xyflow/react dependency to version ^12.10.0.
  • apps/desktop/src-tauri/Cargo.toml
    • Added plist dependency for iOS property list manipulation.
    • Updated flow-like-catalog features to include tauri.
    • Configured sentry, serenity, and teloxide to use rustls features and disable default features.
    • Added objc2 dependency specifically for iOS targets.
  • apps/desktop/src-tauri/Info.plist
    • Added CFBundleURLTypes for deep linking support.
    • Included UIViewControllerBasedStatusBarAppearance key for iOS status bar control.
  • apps/desktop/src-tauri/build.rs
    • Implemented logic to dynamically ensure iOS deep link schemes and associated domains are present in Info.plist and entitlements files.
    • Added Android-specific linking for z and log libraries.
  • apps/desktop/src-tauri/gen/android/.editorconfig
    • Added EditorConfig file for consistent code style in Android generated files.
  • apps/desktop/src-tauri/gen/android/.gitignore
    • Added .gitignore file for Android generated files.
  • apps/desktop/src-tauri/gen/android/app/.gitignore
    • Added .gitignore file for Android app generated files.
  • apps/desktop/src-tauri/gen/android/app/build.gradle.kts
    • Added Gradle build script for the Android application.
  • apps/desktop/src-tauri/gen/android/app/proguard-rules.pro
    • Added ProGuard rules for Android app optimization.
  • apps/desktop/src-tauri/gen/android/app/src/main/AndroidManifest.xml
    • Added AndroidManifest.xml with necessary permissions, application settings, and deep link intent filters.
  • apps/desktop/src-tauri/gen/android/app/src/main/java/com/flow_like/app/MainActivity.kt
    • Added MainActivity.kt for Android, including environment variable setup, window insets handling, and a JavascriptInterface for webview hardening.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
    • Added foreground drawable for Android launcher icon.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml
    • Added background drawable for Android launcher icon.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml
    • Added main activity layout for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
    • Added adaptive launcher icon XML for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
    • Added adaptive round launcher icon XML for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/values-night/themes.xml
    • Added night mode themes for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/values/colors.xml
    • Added color definitions for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/values/strings.xml
    • Added string resources for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/values/themes.xml
    • Added themes for Android.
  • apps/desktop/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml
    • Added file paths XML for Android FileProvider.
  • apps/desktop/src-tauri/gen/android/build.gradle.kts
    • Added root Gradle build script for Android.
  • apps/desktop/src-tauri/gen/android/buildSrc/build.gradle.kts
    • Added buildSrc Gradle build script for Android.
  • apps/desktop/src-tauri/gen/android/buildSrc/src/main/java/com/flow_like/app/kotlin/BuildTask.kt
    • Added Kotlin build task for Rust integration in Android.
  • apps/desktop/src-tauri/gen/android/buildSrc/src/main/java/com/flow_like/app/kotlin/RustPlugin.kt
    • Added Kotlin Rust plugin for Android Gradle.
  • apps/desktop/src-tauri/gen/android/gradle.properties
    • Added Gradle properties file for Android.
  • apps/desktop/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties
    • Added Gradle wrapper properties for Android.
  • apps/desktop/src-tauri/gen/android/gradlew
    • Added gradlew script for Android.
  • apps/desktop/src-tauri/gen/android/gradlew.bat
    • Added gradlew.bat script for Android.
  • apps/desktop/src-tauri/gen/android/settings.gradle
    • Added settings.gradle for Android.
  • apps/desktop/src-tauri/gen/apple/flow-like-desktop_iOS/Info.plist
    • Bumped version to 0.0.9.
    • Added UIViewControllerBasedStatusBarAppearance for iOS status bar control.
    • Included CFBundleURLTypes for deep linking support.
  • apps/desktop/src-tauri/gen/apple/flow-like-desktop_iOS/flow-like-desktop_iOS.entitlements
    • Added com.apple.developer.associated-domains for universal links.
  • apps/desktop/src-tauri/src/deeplink.rs
    • Extended deep link handling to support universal links (https://app.flow-like.com/...) for various commands (callback, thirdparty, trigger, store, join).
  • apps/desktop/src-tauri/src/event_bus.rs
    • Modified LogMeta::flush to accept write_options for LanceDB, improving flexibility.
    • Added HOME environment variable fallback for event_bus_dir on Android.
  • apps/desktop/src-tauri/src/functions/app/tables.rs
    • Added write_options to LanceDBVectorStore creation for Android compatibility.
  • apps/desktop/src-tauri/src/functions/flow/run.rs
    • Modified LogMeta::flush to accept write_options for LanceDB.
  • apps/desktop/src-tauri/src/functions/settings/profiles.rs
    • Introduced decode_asset_proxy_path and now_iso helper functions.
    • Updated profile bit management to include updated timestamps.
    • Modified read_profile_icon and get_profile_icon_path to correctly handle asset proxy paths.
  • apps/desktop/src-tauri/src/lib.rs
    • Implemented iOS webview hardening functions (harden_ios_webview_scroll, IOS_SAFE_AREA_JS) to improve UI behavior.
    • Added Android environment setup and storage path initialization.
    • Updated Sentry initialization logic to defer on mobile platforms for better startup performance.
  • apps/desktop/src-tauri/src/settings.rs
    • Extended app_data_root, app_cache_root, default_logs_dir, default_temporary_dir, ensure_app_dirs, and settings_store_path to properly support Android.
  • apps/desktop/src-tauri/tauri.conf.json
    • Bumped application version to 0.0.9.
    • Configured deep-link plugin to support HTTPS universal links on mobile.
  • apps/docs/astro.config.mjs
    • Updated documentation site title and description for better clarity.
    • Added robots meta tag for SEO control.
  • apps/docs/public/robots.txt
    • Added a robots.txt file to control search engine crawling.
  • apps/docs/src/pages/index.astro
    • Updated the title and description for the documentation homepage.
  • apps/embedded/package.json
    • Updated @xyflow/react dependency to version ^12.10.0.
  • apps/web/app/layout.tsx
    • Updated meta tags (title, description, keywords, alternates, robots) for improved SEO and web app discoverability.
  • apps/web/app/library/config/events/page.tsx
    • Modified oauthService to be dynamically retrieved based on the user's profile hub.
  • apps/web/app/library/config/explore/page.tsx
    • Implemented TableViewLoadingState to display loading indicators.
    • Improved error messaging for table counts in the UI.
  • apps/web/app/library/config/layout.tsx
    • Refined useAppHref logic to accurately determine app usability and navigation paths.
  • apps/web/app/library/config/pages/page.tsx
    • Modified oauthService to be dynamically retrieved based on the user's profile hub.
  • apps/web/app/robots.ts
    • Added a robots.ts file for Next.js to generate robots.txt.
  • apps/web/app/settings/profiles/page.tsx
    • Implemented image upload functionality for profile icons and thumbnails, including file picking and signed URL uploads.
  • apps/web/app/sitemap.ts
    • Added a sitemap.ts file for Next.js to generate a sitemap.
  • apps/web/app/store/components/StoreInfo.tsx
    • Updated button visibility and text for 'Use App', 'Request access', and 'Get' based on app membership and pricing.
  • apps/web/app/store/components/useStoreData.ts
    • Implemented useAppHref logic to determine the correct navigation URL for using an app based on available routes and events.
  • apps/web/app/store/page.tsx
    • Passed the new canUseApp prop to the StoreInfo component.
  • apps/web/app/use/page.tsx
    • Refined deep linking and navigation logic for events and routes, including handling pending queries during redirection.
  • apps/web/components/app-sidebar.tsx
    • Updated main styling to incorporate safe area insets.
  • apps/web/components/oauth-callback-handler.tsx
    • Modified oauthService to be dynamically retrieved based on the pending authentication's API base URL.
  • apps/web/lib/oauth-service.ts
    • Added normalizeApiBaseUrl, getDefaultOAuthApiBaseUrl, and getOAuthApiBaseUrl functions for consistent URL handling.
    • Modified createOAuthService to dynamically resolve API base URLs and proxy requests based on platform and provider configuration.
  • apps/web/lib/web-states/bit-state.ts
    • Updated getProfileBits to fetch bits specifically for a given profile ID.
  • apps/web/lib/web-states/board-state.ts
    • Modified oauthService to be dynamically retrieved based on the user's profile hub.
    • Updated the copilot chat API endpoint URL.
  • apps/web/lib/web-states/event-state.ts
    • Modified oauthService to be dynamically retrieved based on the user's profile hub.
  • apps/web/package.json
    • Updated @xyflow/react dependency to version ^12.10.0.
  • apps/web/public/.well-known/apple-app-site-association
    • Added Apple App Site Association file for universal links on iOS.
  • apps/web/public/.well-known/assetlinks.json
    • Added Asset Links file for Android App Links.
  • apps/web/public/_headers
    • Added _headers file to ensure correct content types for well-known files.
  • apps/website/astro.config.mjs
    • Expanded supported locales to include zh, ja, ko, pt, it, nl, sv.
    • Removed sitemap() integration, likely handled by robots.txt now.
  • apps/website/public/robots.txt
    • Added a robots.txt file to control search engine crawling.
  • apps/website/src/components/24h/Solution24h.astro
    • Integrated SEO helper functions (buildAlternateLinks, getOgLocale) for improved metadata generation.
  • apps/website/src/components/backend-provider.tsx
    • Expanded EmptyBackend to include more unavailable states (apiState, apiKeyState, widgetState, pageState, registryState) for clarity.
    • Improved error handling and loading for EmptyBackendProvider.
  • apps/website/src/components/blog-footer.tsx
    • Added a 'Data Deletion' link to the blog footer.
  • apps/website/src/components/compare/ComparePage.astro
    • Integrated SEO helper functions (buildAlternateLinks, getOgLocale) for improved metadata generation.
  • apps/website/src/components/data-deletion/DataDeletionPage.astro
    • Added new Astro component for the Data Deletion policy page.
  • apps/website/src/components/download/DownloadPage.astro
    • Integrated SEO helper functions (buildAlternateLinks) for improved metadata generation.
  • apps/website/src/components/download/Hero.astro
    • Updated download button text to include 'Studio' for clarity.
  • apps/website/src/components/footer.tsx
    • Added a 'Data Deletion' link to the main footer.
  • apps/website/src/components/header.tsx
    • Added an 'Open Web App' button and updated the 'Download Studio' button in the header.
  • apps/website/src/components/post-card.astro
    • Removed default underline styling from links within post cards.
  • apps/website/src/components/pricing/PricingPage.astro
    • Integrated SEO helper functions (buildAlternateLinks, getOgLocale) for improved metadata generation.
  • apps/website/src/components/reading.astro
    • Added descriptive alt text for image thumbnails.
  • apps/website/src/content/blog/2026-02-11-flow-like-on-your-phone.mdx
    • Added a new blog post titled 'Your Workflow Engine Runs on Your Phone. No, Really.' detailing mobile capabilities.
  • apps/website/src/content/blog/2026-02-26-alpha-0-0-9.mdx
    • Updated the content of the alpha 0.0.9 blog post with new sections on Android Build, Node Updates, and UI/UX Improvements.
  • apps/website/src/i18n/locales/en.ts
    • Updated meta title and description for improved SEO.
    • Revised hero section headlines and descriptions for better messaging.
  • apps/website/src/i18n/locales/pages/common-de.ts
    • Added 'Datenlöschung' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-en.ts
    • Added 'Data Deletion' translation to the footer.
  • apps/website/src/i18n/locales/pages/common-es.ts
    • Added 'Eliminación de datos' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-fr.ts
    • Added 'Suppression des données' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-it.ts
    • Added 'Cancellazione dei dati' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-ja.ts
    • Added 'データ削除' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-ko.ts
    • Added '데이터 삭제' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-nl.ts
    • Added 'Gegevens verwijderen' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-pt.ts
    • Added 'Exclusão de dados' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-sv.ts
    • Added 'Radering av data' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/common-zh.ts
    • Added '数据删除' (Data Deletion) translation to the footer.
  • apps/website/src/i18n/locales/pages/data-deletion-de.ts
    • Added German translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-en.ts
    • Added English translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-es.ts
    • Added Spanish translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-fr.ts
    • Added French translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-it.ts
    • Added Italian translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-ja.ts
    • Added Japanese translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-ko.ts
    • Added Korean translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-nl.ts
    • Added Dutch translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-pt.ts
    • Added Portuguese translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-sv.ts
    • Added Swedish translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion-zh.ts
    • Added Chinese translations for the Data Deletion page.
  • apps/website/src/i18n/locales/pages/data-deletion.ts
    • Added new translation file for the Data Deletion page, consolidating translations across languages.
  • apps/website/src/i18n/locales/pages/index.ts
    • Exported new Data Deletion page translations.
  • apps/website/src/layouts/Blog-Layout.astro
    • Implemented extensive SEO improvements including dynamic meta tags, structured data, alternate links, and image alt text.
    • Adjusted robots meta tag for better crawling control.
    • Removed article from prose selectors in styling.
  • apps/website/src/layouts/home-layout.astro
    • Changed structured data scripts to use is:inline set:html for better performance.
  • apps/website/src/lib/seo.ts
    • Added a new utility file for SEO-related functions, including locale handling and alternate link generation.
  • apps/website/src/pages/blog/[slug].astro
    • Updated blog post layout and styling for improved readability and presentation.
  • apps/website/src/pages/callback.astro
    • Updated deep link handling to prioritize iOS universal links and provide a fallback to legacy deep links.
  • apps/website/src/pages/data-deletion.astro
    • Added new Astro page for the English Data Deletion policy.
  • apps/website/src/pages/de/data-deletion.astro
    • Added new Astro page for the German Data Deletion policy.
  • apps/website/src/pages/de/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/desktop/callback.astro
    • Updated deep link handling to prioritize iOS universal links and provide a fallback to legacy deep links.
  • apps/website/src/pages/es/data-deletion.astro
    • Added new Astro page for the Spanish Data Deletion policy.
  • apps/website/src/pages/es/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/fr/data-deletion.astro
    • Added new Astro page for the French Data Deletion policy.
  • apps/website/src/pages/fr/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/index.astro
    • Updated SEO constants for the homepage.
    • Added ldFaqPage structured data for FAQ section.
  • apps/website/src/pages/it/data-deletion.astro
    • Added new Astro page for the Italian Data Deletion policy.
  • apps/website/src/pages/it/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/ja/data-deletion.astro
    • Added new Astro page for the Japanese Data Deletion policy.
  • apps/website/src/pages/ja/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/ko/data-deletion.astro
    • Added new Astro page for the Korean Data Deletion policy.
  • apps/website/src/pages/ko/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/nl/data-deletion.astro
    • Added new Astro page for the Dutch Data Deletion policy.
  • apps/website/src/pages/nl/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/pt/data-deletion.astro
    • Added new Astro page for the Portuguese Data Deletion policy.
  • apps/website/src/pages/pt/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/rss.xml.js
    • Updated RSS feed title, description, and link format for blog posts.
  • apps/website/src/pages/sv/data-deletion.astro
    • Added new Astro page for the Swedish Data Deletion policy.
  • apps/website/src/pages/sv/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/pages/tags/[tag].astro
    • Updated tag page layout and styling for improved presentation.
  • apps/website/src/pages/tags/index.astro
    • Updated tags page layout and styling for improved presentation.
  • apps/website/src/pages/thirdparty/callback.astro
    • Updated deep link handling to prioritize iOS universal links and provide a fallback to legacy deep links.
  • apps/website/src/pages/zh/data-deletion.astro
    • Added new Astro page for the Chinese Data Deletion policy.
  • apps/website/src/pages/zh/index.astro
    • Updated structured data scripts to use is:inline set:html.
  • apps/website/src/styles/blog.css
    • Removed article from some CSS selectors to simplify styling.
  • bun.lock
    • Updated @types/bun to 1.3.9.
    • Updated @xyflow/react to 12.10.0.
  • flow-like.config.json
    • Added auth_method configuration for Notion OAuth provider.
  • package.json
    • Added new build:android script for building Android applications.
  • packages/api/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features and disable default features.
  • packages/api/src/openapi.rs
    • Added get_profile_bits to the OpenAPI specification.
  • packages/api/src/routes/oauth.rs
    • Refactored OAuth routes to include AuthMethod enum for handling different authentication methods.
    • Added new endpoints for device authorization flow (device_start, device_poll), user info retrieval (userinfo), and token revocation (revoke_token).
    • Consolidated error handling and response parsing for OAuth operations.
  • packages/api/src/routes/profile.rs
    • Added get_profile_bits module.
    • Refined generate_upload_url, delete_old_image, and sign_profile_image functions to handle .webp conversion and asset proxy paths correctly.
  • packages/api/src/routes/profile/get_profile_bits.rs
    • Added a new API endpoint to retrieve profile-specific bits with pagination and language filtering.
  • packages/api/src/routes/profile/sync_profiles.rs
    • Implemented logic to backfill profile media (icons and thumbnails) if they are missing on the server but present locally, even if the profile timestamp indicates no update.
  • packages/catalog/Cargo.toml
    • Added tauri feature for flow-like-catalog-llm.
  • packages/catalog/core/Cargo.toml
    • Added tauri feature for flow-like.
  • packages/catalog/data/Cargo.toml
    • Replaced tdms dependency with tdms-rs.
    • Updated postgres and mysql features to use rustls variants for datafusion-table-providers.
  • packages/catalog/data/src/data/db/vector.rs
    • Added write_options to LanceDBVectorStore creation for Android compatibility.
  • packages/catalog/data/src/data/db/vector/list_tables.rs
    • Added write_options to LanceDBVectorStore creation for Android compatibility.
  • packages/catalog/data/src/data/excel.rs
    • Introduced CachedExcelWorkbook enum to manage Excel workbooks in execution context.
    • Added helper functions get_or_open_workbook and flush_workbook for efficient caching and persistence of Excel files.
  • packages/catalog/data/src/data/excel/copy_worksheet.rs
    • Updated node logic to utilize CachedExcelWorkbook for copying worksheets.
  • packages/catalog/data/src/data/excel/insert_column.rs
    • Updated node logic to utilize CachedExcelWorkbook for inserting columns.
  • packages/catalog/data/src/data/excel/insert_row.rs
    • Updated node logic to utilize CachedExcelWorkbook for inserting rows.
  • packages/catalog/data/src/data/excel/new_worksheet.rs
    • Updated node logic to utilize CachedExcelWorkbook for creating new worksheets.
  • packages/catalog/data/src/data/excel/read_cell.rs
    • Updated node logic to utilize CachedExcelWorkbook and handle both umya_spreadsheet and calamine data types for reading cells.
  • packages/catalog/data/src/data/excel/remove_column.rs
    • Updated node logic to utilize CachedExcelWorkbook for removing columns.
  • packages/catalog/data/src/data/excel/remove_row.rs
    • Updated node logic to utilize CachedExcelWorkbook for removing rows.
  • packages/catalog/data/src/data/excel/write_cell.rs
    • Updated node logic to utilize CachedExcelWorkbook for writing cell values.
  • packages/catalog/data/src/data/excel/write_cell_html.rs
    • Updated node logic to utilize CachedExcelWorkbook for writing HTML content to cells.
  • packages/catalog/data/src/data/tdms/insert_db.rs
    • Rewrote the TDMS batch insert node to use tdms-rs for reading and Arrow for efficient batch insertion into LanceDB.
    • Implemented TdmsSourceFile, TdmsValueIter, TdmsStringIter, TdmsScalar, and TdmsColumnBuffer for robust TDMS data processing.
  • packages/catalog/data/src/data/tdms/metadata.rs
    • Updated TDMS metadata extraction to use tdms-rs for improved compatibility and functionality.
  • packages/catalog/llm/Cargo.toml
    • Added tauri feature for flow-like-catalog-core.
  • packages/catalog/llm/src/embedding/text/chunk_text.rs
    • Wrapped text splitting operations in tokio::task::spawn_blocking to prevent blocking the async runtime.
  • packages/catalog/llm/src/embedding/text/chunk_text_char.rs
    • Wrapped character-based text splitting operations in tokio::task::spawn_blocking.
  • packages/catalog/llm/src/llm/find_llm.rs
    • Added an only_hosted filter to get_best_model_filtered for mobile targets, ensuring only hosted models are considered.
  • packages/catalog/onnx/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features and disable default features.
  • packages/catalog/onnx/src/batch.rs
    • Changed error message to use flow_like_types::anyhow for consistency.
  • packages/catalog/onnx/src/ocr.rs
    • Changed error messages to use flow_like_types::anyhow for consistency.
  • packages/catalog/onnx/src/utils.rs
    • Changed error messages to use flow_like_types::anyhow for consistency.
  • packages/catalog/processing/src/markitdown.rs
    • Added safe_convert_bytes function to safely call markitdown conversion, catching potential panics.
  • packages/catalog/std/src/control/while_loop.rs
    • Added trigger_missing_dependencies call inside the while loop to ensure all dependencies are met before each iteration.
  • packages/catalog/std/src/utils/string.rs
    • Added new modules escape and unescape for string manipulation.
  • packages/catalog/std/src/utils/string/escape.rs
    • Added a new node for escaping special characters in a string.
  • packages/catalog/std/src/utils/string/replace.rs
    • Added an is_regex input pin to allow pattern to be treated as a regular expression for replacement.
  • packages/catalog/std/src/utils/string/unescape.rs
    • Added a new node for unescaping special character sequences in a string.
  • packages/catalog/web/Cargo.toml
    • Replaced async-native-tls with tokio-rustls, rustls-pki-types, and webpki-roots for TLS handling.
    • Updated serenity and teloxide features to use rustls_backend for secure connections.
  • packages/catalog/web/src/mail/imap.rs
    • Switched from async_native_tls to tokio_rustls for IMAP TLS connections.
    • Introduced NoVerifier for handling invalid certificates in tokio_rustls.
  • packages/catalog/web/src/mail/smtp.rs
    • Switched from async_native_tls to tokio_rustls for SMTP TLS connections.
  • packages/core/src/flow/execution.rs
    • Modified LogMeta::flush to accept write_options for LanceDB, enabling Android-specific write behaviors.
    • Improved LanceDB table creation and insertion logic with retries and error handling for potential corruption.
  • packages/core/src/state.rs
    • Added lance_write_options to FlowLikeCallbacks to allow custom LanceDB write options.
    • Introduced register_lance_write_options method to set these options.
  • packages/core/src/utils/cache.rs
    • Added HOME environment variable fallback for get_cache_dir to improve compatibility on Android.
  • packages/core/src/utils/http.rs
    • Changed reqwest::Client to OnceLock<reqwest::Client> for lazy initialization, avoiding early network calls on iOS.
  • packages/executor/Cargo.toml
    • Added tauri feature for flow-like-catalog.
    • Updated reqwest dependency to use rustls-tls features and disable default features.
  • packages/executor/src/execute.rs
    • Modified LogMeta::flush to accept write_options for LanceDB.
  • packages/executor/src/streaming.rs
    • Modified LogMeta::flush to accept write_options for LanceDB.
  • packages/model-provider/Cargo.toml
    • Extended cfg for ort and fastembed dependencies to include android target, disabling binary downloads for mobile platforms.
  • packages/storage/Cargo.toml
    • Added lance-io and lance dependencies for improved LanceDB integration.
    • Added async-trait workspace dependency.
  • packages/storage/src/android_store.rs
    • Added a new module android_store containing AndroidSafeObjectStore and android_write_options.
    • These components provide Android-specific file system handling to mitigate SELinux hard_link issues in LanceDB.
  • packages/storage/src/databases/vector/lancedb.rs
    • Added write_options field to LanceDBVectorStore to allow custom write configurations.
    • Implemented insert_record_batch method for efficient batch insertion of Arrow RecordBatches.
  • packages/storage/src/files/store/local_store.rs
    • Added android_safe flag to LocalObjectStore to enable Android-specific behavior.
    • Modified put_opts, copy_if_not_exists, and rename_if_not_exists to handle PutMode::Create and hard_link issues on Android by using existence checks and overwrites/renames.
  • packages/storage/src/lib.rs
    • Added android_store module and re-exported lance and lance_io.
  • packages/types/Cargo.toml
    • Updated reqwest dependency to use rustls-tls features and disable default features.
  • packages/ui/components/flow/flow-pin/variable-types/bit-select.tsx
    • Updated BitVariable to fetch profile bits only when the select dropdown is open, improving performance.
    • Modified SelectItem to display the bit's name directly instead of using BitRender.
  • packages/ui/components/flow/flow-runs.tsx
    • Added a loading state indicator for flow runs.
  • packages/ui/components/interfaces/chat-default.tsx
    • Implemented a loading state for messages in the chat interface.
    • Refined message handling and subscription logic for better responsiveness.
  • packages/ui/components/interfaces/chat-default/chat.tsx
    • Integrated useTransition for smoother message updates.
    • Implemented state reset logic when switching chat sessions.
    • Adjusted styling for safe area insets to improve mobile layout.
  • packages/ui/components/interfaces/chat-default/chatbox.tsx
    • Minor UI adjustments to the chatbox, including placeholder text, row count, and padding.
  • packages/ui/components/interfaces/chat-default/message.tsx
    • Improved message content height calculation and toggle visibility for better user experience.
  • packages/ui/components/pages/home/tutorial-dialog.tsx
    • Updated padding for safe area insets to use --fl-safe-bottom.
  • packages/ui/components/ui/model-card.tsx
    • Added canRunRemotely and isEmbeddingModel props to model cards.
    • Introduced new badges for 'Remote' and 'Local only' models for clearer identification.
  • packages/ui/components/ui/model-detail-sheet.tsx
    • Added new badges for 'Remote' and 'Local only' models in the model detail sheet.
  • packages/ui/components/ui/sidebar.tsx
    • Updated sidebar styling to incorporate safe area insets (--fl-safe-top, --fl-safe-bottom).
  • packages/ui/global.css
    • Added new CSS variables (--fl-safe-top, --fl-safe-bottom) for consistent safe area inset handling.
    • Implemented desktop app hardening styles for improved mobile responsiveness and scroll containment.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is a substantial pull request that prepares for the v0.0.9 release, introducing significant improvements across the board. The migration from native-tls to rustls enhances security and cross-platform compatibility. There are major advancements in mobile support, particularly for iOS with robust handling of webview safe areas and deep linking, and the introduction of a full Android project. The developer documentation has been impressively rewritten for clarity. I've also noted several key reliability improvements, such as moving blocking operations to dedicated threads and adding better error handling for database operations on mobile. My review identifies a critical placeholder in the Android configuration that needs to be addressed, a potential breaking change in one of the nodes, and a couple of opportunities for code refinement.

Comment on lines +1 to +14
[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.flow-like.app",
"sha256_cert_fingerprints": [
"REPLACE_WITH_RELEASE_CERT_SHA256_FINGERPRINT"
]
}
}
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The sha256_cert_fingerprints contains a placeholder value. For Android App Links to function correctly in a production environment, this must be replaced with the actual SHA256 fingerprint of your release signing certificate. Without the correct fingerprint, the operating system will not be able to verify the association between your website and your Android app.

Comment on lines +566 to 568
let flat_results: Vec<DocumentPage> = all_results.into_iter().flatten().collect();
context.set_pin_value("results", json!(flat_results)).await?;
context.activate_exec_pin("exec_out").await?;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This change flattens the list of document pages from Vec<Vec<DocumentPage>> to Vec<DocumentPage>. While this is a good improvement for usability, it represents a breaking change for the ExtractDocumentsNode. Any existing flows that use this node and expect a nested list structure for the results output pin will fail. Please ensure this change is clearly communicated in the release notes.

## 🔐 Security Issues

For sensitive security bugs, please **do not open a public issue**. Instead, report privately to \[[security@great-co.de](mailto:security@great-co.de)].
For security vulnerabilities, please **do not open a public issue**. Report privately to [security@good-co.de](mailto:security@good-co.de). See [SECURITY.md](./SECURITY.md) for details.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a typo in the security email address. The previous version used security@great-co.de, and this has been changed to security@good-co.de. Please verify and correct the email address to ensure security reports are routed correctly.

Comment on lines +227 to +241
const isIosTauri = useMemo(() => {
if (typeof window === "undefined" || typeof navigator === "undefined") {
return false;
}

const isTauri =
"__TAURI__" in (window as any) ||
"__TAURI_IPC__" in (window as any) ||
"__TAURI_INTERNALS__" in (window as any);
const isIOS =
/iPad|iPhone|iPod/.test(navigator.userAgent) ||
(navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1);

return isTauri && isIOS;
}, []);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The logic to determine if the app is running in a Tauri environment on iOS is duplicated here and in apps/desktop/components/app-sidebar.tsx. To improve maintainability and avoid potential inconsistencies, consider extracting this logic into a shared custom hook, for example, useIsIosTauri().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants