u32i64 / readlogs Goto Github PK
View Code? Open in Web Editor NEWAn unofficial web app for viewing Signal debug logs without manually downloading or unarchiving them
Home Page: https://readlogs.pages.dev
License: MIT License
An unofficial web app for viewing Signal debug logs without manually downloading or unarchiving them
Home Page: https://readlogs.pages.dev
License: MIT License
Copying is technically already possible, but would require a very long manual selection. A button to copy / download the text would probably be better.
Ideally, this would not make any network requests, since the plain text is already available locally.
The log level:
should probably be "pre"-parsed via nom first, similar to:
in order to avoid a panic in case it's not a valid log level.
The problem itself may be slightly out of scope for this project, but still there are a few things that could make the experience better:
As a starting point, some of these features could just depend on the existing "Expand UI" / "Collapse UI" toggle.
It seems like it is useful to be able to access the file picker quickly, but it being at the very top feels clunky because it takes up a lot of vertical space. Maybe it should instead:
<select>
element;Implement a "dark" appearance:
@media
-query;If parsing fails:
(Edit: the error format has changed and the "input"/"output" values aren't currently shown in any case. However, it may be useful to show "output" in the case mentioned above.)
Highlight the text that matched the search string (e.g. so it's easier to see what caused a log entry to be included in the results).
It may be useful to allow viewing multiple debug logs at once, for example to:
Due to Logcat entries not including the year, it's currently assumed to be the current year:
That's a problem in a few edge cases:
Maybe it's better to remove the year altogether, so that the app doesn't show wrong information. In that case, creating a date object should probably use a hardcoded year that includes February 29 (are there any other considerations that need to be made?), and after converting it to a string, remove the year.
Signal Android/Desktop
The file is gzip-ped plain text. The worker alters the response to indicate this; presumably, Cloudflare then picks the best compression to deliver the response to your browser (e.g. brotli). The browser uncompresses the response and provides it to the app in plain text.
So all compression work is done by Cloudflare and the browser; neither the worker itself nor the app.
IIRC CF only tries compression for a fixed amount of time. If it takes to long or the file isn't smaller the compression is aborted.
As the logs are already highly compressed CF won't touch it. The compression might still apply to the headers but I'm not to sure about that.
Also judging from the CF support article there is a list of mime-types they compress and who'd guess application/gzip
isn't one of them.
This can be confirmed when having a look at the request in the networks tab as no header like content-encoding | br
is applied to it.
I suggest the point 2 being unified into roughly what the ios text says
Parse the timestamps that Signal Android and Signal Desktop logs provide in the Time
key and show them like UTC log timestamps are shown.
Signal iOS debug log files don't contain dedicated information sections, but it may be useful to automatically "find" the log lines about remote config, startup, etc. with the latest timestamps and show them in the information tab (perhaps, across all files, then indicating that the information tab does not change based on switching of files).
Something like 7f763c4 would significantly improve the speed of Cloudflare Pages builds, but it fails due to this:
./trunk: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./trunk)
(and hence that change was reverted for now in 360cee2).
Is there a way to make that binary work (for what it's worth, it does work in GitHub Actions), or would a special binary be needed for Cloudflare Pages' environment?
Edit: similar issue has been reported in:
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.