Skip to content

Introduce typed id value classes - #229

Draft
m4pl wants to merge 12 commits into
GrapheneOS:mainfrom
m4pl:task/173/219-typed-value-classes
Draft

Introduce typed id value classes#229
m4pl wants to merge 12 commits into
GrapheneOS:mainfrom
m4pl:task/173/219-typed-value-classes

Conversation

@m4pl

@m4pl m4pl commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Closes #219

Adds value classes ConversationId, MessageId, ParticipantId, SubId. Primitives stay at persistence and Java boundaries via .value / fromOrNull.

Behavior changes: ConversationMessageUiModelMapper.map returns null instead of a blank messageId, which previously became a duplicate LazyColumn key. Some isEmpty() checks became isBlank(), since the id types only expose blank checks.

@m4pl

m4pl commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

Waiting for #205 #204 to be merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace raw String identifiers with typed value classes

1 participant