mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-18 02:26:21 +08:00
7ac8b14b65
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Native/WASM Mermaid and Typst SVG preview rendering on desktop and mobile, plus cross-platform Preview plugin integrations. * **Improvements** * Centralized, sanitized rendering bridge with automatic Typst font-directory handling and configurable native renderer selection. * More consistent and robust error serialization and worker-backed preview flows for improved stability and performance. * **Tests** * Extensive unit and integration tests for preview rendering, font discovery, sanitization, and error serialization. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
29 lines
916 B
Rust
29 lines
916 B
Rust
mod error;
|
|
mod ffi_types;
|
|
mod payload_codec;
|
|
#[cfg(any(target_os = "android", target_os = "ios"))]
|
|
mod preview;
|
|
mod storage;
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
#[cfg(any(target_os = "android", target_os = "ios", test))]
|
|
#[cfg_attr(all(test, not(any(target_os = "android", target_os = "ios"))), allow(dead_code))]
|
|
pub(crate) mod cache;
|
|
use affine_common::hashcash::Stamp;
|
|
pub(crate) use error::Result;
|
|
pub use error::UniffiError;
|
|
pub use ffi_types::{
|
|
Blob, BlockInfo, CrawlResult, DocClock, DocRecord, DocUpdate, ListedBlob, MatchRange, SearchHit, SetBlob,
|
|
};
|
|
#[cfg(any(target_os = "android", target_os = "ios"))]
|
|
pub use preview::{render_mermaid_preview_svg, render_typst_preview_svg};
|
|
pub use storage::{DocStoragePool, new_doc_storage_pool};
|
|
|
|
uniffi::setup_scaffolding!("affine_mobile_native");
|
|
|
|
#[uniffi::export]
|
|
pub fn hashcash_mint(resource: String, bits: u32) -> String {
|
|
Stamp::mint(resource, Some(bits)).format()
|
|
}
|