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!
Why don't you install another keyboard? You can disable Network permission after downloading necessary languages.
The fix should be applied to AOSP keyboard app. Maybe you should put a bounty for the fix in the keyboard app.
Check if you have the latest version of Amber installed.
Something is not right here. This is like $4+ per kWh.
How many kWh per month for $500?
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.
Which feed? How often this happens?
Any particular error message at the end of the feed?
Does the feed just works after force-quit or maybe you do pull to refresh on re-opening?
Try pull to refresh (without force closing the app) next time it happens, and let me know if it helps or not.
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.
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.
Thanks for reporting it! We just fixed it.
Updating Amber to the latest version should solve this issue.
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.
Which keyboard are you using?
Would be nice to see the average and median per year. It could fit on the right side of the table.
GM! Why did you go with Flutter?
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.
They don't support BUD-04; I believe someone mentioned this earlier.
I just checked your blossom list - mirroring is failing only to your private blossom server, returning an HTTP 404 response from server.
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.
Primal uploads to the default server and then makes mirror requests (BUD-04) to mirror servers in the background with fire & forget approach. Mirror servers are actually downloading the file from default server.
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.




?v=1746613393