Comments (9)
Oh that sounds ugly. That would be a subtle one. We'll dive into this.
from irmamobile.
Let me know if you need more information. I kept my Yivi app in this state to help you reproduce the issue. You know how to contact me directly :)
from irmamobile.
It would be practical for us to know:
- Which session were you trying (only disclosing pbdf.sidn-pbdf.email.email, or something more complicated)?
- Did you already have an unexpired attribute, or did you obtain it using the 'Reobtain' button?
- After you selected the unexpired attribute, did the final overview screen actually show this unexpired attrbute? Or did it still show the expired attribute?
from irmamobile.
Sure!
- only disclosing email:
{ "@context": "https://irma.app/ld/request/disclosure/v2", "disclose": [[["pbdf.sidn-pbdf.email.email"]]] }
- Did not click re-obtain because it is an unused email address nowadays, so don't want to renew it. And there is no GUI interface to delete an expired attribute if you don't want it anymore.
- The final overview screen showed a different email address (the unexpired one). But the site I revealed to did not accept my attribute. I did not understand until I looked at the logs that clearly showed: it was another attribute (the different mail address), and this one was expired (so rejected).
I can not reproduce the issue, so it might be a race condition in loading the data inside the app, or something like that. Or it might be different in the new version as my app auto updated last night (as shown by the overview in Google Play Store).
from irmamobile.
Hey @bvgastel, thank you for reporting this issue. I am currently investigating it with Ivar. So far, I'm not really sure how it could have happened, and I'm not able to reproduce it. If I'm understanding correctly, this only happened once? Or was it reproducible before the update? Nevertheless, we will keep an eye on it.
Regarding the other issue, the problem with deleting revoked/expired credentials has been fixed in #169, and it should be included in the new release.
from irmamobile.
No problem! I was very frustrated for about 2 days (not full time ;) because a new IRMA/Yivi connector I was making did not work. Only after properly checking the actually disclosed attribute, I realized the GUI did show something else. So I replicated it 20-30 times or so over 2 days.
I never 'reboot' the app, so it might be that the Yivi app had a data race internally. What I remember is: I had 3 expired mail attributes, I renewed 2 of them. But not the first one (see original post). So it might be something with the renewal code, as that code path was activated for different attributes.
Hope this info helps. And thanks for fixing the other issue in #169.
from irmamobile.
I'm still unsure about how this issue could have happened. I attempted the following steps (on 7.3.0):
- Issued three credentials of the same type.
- Revoked all three (assuming it would work the same as expired credentials, which are difficult to test/mock).
- Renewed the last two credentials, resulting in five total credentials with three revoked.
- Started a disclosure session.
- The first non-revoked credential is selected.
- Finished the disclosure session.
- Logged the
disclosureChoices
in theRespondPermissionEvent
that was dispatched on theIrmaRepo
. - The log matched the first non-revoked credential.
Based on my observations, I have a few guesses about the issue:
- It may be a rare race/timing issue.
- It may only occur with expired credentials, not revoked ones.
- The problem could be at a deeper level, possibly in the
IrmaRepo
or irmago
from irmamobile.
Yeah, these are the frustrating and hard to reproduce bug reports. As I can also not reproduce anymore (might be because my app updated/restarted), I would:
- maybe add some extra check in the app that the credential that is being transmitted is the one that that is selected (depending on the code structure, reporting, etc this can be useful if there is time between);
- after that: close this issue, and wait.
from irmamobile.
I tried building such a check, but I'm not sure this is even possible with the way things are set up right now. I could build a check to ensure that the credential is not expired/revoked, but that would not cover all cases, so I'm hesitant to do that. I'm kind of hitting a wall with this issue, so I guess we have to close it for now. We will keep this on our radar, however.
If you happen to encounter this problem again while working on your connector, please try to collect as much data as possible (such as screenshots or logs). Feel free to contact me directly or reopen this issue. I'm sorry for the inconvenience
from irmamobile.
Related Issues (20)
- feature request nfc support HOT 1
- F-Droid can't build HOT 16
- PlatformException: A request for permissions is already running
- Issue with Localization: Unable to Display Language Code "zh" After Recompilation HOT 1
- PIN screen does not always show digit buttons 9 and 0 HOT 1
- Keystore operation failed errors on Samsung Galaxy S21 series HOT 3
- KeyshareEnrollmentMissingSessionEvent has not been fully implemented HOT 1
- 'No Activity found to handle Intent' when opening URL to obtain new data
- Integration tests run against improvised test backend
- Session requests where attributes should be 'not null' are not clearly explained in the UX
- Mention: organization data source
- Presentation: LoA, validity period
- Email issuer
- Pincode trigger
- Integration tests crash on physical iOS devices when using XCode 15
- iOS SDK version 16 (XCode 14) is not supported anymore
- Open QR scanner on launch option does not always work when app is active on the background
- App for Linux phones requested HOT 1
- Android Digital Asset Link JSON file not present for open.yivi.app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from irmamobile.