dluvian / nozzle Goto Github PK
View Code? Open in Web Editor NEWA lightweight nostr client for Android
License: MIT License
A lightweight nostr client for Android
License: MIT License
If the problem was due to the large image, We could use something like image proxy that did compress the image.
https://github.com/Yonle/bandwidth-hero-proxy
Or give a switch for "Data Safe" mode.
Do you have any plans to add support for amber?
I find the dark mode is not quite dark enough. Could the background be set to total black, all text to white and those boxes for quoted and load image buttons be made quite a bit darker?
Nozzle tells me i have 4 followers, but during a test of another client it said i have 10 followers. Any idea what may be causing the difference?
App instantly crashes at startup. Tried on the latest github release.
Here's the log :
type: crash
osVersion: Fairphone/FP4eea/FP4:13/TQ3A.230901.001/eng.emy.20240107.055631:user/release-keys
package: com.dluvian.nozzle:45
process: com.dluvian.nozzle
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dluvian.nozzle/com.dluvian.nozzle.MainActivity}: javax.crypto.AEADBadTagException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3645)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3782)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7924)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ExecInit.main(ExecInit.java:48)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: javax.crypto.AEADBadTagException
at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:611)
at javax.crypto.Cipher.doFinal(Cipher.java:2114)
at g7.c.c(SourceFile:1)
at g7.c.b(SourceFile:6)
at a7.j.c(SourceFile:43)
at g7.a.e(SourceFile:28)
at g7.a.a(SourceFile:1)
at y4.c.<init>(SourceFile:260)
at q4.a.<init>(SourceFile:834)
at com.dluvian.nozzle.MainActivity.onCreate(SourceFile:15)
at android.app.Activity.performCreate(Activity.java:8342)
at android.app.Activity.performCreate(Activity.java:8321)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1417)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3626)
... 14 more
Caused by: android.security.KeyStoreException: Signature/MAC verification failed (internal Keystore code: -30 message: In KeystoreOperation::finish
Caused by:
0: In finish: KeyMint::finish failed.
1: Error::Km(ErrorCode(-30))) (public error code: 10 internal Keystore code: -30)
at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:369)
at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
at android.security.KeyStoreOperation.finish(KeyStoreOperation.java:128)
at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.finish(KeyStoreCryptoOperationChunkedStreamer.java:228)
at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:181)
at android.security.keystore2.AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer.doFinal(AndroidKeyStoreAuthenticatedAESCipherSpi.java:396)
at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:603)
... 27 more
Probably implement NIP-50?
Simply adding search
into filters
object with search query:
["REQ", "search_sess", { "search": "nostr is great", "limit": 100 }]
And then it return EVENTs that normal feed could parse easily
Many clients also use the relay list from kind: 3
.
I have my phone set in dark mode and I have the app set in dark mode but when I open the app there is a white screen while the app loads
If we could do pure black topbar when in dark mode, Then how about changing the top bar color into white?
Some Android mobiles did not have a setting to switch to dark theme in settings or notifications.
Probably add a option to hide replies of myself in "Inbox" feed.
As Nozzle is now using Material3, How about adding dynamic color support?
Currently, if you reply to something, you have to manually refresh to see your reply. I think this should be done automatically.
I personally only speak english, but if i load the global feed a lot of usernames and/or posts begin with other character sets like chinese. Is there a way to filter these out? When i mentioned this on nostr someone asked about "universe view language filter" note id:
nevent1qqsgtqxl26xtanh9j3peq3syz63j4wn5fe2j3gxkl8qs2knje6nr0fcpzpmhxue69uhnzdps9enrw73wd9hszrthwden5te0dehhxtnvdakqz9nhwden5te0dehhxarj9ehx7mmwv4ejucm0d5q3uamnwvaz7tmwdaehgu3wwdjhg6rxdae8qunfweskx7fwvdhk6qgewaehxw309ac8junpd45kgtnxd9shg6npvchxxmmdqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9thwden5te0wfjkccte9ekk7um5wgh8qatzqyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhg56h2l0
Probably implement NIP-42?
Even this client does not utilize private messages, This could be useful for some strict relays that requires user to have NIP-42 authenticated to read / post stuffs.
Hi. Thanks for making this beautiful app : )
Are you open towards submitting it to the F-Droid main repo?
If the left side navigation menu is open or the right side feed settings menu and you press the back button or use the back gesture the app is fully closed instead of the menu.
On the search page if you dismiss the keyboard the cursor continues to blink in the search field, but you cannot get the keyboard back without leaving the search page completely
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.