Primal for Android is now available on Google Play Store in open testing mode. Starting with today’s release, we will offer Play Store, APK, and source code downloads for each release. Please note: due to the way Play Store app signing works, upgrades will only work if you use the same install method. This is a big milestone for us, as we march towards the full v1.0 release in the coming weeks. 💪 New Features - Feed: link previews - Feed: image media gallery - Feed: video thumbnail previews - LUD-06 support Fixes - Improved CDN handling - Removed shimmer from avatars when loading - Fixed highlight color in note content - Various small fixes

Replies (67)

I haven't tested each one for #GrapheneOS compatibility. Any app that uses Google Play APIs is a bad experience on #GrapheneOS. Teams that test on #GrapheneOS know that their apps will also work on stock Android.
Thank you! I'll continue using obtainium to pull it but grateful for the work y'all are doing.
Boooom - awesome news 💥✨🤘! Primal for mobile & desktop ... Aaaand ... With an App in the Appstore it's a great opportunity to onramp people 🧡🫂🤙! And if "they" decide to ban it, fortunately there are other options such as Obtainium hehe 😁! Freedom of speech! image
Does anyone use Primal along side Amethyst? Is it working well? I remember using Iris at some early point at the same time as Amethyst and that would regularly break both (as far as I remember...)
Great work, miljan 💪🏻 I am really looking forward to Primal's future. I absolutely honor that you develop for both iOS AND Android. Primal becomes more and more a serious daily driver, not only eye-candy 👌🏻
I think over time we're going to realize more is not always better. I prefer stability and minimalism. Primal still missing critical features, but I think they're less likely to overshoot like Amethyst has.
I'm trying this out as of now. And I have to admit: Primal is fking gorgeous. I'm used to the great great Amethyst, that sometimes is a bit buggy. Primal seems really smooth.
It's very smooth and quick. Some issues with search results and some user stats that appear to resolve when you close and reopen the app.
So the upgrade appeared in Aurora Store and although I had the previous version installed as direct download, the update through Aurora Store just worked (though I had to log in like with a fresh installation).
hey @miljan, getting a pretty consistent crash when zapping and reacting to notes on GrapheneOS: ``` type: crash osVersion: google/husky/husky:14/UD1A.231105.004/2023111500:user/release-keys package: net.primal.android:56 process: net.primal.android processUptime: 65287 + 282 ms installer: dev.imranr.obtainium android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1675) at com.android.org.conscrypt.Platform.blockGuardOnNetwork(Platform.java:436) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:874) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:862) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:835) at xd.d.F(Unknown Source:101) at xd.d.F(Unknown Source:22) at xd.c0.F(Unknown Source:34) at qd.b.F(Unknown Source:9) at qd.e.F(Unknown Source:35) at od.d.F(Unknown Source:15) at xd.i.d0(Unknown Source:7) at xd.c0.T(Unknown Source:4) at kd.m0.h(Unknown Source:27) at gd.e.b(Unknown Source:99) at gd.c.k(Unknown Source:12) at p6.a.s(Unknown Source:8) at g7.e0.run(Unknown Source:107) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8199) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ExecInit.main(ExecInit.java:49) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359) Suppressed: android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1675) at com.android.org.conscrypt.Platform.blockGuardOnNetwork(Platform.java:436) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:874) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:862) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:835) at xd.d.F(Unknown Source:101) at xd.d.F(Unknown Source:22) at xd.c0.F(Unknown Source:34) at qd.b.F(Unknown Source:9) at qd.e.F(Unknown Source:35) at ld.b.t(Unknown Source:64) at ld.b.g(Unknown Source:12) at qd.e.close(Unknown Source:15) at xd.q.close(Unknown Source:2) at od.d.close(Unknown Source:8) at xd.c0.close(Unknown Source:9) at j6.n.i0(Unknown Source:8) at kd.m0.h(Unknown Source:38) ... 14 more Suppressed: l7.f: [p1{Cancelling}@2fcef3d, Dispatchers.Main.immediate] ```
Used for some minutes I like it One feedback: Need a button to know views count.
Congratulations...keep it going! I'm currently trying out the Primal iOS beta version. I look forward to an approved iOS app soon!
Ser, what is this sourcery? I thought it only uploaded to the free version of nostr.build (I was never asked to log in) so I've been uploading images to my account manually and copying links. I've now tested it and it uploaded the image to my account 🤯 Very impressive!
Are there any issuees zapping on Android with Alby? Can't seem to get it to work. Works fine on PC browser but on mobile I get "Unable to zap, check your wallet connection".