### Install macOS Development Environment Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-macos.md Execute the setup script to install necessary development tools for macOS, including Rust, which is a requirement for AppFlowy. ```bash ./frontend/scripts/install_dev_env/install_macos.sh ``` -------------------------------- ### Install Git on Ubuntu Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Install the Git version control system on Ubuntu using the apt package manager if it is not already installed. ```bash sudo apt install git ``` -------------------------------- ### Start Development Server Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/web-setup/README.md Run this command to start the AppFlowy Web development server. ```bash pnpm run dev ``` -------------------------------- ### Build and Start Production Server Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/web-setup/README.md Commands to build the project for production and then start the production server. ```bash pnpm run build pnpm run start ``` -------------------------------- ### Install Git on Fedora Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Install the Git version control system on Fedora using the dnf package manager if it is not already installed. ```bash sudo dnf install git ``` -------------------------------- ### Install Tokio-Console Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/profiling.md Install the tokio-console tool globally using cargo. ```shell cargo install --locked tokio-console ``` -------------------------------- ### Example of Persistent PATH Configuration Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md An example of how to configure the Flutter SDK path in the .bashrc file. ```shell export PATH="$PATH:~/projectfolder/flutter/bin" ``` -------------------------------- ### Install Dependencies with pnpm Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/web-setup/README.md Install project dependencies using pnpm. Ensure pnpm is installed globally first if necessary. ```bash pnpm install ``` -------------------------------- ### Install System Prerequisites on Fedora Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Installs necessary packages for building AppFlowy on Fedora systems. ```bash sudo dnf install sqlite-devel keybinder3-devel clang cmake ninja-build openssl-devel ``` -------------------------------- ### Install Git on Arch Linux Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Install the Git version control system on Arch Linux using the pacman package manager if it is not already installed. ```bash sudo pacman -S git ``` -------------------------------- ### Install System Prerequisites on Ubuntu Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Installs essential packages required for building AppFlowy on Ubuntu systems. ```bash sudo apt-get install curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev unzip libkeybinder-3.0-dev libnotify-dev ``` -------------------------------- ### Install iOS Development Environment Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/software-contributions/environment-setup/building-on-ios.md Execute this script to install Rust and other necessary dependencies for iOS development. ```bash ./frontend/scripts/install_dev_env/install_ios.sh ``` -------------------------------- ### Install Necessary Packages Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md Installs essential packages required for Flutter development on Linux. ```shell sudo apt install curl file git unzip xz-utils zip libglu1-mesa clang cmake \ ninja-build pkg-config libgtk-3-dev ``` -------------------------------- ### Check Perl Installation Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Verify that Perl has been successfully installed by checking its version. ```shell perl --version ``` -------------------------------- ### Install jq on Ubuntu Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Installs the 'jq' package, which may be a missing prerequisite for asdf on some Ubuntu distributions. ```bash sudo apt install jq ``` -------------------------------- ### Install Diesel CLI Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/database.md Installs the Diesel command-line interface tool with SQLite support. Ensure you have Rust and Cargo installed. ```shell cargo install diesel_cli --no-default-features --features sqlite ``` -------------------------------- ### Install Rust Toolchain Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Install the stable Rust toolchain using rustup, specifying the default host for Windows MSVC. ```shell .\rustup-init.exe --default-toolchain stable --default-host x86_64-pc-windows-msvc -y ``` -------------------------------- ### Install System Prerequisites on Arch Linux Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Installs required packages for building AppFlowy on Arch Linux. ```bash sudo pacman -S curl base-devel sqlite openssl clang cmake ninja pkg-config gtk3 unzip libkeybinder3 xdg-user-dirs ``` -------------------------------- ### Install AppFlowy Dev Tools Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/tauri-setup.md Install development tools for AppFlowy's Tauri frontend. This involves navigating to the frontend directory, installing global pnpm, and then installing project dependencies. ```shell cd AppFlowy/frontend cargo make appflowy-tauri-deps-tools cd appflowy_tauri npm install -g pnpm pnpm install ``` -------------------------------- ### Check protoc-gen-dart Installation Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/troubleshooting.md Verify if the protoc-gen-dart executable is installed and accessible in your system's PATH. ```shell which protoc-gen-dart ``` -------------------------------- ### Check Flutter Version Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md Verifies the Flutter installation by displaying the installed version. ```shell flutter --version ``` -------------------------------- ### Run AppFlowy Linux Development Environment Setup Script Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Executes the setup script for the Linux development environment from the AppFlowy base directory and sources the bashrc to apply changes. ```bash cd AppFlowy ./frontend/scripts/install_dev_env/install_linux.sh source ~/.bashrc ``` -------------------------------- ### Install AppFlowy on Linux using Flatpak Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/README.md Use this command to install AppFlowy on Linux distributions that support Flatpak. ```bash flatpak install flathub io.appflowy.AppFlowy ``` -------------------------------- ### Install OpenSSL Development Files on Fedora Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Use this command to install the necessary OpenSSL development files on Fedora Workstation if you encounter 'libssl.so.1.1' errors. ```shell sudo dnf install openssl-devel ``` -------------------------------- ### Install Cargo Make Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Install the cargo-make tool, which is used for automating build tasks in AppFlowy's frontend. ```shell cargo install --force cargo-make ``` -------------------------------- ### Install Flutter using asdf Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Adds the Flutter plugin to asdf, installs a specific stable version of Flutter, removes any existing tool-versions file, and sets the local Flutter runtime for the AppFlowy directory. ```bash cd AppFlowy asdf plugin-add flutter asdf install flutter 3.27.4-stable rm -rf .tool-versions asdf local flutter 3.27.4-stable cd .. ``` -------------------------------- ### Example: Composing Text Deltas Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/delta.md Demonstrates how to build a document by composing a new delta with an existing one. Ensures the document state is updated correctly. ```rust use lib_ot::core::{OperationTransform, TextDeltaBuilder}; let document = TextDeltaBuilder::new().build(); let delta = TextDeltaBuilder::new().insert("abc").build(); let new_document = document.compose(&delta).unwrap(); assert_eq!(new_document.content().unwrap(), "abc".to_owned()); ``` -------------------------------- ### Install asdf Version Manager Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Clones the asdf version manager to the specified directory. This is a prerequisite for managing multiple language runtimes. ```bash git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.1 ``` -------------------------------- ### Install cargo-make Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/tauri-setup.md Install cargo-make, a task runner used by AppFlowy for scripts. This is a prerequisite for running development scripts. ```shell cargo install cargo-make ``` -------------------------------- ### Run Tokio-Console Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/profiling.md Start the tokio-console application to connect to running Rust applications. ```shell tokio-console ``` -------------------------------- ### Install libssl1.1 Package on Ubuntu/PopOS Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Install the downloaded libssl1.1 package on Ubuntu and PopOS using dpkg after encountering 'libssl.so.1.1' errors. ```shell sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb ``` -------------------------------- ### Install AppFlowy on macOS using Homebrew Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/README.md Install AppFlowy on macOS using the Homebrew package manager. ```bash brew install --cask appflowy ``` -------------------------------- ### Enable Windows Desktop Support for Flutter Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Configure your Flutter installation to enable desktop device support for Windows. ```shell flutter config --enable-windows-desktop ``` -------------------------------- ### Install Duckscript CLI Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Install the duckscript command-line interface, a tool used for scripting within the AppFlowy project. ```shell cargo install --force duckscript_cli ``` -------------------------------- ### Start AppFlowy Editor Testing Source: https://github.com/appflowy-io/appflowy-docs/blob/main/blog-highlights/demystifying-appflowy-editors-codebase.md Call `startTesting()` on the `TestableEditor` instance to handle the widget pumping logic for testing. ```dart await editor.startTesting(); ``` -------------------------------- ### Example: Inverting and Composing Deltas for Undo Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/delta.md Illustrates how to use the invert and compose operations to implement an undo feature. It shows that applying a delta and then its inverse returns the document to its original state. ```rust use lib_ot::core::{OperationTransform, TextDeltaBuilder}; let original_document = TextDeltaBuilder::new().build(); let delta = TextDeltaBuilder::new().insert("abc").build(); let undo_delta = delta.invert(&original_document); let new_document = original_document.compose(&delta).unwrap(); let document = new_document.compose(&undo_delta).unwrap(); assert_eq!(original_document, document); ``` -------------------------------- ### Send User Sign-In Event Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/frontend/inter-process-communication.md Example of sending a sign-in event from the frontend to the backend with a payload. Ensure the SignInPayloadPB is correctly defined and imported. ```typescript async function sendSignInEvent() { let make_payload = () => SignInPayloadPB.fromObject({ email: nanoid(4) + "@gmail.com", password: "A!@123abc", name: "abc", }); await UserEventSignIn(make_payload()); } ``` -------------------------------- ### AppFlowy Editor Widget Test Example Source: https://github.com/appflowy-io/appflowy-docs/blob/main/blog-highlights/demystifying-appflowy-editors-codebase.md A complete widget test for the find menu functionality, demonstrating editor initialization, selection, command execution, and assertion. ```dart void main() async { setUpAll(() { TestWidgetsFlutterBinding.ensureInitialized(); }); group('find_replace_menu.dart findMenu', () { ... testWidgets('selects found match', (tester) async { const pattern = 'Welcome'; final editor = tester.editor; editor.addParagraphs(3, initialText: text); await editor.startTesting(); await editor.updateSelection(Selection.single(path: [0], startOffset: 0)); await pressFindAndReplaceCommand(editor); await tester.pumpAndSettle(); expect(find.byType(FindMenuWidget), findsOneWidget); await enterInputIntoFindDialog(tester, pattern); // if current selection consists an occurrence of matched pattern. final selection = editor.editorState.selection; // We expect the first occurrence of the pattern to be found and selected, expect(selection != null, true); expect(selection!.start, Position(path: [0], offset: 0)); expect(selection.end, Position(path: [0], offset: pattern.length)); await editor.dispose(); }); }); } ``` -------------------------------- ### Update System Packages Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md Ensures your system's package list is up-to-date before installing new software. ```shell sudo apt update ``` -------------------------------- ### Check Rust Version Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Verify the installed Rust toolchain version. AppFlowy has specific version requirements. ```shell rustup --version ``` -------------------------------- ### Receive User Notifications Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/frontend/inter-process-communication.md Example of setting up a listener in the frontend to receive user-related notifications from the backend. The listener can handle events like user sign-in and profile updates. Use `listener.stop()` to unsubscribe. ```typescript let listener = await new UserNotificationListener({ onUserSignIn: (userProfile) => { console.log(userProfile); }, onProfileUpdate(userProfile) { console.log(userProfile); // stop listening the changes // listener.stop(); }} ); listener.start(); ``` -------------------------------- ### Run AppFlowy Docker Container with docker-compose Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/installing-with-docker.md Start the AppFlowy Docker container after building the image using docker-compose. This command will launch the application. ```bash docker-compose up ``` -------------------------------- ### Run Tauri Development Server in VSCode Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/tauri-setup.md Start the Tauri development server for debugging the core process directly within VSCode. Ensure the 'frontend' folder is opened in VSCode. ```shell cd frontend cargo make tauri_dev ``` -------------------------------- ### Rust Expression Body Example Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/software-contributions/conventions/code-conventions/README.md Demonstrates expression bodies using arrow notation in Rust for closures with a single expression. This syntax is more concise than a block body for simple operations. ```rust // Good some_function(|| perform_action(some_value)); // Bad some_function(|| { perform_action(some_value); }); ``` -------------------------------- ### Install Flutter Manually on Linux Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Clones a specific version of Flutter, adds it to the PATH, and sources the bashrc for immediate use. Ensure Flutter version 3.27.4 is used as it's the recent supported stable release. ```bash git clone https://github.com/flutter/flutter.git --branch 3.27.4 cd flutter echo -e "\nexport PATH=\$PATH:`pwd`/bin" >> ~/.bashrc source ~/.bashrc flutter cd .. ``` -------------------------------- ### Navigate to Frontend Directory Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Change the current directory to the 'frontend' folder to begin the build process. ```bash cd frontend ``` -------------------------------- ### Rust Build Script for Code Generation Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/event.md Example `build.rs` pseudocode demonstrating how to trigger code generation for different languages (Dart, TypeScript) using Cargo features. It utilizes `flowy_codegen` to generate protobuf and event FFI functions. ```rust // build.rs fn main() { let crate_name = env!("CARGO_PKG_NAME"); flowy_codegen::protobuf_file::gen(crate_name); #[cfg(feature = "dart")] flowy_codegen::dart_event::gen(crate_name); #[cfg(feature = "ts")] flowy_codegen::ts_event::gen(crate_name); } ``` -------------------------------- ### Configure Development Environment Variables Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/web-setup/README.md Create a .env file in the project root and set the following environment variables for local development. ```bash AF_BASE_URL=http://localhost:8080 AF_GOTRUE_URL=http://localhost:9999 AF_WS_URL=ws://localhost:8080/ws/v1 ``` -------------------------------- ### Build AppFlowy in Release Mode (Windows) Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Execute this command in the AppFlowy/frontend directory to create a release binary for Windows. The build scripts are defined in the Makefile.toml file. ```bash cargo make --profile production-windows-x86 appflowy ``` -------------------------------- ### Create Flutter Project Folder Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md Creates a directory to store the Flutter SDK. ```shell mkdir projectfolder ``` -------------------------------- ### Run Release AppFlowy Binary Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Navigate to the release binary directory and execute the AppFlowy application. ```bash cd appflowy_flutter/product/[version number in x.x.x]/linux/Release/AppFlowy ./app_flowy ``` -------------------------------- ### Cargo Build Command for Code Generation Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/event.md Demonstrates how to manually trigger the code generation process by running `cargo build` with specific features enabled, such as `--features=dart`. The `-vv` flag provides verbose output. ```bash cargo build --features=dart ``` ```bash cargo build -vv --features=dart ``` -------------------------------- ### Install OpenSSL 1.1 on Fedora Silverblue Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md For Fedora Silverblue, upgrade the system and then install the OpenSSL 1.1 package to resolve 'libssl.so.1.1' errors. ```shell rpm-ostree upgrade rpm-ostree install openssl1.1.x86_64 ``` -------------------------------- ### Run Database Migrations Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/database.md Applies pending database migrations by running the SQL scripts in the 'up.sql' files. ```shell diesel migration run ``` -------------------------------- ### Check Flutter Version Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Verify that you have installed the correct Flutter version (3.27.4) required for AppFlowy. ```shell flutter --version Flutter 3.27.4 • channel stable • https://github.com/flutter/flutter.git Framework • revision d8a9f9a52e (4 weeks ago) • 2025-01-31 16:07:18 -0500 Engine • revision 82bd5b7209 Tools • Dart 3.6.2 • DevTools 2.40.3 ``` -------------------------------- ### Run AppFlowy Tests on Windows Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/troubleshooting.md Execute this command from the frontend directory to resolve "Failed to load dynamic library" errors on Windows. This ensures the necessary dynamic library is loaded correctly for testing. ```bash cargo make dart_unit_test ``` ```bash flutter test --dart-define=RUST_LOG=INFO -j, --concurrency=1 --coverage ``` -------------------------------- ### Run Flutter Doctor Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-windows.md Execute the flutter doctor command to diagnose and fix any issues with your Flutter environment setup. ```shell flutter doctor ``` -------------------------------- ### Initialize FlowySDK Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/initialize.md Call the init function on FlowySDK, passing the working directory. This is typically done by the InitRustSDKTask. ```dart getIt().init(directory) ``` -------------------------------- ### Get Databases Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy-cloud/openapi/Apis/DatabasesApi.md Retrieves a list of all databases within a specified workspace. This is useful for listing available databases for further operations. ```APIDOC ## GET /api/workspace/{workspace_id}/database ### Description Retrieves a list of database in a workspace. This endpoint allows you to fetch all databases associated with a particular workspace. ### Method GET ### Endpoint /api/workspace/{workspace_id}/database ### Parameters #### Path Parameters - **workspace_id** (string) - Required - The unique identifier for the workspace. ### Response #### Success Response (200) - **getDatabases_200_response** - Returns a list of databases. See [getDatabases_200_response](../Models/getDatabases_200_response.md) for details. ### Authorization BearerAuth ``` -------------------------------- ### Navigate to Project Folder Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/installing-and-setting-up-flutter-on-linux-from-source.md Changes the current directory to the one created for Flutter. ```shell cd projectfolder ``` -------------------------------- ### Navigate to Cloned Directory Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/setting-up-your-repositories.md Change your current directory to the newly cloned AppFlowy repository on your local machine. ```shell cd appflowy ``` -------------------------------- ### Get Workspaces Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy-cloud/openapi/Apis/WorkspacesApi.md Retrieves a list of all workspaces accessible to the user. Optionally includes member counts and the user's role within each workspace. ```APIDOC ## GET /api/workspace ### Description Retrieves a list of all workspaces. This endpoint fetches a list of workspaces along with detailed information about each workspace, such as the workspace ID, owner information, and workspace properties like name, type, and icon. ### Method GET ### Endpoint /api/workspace ### Parameters #### Query Parameters - **include_member_count** (Boolean) - Optional - Include the count of members in each workspace when set to true. - **include_role** (Boolean) - Optional - Include the role of the user making the request in the workspace details when set to true. ### Response #### Success Response (200) - **getWorkspaces_200_response** - Refer to [getWorkspaces_200_response](../Models/getWorkspaces_200_response.md) ### Authorization BearerAuth ``` -------------------------------- ### Get Database Row IDs Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy-cloud/openapi/Apis/DatabaseRowsApi.md Retrieves a list of all row IDs within a specified database. This endpoint does not require any parameters in the request body. ```APIDOC ## GET /api/workspace/{workspace_id}/database/{database_id}/row ### Description Retrieves a list of database row ids in a selected database. ### Method GET ### Endpoint /api/workspace/{workspace_id}/database/{database_id}/row ### Parameters #### Path Parameters - **workspace_id** (string) - Required - The ID of the workspace. - **database_id** (string) - Required - The ID of the database. ### Response #### Success Response (200) - **getDatabaseRowIds_200_response** (object) - A list of row IDs. ### Authorization BearerAuth ``` -------------------------------- ### Resolve Diesel CLI Compilation Error Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/troubleshooting.md If 'diesel_cli' fails to compile due to an inability to find -lsqlite3, ensure the SQLite3 development library is installed. ```shell error: linking with `cc` failed: exit status: 1 ... (rest of the error message) = note: /usr/bin/ld: cannot find -lsqlite3 collect2: error: ld returned 1 exit status error: could not compile `diesel_cli` due to previous error error: failed to compile `diesel_cli v2.0.0`, intermediate artifacts can be found at `/tmp/cargo-install4xWPP3` ``` -------------------------------- ### Download libssl1.1 Package for Ubuntu/PopOS Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Download the required libssl1.1 package for Ubuntu and PopOS if you encounter 'libssl.so.1.1' errors. This is a temporary fix. ```shell wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb ``` -------------------------------- ### Determine Working Directory for Develop Mode Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/initialize.md Get the application documents directory and append 'flowy_dev' to define the working directory for FlowySDK in develop mode. ```dart Directory documentsDir = await getApplicationDocumentsDirectory(); final directory = Directory('${documentsDir.path}/flowy_dev') ``` -------------------------------- ### Run Debug AppFlowy Binary Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/from-source/environment-setup/building-on-linux.md Navigate to the debug binary directory and execute the AppFlowy application. ```bash cd appflowy_flutter/product/[version number in x.x.x]/linux/Debug/AppFlowy ./app_flowy ``` -------------------------------- ### Determine Working Directory for Release Mode Source: https://github.com/appflowy-io/appflowy-docs/blob/main/essential-documentation/contribute-to-appflowy/architecture/backend/initialize.md Get the application documents directory and append 'flowy' to define the working directory for FlowySDK in release mode. ```dart Directory documentsDir = await getApplicationDocumentsDirectory(); final directory = Directory('${documentsDir.path}/flowy') ``` -------------------------------- ### Get Database Fields Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy-cloud/openapi/Apis/DatabaseFieldsApi.md Retrieves a list of all fields associated with a specific database within a workspace. This is useful for understanding the structure and available properties of a database. ```APIDOC ## GET /api/workspace/{workspace_id}/database/{database_id}/fields ### Description Retrieves a list of database fields in a selected database. ### Method GET ### Endpoint /api/workspace/{workspace_id}/database/{database_id}/fields ### Parameters This endpoint does not need any parameters. ### Response #### Success Response (200) - **fields** (array) - A list of database field objects. ### Response Example ```json { "fields": [ { "id": "string", "name": "string", "type": "string" } ] } ``` ### Authorization BearerAuth ``` -------------------------------- ### Get Database Row Details Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy-cloud/openapi/Apis/DatabaseRowDetailsApi.md Retrieves a list of database row details in a selected database. You can specify the row IDs and whether to include document data. ```APIDOC ## GET /api/workspace/{workspace_id}/database/{database_id}/row/detail ### Description Retrieves a list of database row details in a selected database. ### Method GET ### Endpoint /api/workspace/{workspace_id}/database/{database_id}/row/detail ### Parameters #### Query Parameters - **ids** (String) - Required - A comma-separated list of database row uuids to retrieve. (e.g., ids=uuid1,uuid2,uuid3) - **with_doc** (Boolean) - Optional - Include the document data for each row when set to true. ### Response #### Success Response (200) - **getDatabaseRowDetails_200_response** - Details of the retrieved database rows. ``` -------------------------------- ### Download Docker Build Files Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/installing-with-docker.md Download the Dockerfile and docker-compose.yml to a new directory. These files are required for building the AppFlowy Docker image without cloning the repository. ```bash wget https://raw.githubusercontent.com/AppFlowy-IO/appflowy/main/frontend/scripts/docker-buildfiles/Dockerfile wget https://raw.githubusercontent.com/AppFlowy-IO/appflowy/main/frontend/scripts/docker-buildfiles/docker-compose.yml ``` -------------------------------- ### Update AppFlowy Desktop File Paths Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/mac-windows-linux-packages/installing-on-linux/README.md Edit the 'appflowy.desktop' file to specify the correct paths for the application icon and executable. Replace '[CHANGE_THIS]' with the actual installation path. ```shell Icon=[CHANGE_THIS]/AppFlowy/flowy_logo.svg Exec=[CHANGE_THIS]/AppFlowy/app_flowy ``` -------------------------------- ### Build AppFlowy Docker Image from Repository Source: https://github.com/appflowy-io/appflowy-docs/blob/main/appflowy/install-appflowy/installation-methods/installing-with-docker.md Build the AppFlowy Docker image using docker-compose when the repository is already cloned. Navigate to the script directory first. ```bash cd ./frontend/scripts/docker-buildfiles docker-compose build --build-arg uid=$(id -u) --build-arg gid=$(id -g) ``` -------------------------------- ### AppFlowy Flutter Renderer Warning Source: https://github.com/appflowy-io/appflowy-docs/blob/main/documentation/appflowy/troubleshooting.md This warning indicates an issue with the Flutter renderer failing to start, possibly due to problems creating a GL context or communicating with the engine. ```shell ** (app_flowy:21547): WARNING **: 03:05:10.061: Failed to start Flutter renderer: Unable to create a GL context ** (app_flowy:21547): WARNING **: 03:05:12.733: Unable to retrieve framework response: No engine to send to ```