feat(atmosphere): derakkuma records - #1339
Conversation
There was a problem hiding this comment.
Code Review
This pull request integrates the Derakkuma (maimai DX) app into the Atmosphere integration, adding new data models, repositories, and UI components to support Derakkuma profiles, plays, bests, friends, favorite songs, and circles. The review feedback highlights several critical areas for improvement: implementing a caching mechanism in DerakkumaRecordOperations to prevent redundant network requests when resolving references, ensuring that CancellationException is rethrown in coroutines when using runCatching to avoid swallowing cancellation events, wrapping recomposition-heavy filtering logic in remember blocks, and localizing several hardcoded English strings in the UI components.
|
Hi! This is neat, II'm generally okay with this as long as it doesn't change too many app conventions and you don't expend the lexicon to change much. Since you aren't doing any DB persistence that requires migrations that makes it easier. I'll add PR feedback ass appropriate. Also, if you want to support other records in the future, I'da appreciate it if you could split these PRs like these:
|
`RemoteDerakkumaRecordOperations`
- Removed raw `decodeAs<JsonObject>()` usage for Derakkuma `listRecords` and `getRecord` values - Added typed private `@Serializable` record DTOs for Derakkuma profile/play/best/friend/favorite/circle/circleMember plus resolved chart/song records - Switched decoding through `JsonContent.safeDecodeAs<T>()` via `decodeDerakkumaRecord(...)` - Updated ref resolution to use typed `StrongRef` fields instead of manually reading JSON objects - Updated blob image extraction to use typed `Blob.StandardBlob`/`Blob.LegacyBlob`
|
@tunjid ty! addressed both of the review comments, will make sure to keep that in mind for the future too :) |
|
Seems like we have a failing build atm |
@tunjid Fixed the issue for spotless! But the Android build error comes from being built from a PR: |
|
|
|
@tunjid can I get a re-check on this? |
|
Hi! The main branch has changed a lot since you last contributed to the PR, it'll need rebasing. Also on the sorting issue, can you sort from the data layer? |
|
@tunjid done :) |
I'm working on a project launching soon called Derakkuma (https://derakkuma.com), it's an interface for the rhythm game Maimai DX that also lets you publish your play records on ATProto!
signal-2026-05-27-222551_002.mp4