-
Notifications
You must be signed in to change notification settings - Fork 0
feat(all): initial commit #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Remove nvisy-client, nvisy-server, nvisy-schema crates - Remove all protobuf/grpc dependencies (tonic, prost, etc.) - Remove protofiles directory - Make jiff and serde always-on dependencies in nvisy-core - Remove all #[cfg(feature = "serde")] and #[cfg(feature = "jiff")] gates - Update CI/release workflows to remove protobuf steps - Update README, CONTRIBUTING, CHANGELOG to reflect library focus - Clean up .gitignore This refactors the repository to work as a library-only crate, removing the server/client architecture in favor of direct usage.
- Create central Engine struct in nvisy-engine with FormatRegistry integration - Add EngineConfig for configuring file size limits, archive handling, parallel processing - Add nvisy-archive dependency to nvisy-engine - Create nvisy-docx stub crate with DocxFormat - Create nvisy-pdf stub crate with PdfFormat - Create nvisy-text stub crate with TextFormat - Fix doc test in nvisy-archive (OsStr usage) - All 202 unit tests passing
nvisy-core: - Replace Mutex with OnceLock for ContentData SHA256 caching - Use Uuid::new_v7() via ContentSource for DataReference - Add Archive and Spreadsheet variants to ContentKind - Delete Component trait and related status types - Update Error type with convenience constructors for cross-crate reuse - Delete SupportedFormat (use ContentKind instead) - Add prelude module for common re-exports nvisy-archive: - Use tokio::task::spawn_blocking for CPU-bound decompression - Add SevenZ variant to ArchiveType with 7z extension support - Create ZipDirectoryBuilder and TarDirectoryBuilder for cleaner API - Integrate with nvisy-core Error type via ArchiveErrorExt trait - Add proper feature gates for all compression dependencies - Remove deprecated compatibility wrappers nvisy-document: - Move Format structs to dedicated format.rs files - Add conversion, metadata, and thumbnail modules - Reorganize region types into format/region/ directory All tests pass, no warnings.
- build.yml: Add format check, clippy, docs, and coverage jobs - security.yml: Add cargo audit and cargo deny checks - deny.toml: Add cargo-deny configuration for license and security checks
- Fix nvisy-core clippy warnings: - Use unsigned_abs() for timestamp conversion in ContentSource - Add #[must_use] attributes to source_error() and is_recoverable() - Allow cast_precision_loss for get_pretty_size() - Fix UUIDv7 doc formatting - Merge identical match arms in ErrorResource::priority_level() - Use separator in large numeric literals - Update format strings to use inline variables - Fix nvisy-document clippy warnings: - Use derive(Default) with #[default] attribute for enums - Remove manual Default impls for DocumentInfo, TextStyle, RedactStyle, ThumbnailSize - Use std::io::Error::other() instead of Error::new(ErrorKind::Other, ...) - Remove redundant #[must_use] on validate() methods - Use clamp() instead of min().max() chain - Implement FromStr trait for ImageFormat, rename from_str to parse - Fix test to use struct initialization instead of field reassignment - Fix documentation link warnings: - Use fully qualified paths in nvisy-core lib.rs - Fix ArchiveFileHandler -> ArchiveHandler reference - Remove unresolved DocumentFormat links in format crates All CI checks now pass: - cargo +nightly fmt --all -- --check - cargo check --all-features --workspace - cargo clippy --all-targets --all-features --workspace -- -D warnings - cargo test --all-features --workspace - cargo doc --no-deps --all-features --workspace - cargo deny check all - cargo audit
Remove multi-platform builds and coverage - not needed for a library that will be consumed by a Linux server. Keep only essential checks: - Format (nightly) - Check & Clippy - Test - Docs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
feat
request for or implementation of a new feature
help wanted
needs extra attention or outside contributions
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.