Avatar
alex
b10b0d5e5fae9c6c48a8c77f7e5abd42a79e9480e25a4094051d4ba4ce14456b
Primal Lead Android Developer.

It's a great window manager built for developers and advanced users. To get the best of it, you have to go down the configuration rabbit hole and configure it to your own needs. Good luck!

https://www.youtube.com/watch?v=-FoWClVHG5g

Some of them. If it's a must to have them on your phone - create new Profile, install sandboxed Play Store and Play Services, create & login with some nym g-account and install the banking app.

And if you ever need Google services/apps on the phone, you can install them on different Profile with nym account, so the main Profile stays de-Googled. Profiles are pretty cool feature.

We are going to do it with the next patch release since we shipped this build couple of days earlier than we originally planned.

Hey nostr:nprofile1qydhwumn8ghj76rpwejkutnpvd3kjmmv0yh8xmmrd9skctcpypmhxue69uhksctkv4hzuctrvd5k7mre9eek7cmfv9kz76twvfhhsqpqa6we08n7zsv2na689whc9hykpq4q6sj3kaauk9c2dm8vj0adlajq2t6aua, you are looking for `PrimalUploadService.kt`, can be found in primal-android-app repo under `networking-upload` module which is in charge of blossom uploading.

Mirroring with Haven did not work because Haven does not support BUD-04 (which we're using for mirroring). Not sure if anything has changed recently. Check this thread for more details.

nostr:nevent1qvzqqqqqqypzqwlsccluhy6xxsr6l9a9uhhxf75g85g8a709tprjcn4e42h053vaqqsdazmakhmwyjdqquwe6j0yy7vytj7a55rzm9da9kyrxj8j0lafwks6vkp75

In production, both Android and iOS currently have their own business logic and communication layers implemented separately. In upcoming releases, we might use a shared codebase across both platforms. As for the swap-in approach using your own Strike account, this needs to be handled on the server side and wallet server is not open-sourced for security reasons.

Can you try manually changing the aspect ratio of the app? Hold the Primal icon -> Tap 'App info' -> Scroll to 'Aspect ratio' and open it -> Instead of 'App default', try other options.

Do you remember which feed you scrolled when the latest crash happened? Is feature "Auto play videos" under "Settings -> Content Display" turned on or off?

Thanks for the help. We were able to reproduce the issue. It will be fixed in the next release.

Yes, 404 is the correct response when not supported. Not sure about nostr.build account, though. I can see successful responses in the logs for blossom.band mirroring.

Mirror servers must support BUD-04.

Yes. They require Google build and Play Services on the phone. Github APK does not have the Google dependencies.

Decoupling the Android app was already in the pipeline, and we were also looking at how to add local caching on iOS. Since only the Android app had local caching so far, trying out KMP felt like a good opportunity. We split some code into KMP modules (instead of regular Android ones) and exported them as an XCFramework for the native iOS project to use.

This is just an add-on to the existing native projects to help avoid duplicating business logic. It’s totally optional—each native project can either use the shared code or roll their own solution.

Primal Android 2.2 was released this week, bringing some long-awaited features. But that’s just one side of the story - back in March, we began decoupling our monolithic Android app into Kotlin Multiplatform reusable modules for both Android and iOS. Here are two major milestones we’ve achieved:

- Blossom Uploader: The first multiplatform module to be integrated into Primal iOS 2.2. Once development was completed for Android, it took us just a few hours to integrate it on iOS. The module can be found in `core/networking-upload` in the `primal-android/app` Git repo for anyone interested.

- Local Caching Repository: We’ve completely decoupled the data layer for all social app features, achieving a clear separation of concerns. The app is now fully agnostic to the source of the data, using only domain models and interfaces to interact with it. It always communicates with the repository, which handles data retrieval and storage in the local database from one or more remote sources (currently just our caching service). We are one step away from completing proof-of-concept tests on the iOS app with this module, and the Android app is already using it in production. This multiplatform module can be found in `data/repository-caching`.

Anyone else here bullish on Kotlin Multiplatform?

nostr:nevent1qqs8zg22ddu30tg7xcxr3d3hzzttc4gd364q6ewd70ry54h7h4ajegsqg2j6x

Are you adding media file from gallery or camera? Try both. Camera icon gets disabled if app can't get a uri to save the picture - maybe that is the case.

Thanks for sharing. The UI framework is responsible for the scrolling gestures. It seems that is buggy with the combination of components we are using. We are upgrading to the next version of the UI framework in the next release, hopefully it is fixed in it.