Skip to content

feat(atmosphere): derakkuma records - #1339

Open
ThatOneCalculator wants to merge 14 commits into
tunjid:mainfrom
ThatOneCalculator:feat/derakkuma
Open

feat(atmosphere): derakkuma records#1339
ThatOneCalculator wants to merge 14 commits into
tunjid:mainfrom
ThatOneCalculator:feat/derakkuma

Conversation

@ThatOneCalculator

Copy link
Copy Markdown
Contributor

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

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@tunjid

tunjid commented May 30, 2026

Copy link
Copy Markdown
Owner

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:

  • One for the data layer with no UI, just the repository stuff.
  • Another for the ui components in the Ui:xxx modules.
  • Another for the AtmosphereApp feature module.

`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`
@ThatOneCalculator

Copy link
Copy Markdown
Contributor Author

@tunjid ty! addressed both of the review comments, will make sure to keep that in mind for the future too :)

@tunjid

tunjid commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Seems like we have a failing build atm

@ThatOneCalculator

ThatOneCalculator commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

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:

[Incubating] Problems report is available at: file:///home/runner/work/heron/heron/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':androidApp:processReleaseGoogleServices'.
> Malformed root json at /home/runner/work/heron/heron/androidApp/src/release/google-services.json
591 actionable tasks: 452 executed, 139 from cache

@ThatOneCalculator

ThatOneCalculator commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Drafting to get up to speed with Derakkuma schema changes done!

@ThatOneCalculator
ThatOneCalculator marked this pull request as draft June 11, 2026 22:38
@ThatOneCalculator
ThatOneCalculator marked this pull request as ready for review June 11, 2026 22:50
@ThatOneCalculator

Copy link
Copy Markdown
Contributor Author

@tunjid can I get a re-check on this?

@tunjid

tunjid commented Jul 19, 2026

Copy link
Copy Markdown
Owner

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?

@ThatOneCalculator

Copy link
Copy Markdown
Contributor Author

@tunjid done :)

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.

2 participants