feat: New QoL features#21
Conversation
|
I think is is good enough for now 😄 |
|
Thanks 🙏🏻 Wow lot of changes, must examine carefully, because and me i have make some local change. |
|
I see a lot of work. Thanks 🙏🏻 You have finished or have more? I think i have fix some issue on my local files, so when add my local changes, if need can you adapt the PR? |
|
@VisionR1 I don't have anything else in mind to add ^^ |
- Improvement AttestationRepository.java and KeyBoxXmlParser.java to load a keybox.xml - Fix crash on Samsung Knox/RKP screens when integrity data is null - General improve for display proper the error messages - Update translation for the new error messages
|
Just uploaded my changes. |
|
So, now is ready? I'm curious to ask, why change the: import static io.github.vvb2060.keyattestation.lang.AttestationException.*; and added every error code ? |
|
@VisionR1 hold on, missing some checks I noticed and local changes, ill add a comment soon |
Don't worry, take your time. Yeah that i ask, why not keep the import static io.github.vvb2060.keyattestation.lang.AttestationException.*; and instead you have put all the code error separate? |
They where already like that but sure I'll change :) |
|
@VisionR1 ready, all yours! Cheers |
Yeah, instead of all the code error we use the *, for that i ask you why you change it and add all the code error. Also, in this file EatClaim.java instead of all the code error, keep the original: import static io.github.vvb2060.keyattestation.attestation.AuthorizationList.*; Like this can take all, and no need separete, or maybe you have change anything and needeed separete ? |
Nope, tested without it, i THINK i didnt miss anything else 😭 |
Don't worry, take a breath. I will check it one more. But maybe I missed something, we are human, we make mistakes. |
|
On RevocationList.java. The volatile additions are perfect and really help with thread safety for the Double-Checked Locking pattern. But, there is a issue with the timeout changes that will cause the refresh button to break on slow connections: The Problem: What happens on a slow network:
So, to fix this: Option 1: Change future.get(3, TimeUnit.SECONDS) to 30 so the app actually waits for new network timeouts to finish. Option 2: Keep the 3-second UI failover, but change networkExecutor to Executors.newCachedThreadPool() so that a stuck background connection doesn't block the user from trying to refresh again. Or if you have better fix, Already, i have fix this issue with slow network or VPN, so we don't want break again. See the issue: #16 |
This would make refresh visibly hang on bad networks
This seems to work, but repeated refreshes on a slow network connection accumulates concurrent stuck-connection threads with no limit
My suggested fix keeps the 3s UI response limit, keeping the single-thread executor (fixing the issue from option 2), and doesn't touch the timeout values |
wip but we cooking