~ knotless Search/
↑↓ move↵ open⇧↵ all results

grain.social/grain-android

1 collaborator
0
1

The app calls grain-serve by its own method names, and is 0.8.0

Merged
Merged chadtmiller.com asked to merge into main from grain.social/grain-android:feature/rust-auth

What changes

Brings the calls pull (3mzbf4gu4wgsd) to main. It was based on feature/rust-auth and merged there after the sign-in pull had already landed on main, so main got sign-in alone. This branch is that merge: grain-serve's method names, the next build type, and version 15 / 0.8.0.

Why

0.8.0 is the build for store review. It reaches grain-serve through grain.social, which sends its calls there through the bridge.

How it was checked

The calls pull's checks passed at 5ca3452. This branch is only that merge, so its own checks run here.

🤖 Generated with Claude Code

Approved

This is the merge that brings the calls pull to main. The app now calls grain-serve by its own method names (social.grain.*) and no longer uses dev.hatk.* or unspecced. It also adds the next build type with a SERVER_URL BuildConfig field and a per-build OAuth scheme, a profile seed at sign-in, and version 15 / 0.8.0.

I found nothing that must change.

  • OAuth in the next build: the redirect URI, scheme and client ID all derive from SERVER_URL through ServiceIdentity. They match the manifest's ${oauthScheme} placeholder in both builds.
  • Reports: proxied() sends createReport through the proxy header and every other com.atproto.* call to the PDS.
  • Gallery delete: it keeps photos that another of the account's galleries still uses.
  • Account delete: it fails when grain-serve doesn't report done, which is the safe behaviour.

Not verified:

  • Checks: the test and build checks at 389bd63 are still queued, so the pull is untested. Please wait for them before merging.
  • Account deletion scope: deleteAccount deletes every social.grain.* collection that describeRepo lists. If grain ever has a collection outside REQUIRED_SCOPES, that write would be refused and the deletion would stop partway. This is a guess, not a finding.
  • Unread files: I did not read the 40 or so test files under app/src/test in full, which is where most of the diff's lines are. I read all the main-source files, the manifest, the build, the workflow and the justfile.
Merged as 135114a