Repository navigation
feat(components): a user header for /summary and /archive - #109
Merged
Merged
Conversation
Crypto convention has Alice send and Bob receive, but the mobile demo was Alice's rageshake, so /decryption opened on Bob sending to her. The demos swap roles: the mobile demo is Bob (BOBPHONE), the web demo Alice (ALICEWEB). s5, the newest session, now shows a key Alice shared with Bob's other device (BOBLAPTOP) but not his phone: the UTD /decryption opens on, and the one the screenshot captures.
No log states on every platform how many rooms a user is in. Element X
iOS logs its room lists' sizes ("<list>: Rebuilding room summaries for
N rooms"); every log names rooms in its lines. roomCount keeps both:
the newest room list size, when there is one, and the distinct rooms
mentioned, a lower bound that tells how much of the user's rooms the
rageshake covers.
ArchiveSummary carries each file's rooms, so /archive can merge them
over the whole archive.
/summary showed whose rageshake it is in its header; /archive only had it in the details card at the bottom of the page. UserHeader is that header, shared: avatar, display name, user and device IDs, plus the user's rooms (the app's room list size when logged, and the rooms the logs mention). Clicking it opens the device keys from details.json, each with its role and a copy button: the curve key is how a sender's logs name the device, so it is what to search for in the other side's rageshake.
…them A count in the /archive table pointed at a problem but the file still had to be opened and the view picked by hand. Each count now opens its file there: lines on /logs, Sentry, errors and warnings filtered on /logs, requests on /http_requests, a status chip filtered to that status. The UTDs cell has two links: reported ones on /decryption filtered to reported, all of them unfiltered. /http_requests hides incomplete requests by default, so the incomplete chip turns them on before filtering to them.
Contributor
|
🚀 PR Preview ready: |
Merging this PR will not alter performance1 warning
Comparing |
The "N files" count in the /archive header now opens every log of the archive merged, always on /summary, even when the first log is undated and would otherwise land on /logs. The clickable counts had lost their bold: the link's `font: inherit` came later in the stylesheet than .errorCount and the others. It moves into the zero-specificity rule with the colour, so each count's own class wins.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/archive now shows whose rageshake it is in its header, like /summary does, through a shared
UserHeader. The header also shows the user's rooms: the app's room list size when Element X iOS logged it, and the distinct rooms the logs mention. Clicking the header opens the device keys fromdetails.json, each with a copy button. The curve key is how a sender's logs name the device, so it is what to search for in the other side's rageshake.Each count in the /archive table now opens its file on the view that details it, instead of making you open the file and pick the view by hand.
Changes
feat(demo): Alice sends, Bob gets the UTDs: the demos swap roles to follow the crypto convention. The mobile demo is now Bob (BOBPHONE) and the web demo Alice (ALICEWEB), and the newest session shows a key Alice shared with Bob's other device but not his phone.feat(utils): count the user's rooms, and the rooms the logs mention:roomsInLogreads one log, androomCountmerges logs. For each Element X room list it keeps the newest size and shows the largest, so a filteredAllRoomsnever hides the unfilteredStaticAllRooms.ArchiveSummarycarries each file's rooms.feat(components): a user header for /summary and /archive:UserHeaderwith avatar, display name, user and device IDs, rooms, and the device keys panel. /summary reuses the archive's room summaries when its files came from /archive, instead of scanning them again. /archive shows the rooms once every file is summarized.feat(views): archive counts open their file on the view that details them: lines open /logs, and Sentry, errors and warnings open /logs filtered. Requests open /http_requests, and a status chip filters it to that status. The incomplete chip also turns on incomplete requests, which /http_requests hides by default. The UTDs cell has two links: reported UTDs on /decryption filtered to reported, and all of them unfiltered.For reviewers
Testing
npm run build,npm run lintandnpm test -- --run --coveragepass (2646 tests, coverage thresholds met).