Files
Toju/toju-app
myxeliumandCursor 590e487250 fix: Bug - Sending files between users doesn't really work (chunk-time size re-gate)
Remove the leftover MAX_AUTO_SAVE_SIZE_BYTES guard from handleFileChunk's
in-memory path. The request gate (canReceiveAttachment) already admits 10-50 MB
generic files for in-memory receive on stores without disk streaming (browser),
but the chunk handler silently dropped every chunk of such files: no ack was
sent, the sender's waitForAck timed out, and the receiver's GUI never changed.
Receive admission is now decided once, at request time.

Adds a two-browser regression e2e that sends an 11 MB generic file and asserts
Request -> progress -> Download.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 18:48:30 +02:00
..
2026-04-29 01:14:30 +02:00
2026-06-05 17:12:26 +02:00
2026-04-18 21:27:04 +02:00
2026-06-05 18:34:01 +02:00

Product Client

Angular 21 renderer for MetoYou / Toju. This package is managed from the repository root, so the main build, test, lint, and Electron integration commands are run there rather than from a local package.json.

Commands

  • npm run start starts the Angular dev server.
  • npm run build builds the client to dist/client.
  • npm run watch runs the Angular build in watch mode.
  • npm run test runs the product-client Vitest suite.
  • npm run lint runs ESLint across the repo.
  • npm run format formats Angular HTML templates.
  • npm run sort:props sorts Angular template properties.
  • npm run electron:dev or npm run dev runs the client with Electron.

Structure

Path Description
src/app/domains/ Bounded contexts and public domain entry points
src/app/infrastructure/ Shared technical runtime such as persistence and realtime
src/app/shared-kernel/ Cross-domain contracts and shared models
src/app/features/ App-level composition and transitional feature shells
src/app/core/ Platform adapters, compatibility entry points, and cross-domain technical helpers
src/app/shared/ Shared UI primitives and utilities
src/app/store/ NgRx reducers, effects, selectors, and actions
public/ Static assets copied into the Angular build

Key Docs

Notes

  • angular.json defines build, serve, and lint targets for the product client.
  • Product-client tests currently run through the root Vitest setup instead of an Angular test architect target.
  • If the renderer-to-desktop contract changes, update the Angular bridge, Electron preload API, and IPC handlers together.