Files
Toju/toju-app/src/app/shared-kernel
Myx d0aff6319d
All checks were successful
Queue Release Build / prepare (push) Successful in 25s
Deploy Web Apps / deploy (push) Successful in 7m8s
Queue Release Build / build-windows (push) Successful in 28m10s
Queue Release Build / build-linux (push) Successful in 44m38s
Queue Release Build / build-android (push) Successful in 18m36s
Queue Release Build / finalize (push) Successful in 1m40s
fix: should now sync with other devices
2026-06-09 22:00:39 +02:00
..
2026-05-17 15:14:52 +02:00
2026-06-05 18:34:01 +02:00
2026-06-05 18:34:01 +02:00
2026-04-17 03:06:44 +02:00
2026-06-05 18:34:01 +02:00
2026-04-02 03:18:37 +02:00
2026-06-05 06:16:02 +02:00

Shared Kernel

Types and constants that are intentionally shared across multiple bounded contexts (domains). Changing anything here affects every consumer, so changes require coordination.

Files

File Contents
user.models.ts User, UserStatus, UserRole, RoomMember
room.models.ts Room, RoomSettings, RoomPermissions, Channel, ChannelType
message.models.ts Message, Reaction, DELETED_MESSAGE_CONTENT
moderation.models.ts BanEntry
voice-state.models.ts VoiceState, ScreenShareState
game-activity.models.ts GameActivity, MatchedGame, game-match API response contract
chat-events.ts ChatEventType, ChatEvent, ChatInventoryItem
direct-message-contracts.ts DirectMessage, delivery status, P2P DM event payloads
media-preferences.ts LatencyProfile, ScreenShareQuality, quality presets
signaling-contracts.ts SignalingMessage, SignalingMessageType
attachment-contracts.ts ChatAttachmentAnnouncement, ChatAttachmentMeta

When to add here vs. in a domain

Add to shared-kernel when a type is referenced by two or more domains or by infrastructure + store. If a type is only used inside one domain, keep it in that domain's domain/ folder.

Backward compatibility

core/models/index.ts re-exports everything from this folder so existing import { X } from 'core/models' lines keep working. New code should import directly from shared-kernel/ for clarity.