|
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
Delete the vendored xitca-web framework checkout at repo root and repoint all consumers at the published crates: - nimanyatta/Cargo.toml: drop path overrides on xitca-web (deps + dev-deps), remove the xitca-client dep (never published on crates.io) from the manifest and the load/b_server features, and remove the [patch.crates-io] section that forced every xitca-* crate onto the vendored checkout. - nigig-lite/crates/common: xitca-web path dep -> version 0.8 from crates.io (vendored snapshot was 0.8.1, identical). - Test suites (shared_test_client, security_suite, enhanced_security, enhanced_security_tests) and kra-etims-sdk: migrate xitca-client HTTP usage to reqwest from crates.io, preserving request semantics (header-override order, error mapping). Verified in a fresh clone on the pinned toolchain (1.97.1): nigig-common checks, security/enhanced suites check, and the session/fast/regression harness binaries build. |
||
|---|---|---|
| .. | ||
| crates/common | ||
| README.md | ||
nigig-lite
Shared, dependency-light crates for the nigig / nimanyatta family.
crates/common — nigig-common
The shared foundation crate consumed by the nimanyatta chat/sync server (as a
path dependency from nimanyatta/Cargo.toml) and by its load-test suites:
ids— strongly-typed ULID identifiers (UserId,RoomId,EventId,DeviceId) that serialise in prefixed wire form (user_01H…).errors— the unifiedAppErrormodel: HTTP status mapping, stable machine-readable codes, and an xitca-webServiceimpl that renders JSON error bodies.auth— REST DTOs for register/login/refresh/logout, token pairs, and theUserProfilerecord shape.rooms— room, membership, timeline-event and message-content models plus the rooms REST DTOs.roles— server/room/custom role and permission model (PermissionSet,ResolvedPermissions).sync— the/syncrequest/response contract (filters, pagination tokens).protocol— the WebSocket chat protocol (ClientToServerMsg,ServerToClientMsg, presence, receipts) mirrored fromnimanyatta/crates/nimanyatta-protocol.validatable— shared input validators (username/password/message body rules).
The crate is standalone (empty [workspace] table) and has its own unit tests
(cargo test → 21 tests).
The WebSocket wire shapes are kept byte-compatible with
nimanyatta/crates/nimanyatta-protocol — the client library — so both sides
of the socket agree on field names and tagging.