Comments (9)
- It shouldn't be on the fly - only when the "See more" screen is open
- The verification doesn't unpack the entire app into memory - it operates on the streams in the file to verify the bytes. I think it is fairly memory efficient.
from signal-x-proofmode.
@maxSafronovForte – unzipping on the fly and fetching the PGP key for verification, is that doable? I remember we said in #34 that reading from the actual ZIPs could be really hard.
from signal-x-proofmode.
The ProofMode library provides a method for unpacking the zip and verifying everything. It just needs to be given an InputStream that points to the zip bytes, and then it returns a boolean whether the integrity check was successful or not.
I would recommend then, that any UI display would say something like "Signature and Hash Integrity Confirmed" possibly with "Signed by Key 0xABC123"
from signal-x-proofmode.
We can't do unzipping file on a fly(in message screen), cause it'll need a lot of resources of device
Example:
- User sent us 50 messages
- When user opens dialog with bot we can't start unpacking all zips, we can unpack only that files, which user can see
And if user do scroll - we start a lot of background threads which will unpack zips.
It cause time and device memory, when not every device can give us
from signal-x-proofmode.
We can put key in message body and in this case it'll easier to do
from signal-x-proofmode.
However, we can check whatever we want in "See more" screen
Example:
- User press "See more" button
- We pass zip file and other info in new screen
- Show loading state while we unzip data and do some logic
- Show whatever we want after loading state finished
from signal-x-proofmode.
So if we need to do verification in "See more" screen, we can plan this work just after Mobile Coin integration
What do you think, @basilesimon ?
from signal-x-proofmode.
Well, it seems like the "see more" button is offering us a neat way of doing this. I'm in agreement that, if feasible, this verification / check is worth surfacing – it would be a waste otherwise!
Nathan, Carrie and I actually discussed what "verified" means or might mean to a user. So your formulation below seems just right:
"Signature and Hash Integrity Confirmed" possibly with "Signed by Key 0xABC123"
Max, we can look at how to rank it in the priorities list on the board. I suspect we're starting to have a long list there, but at least that gives us options.
from signal-x-proofmode.
I've started looking into this. One challenge is that See More... is attached to the Photo+Message proof display, while the proof zip is in the subsequent separate message. Figuring out how to get a URI/inputstream handle to the proof zip now, which I expect @maxSafronovForte knows how to do.
from signal-x-proofmode.
Related Issues (20)
- Proof UI: display date photo was taken HOT 1
- Update android-libproofmode library in custom Signal app HOT 1
- Proof UI: use dark background check mark HOT 1
- ZIP filename should be the hash of the ZIP HOT 6
- Symbolology: Swap lock icon in favour of...?
- Include thumbnail of photograph in local settings HOT 2
- Copy tweak: replace "CID" with "hash" HOT 1
- Remove "share basic/ robust" buttons HOT 1
- Easy, lightweight way to surface the actual CID instead of the hash? HOT 5
- Add photo to ZIP, so it validates HOT 2
- Replace placeholder in "see more" with real data HOT 1
- Error: Unauthenticated
- Regression: missing PGP signature HOT 1
- New copy at top of "See more"
- Include a light theme for local settings page
- Sending to several contacts (not possible right now)
- Capturing media from inside a conversation (not possible right now)
- Disable uploading/picking from gallery?
- Capturing several photos
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 signal-x-proofmode.