Skip to content

Repository files navigation

Shakeview

codecov

A web viewer for rageshake logs produced by the Matrix Rust SDK and Element X apps (Android, iOS). All processing runs locally in your browser — no data is sent anywhere.

Live at https://manuroe.github.io/shakeview/

Summary view Summary view

Logs view Logs view

Logs by span Logs by span

Sync waterfall Sync waterfall

Demo mode

Click "Try with demo logs" on the landing page to explore the app without a real log file.

Run locally

npm install
npm start

Open http://localhost:5173

Rageshake CLI

cli/rageshake.ts provides compact, LLM-friendly views over rageshake archives (summary, module overview, span tree, lifecycle timeline, filtered slices) — every command emits bounded output sized for an agent's context window.

npm run rageshake -- <command> <path> [options]   # dev, runs via tsx

For consumers (agents, scripts), build the standalone bundle once and run it with plain node — it is the package's bin:

npm run build:cli
node dist-cli/rageshake.mjs <command> <path> [options]

Run with no arguments for the full command reference.

Opening a log line by URL

rageshake serve [dir] serves the built viewer and a directory of rageshakes on one origin (http://127.0.0.1:7357 by default), so an archive can be opened by link instead of by dropping it in — and a specific line pointed at:

rageshake serve ~/Downloads
# http://127.0.0.1:7357/#/logs?archive=/rageshake.tar.gz&file=console.2026-07-21-14.log.gz&line=1234

line= is the number the CLI prints in each line's [<line>|f<tag>] prefix, and file= is the log that f<tag> stands for in the # files: legend above the output — so a line you found in the terminal is one click from its context in the viewer. Naming the file keeps it quick: one log parses in ~0.3s, where merging all 56 logs of a real archive takes ~2.4s. Drop file= to open the whole archive merged instead; line=A-B highlights a range. The server is read-only, bound to localhost, and safe to start twice (the second run reuses the first).

Browser extension

The extension enhances listing pages of any rageshake server deployment by redirecting /api/listing/* pages into the bundled viewer and rendering them with the same archive-style screen used by the web app. It auto-detects rageshake archive pages using the standard /api/listing/* path — no configuration needed.

Without extension With extension
Rageshake listing page without extension Rageshake listing page without extension Rageshake listing page enhanced by extension Rageshake listing page enhanced by extension

Note: The extension is not yet published on the Chrome Web Store or Firefox Add-ons. It must be installed manually as an unpacked/temporary extension.

Install

Chrome / Edge

npm run build:extension

Output is written to extension-dist/.

  1. Go to chrome://extensions (or edge://extensions).
  2. Enable Developer mode (toggle, top-right).
  3. Click Load unpacked and select the extension-dist/ folder.

To pick up changes: run npm run build:extension, then click the ↺ refresh icon on the extension card.

Firefox — temporary (session only)

extension-dist/ uses a Chrome-format manifest that Firefox does not support. Build the Firefox-specific bundle first:

npm run build:extension:firefox

Then:

  1. Go to about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on… and select extension-dist-firefox/manifest.json.

To pick up changes: re-run npm run build:extension:firefox, click Reload next to the extension, then reload the rageshakes tab (Cmd+R).

The extension is removed when Firefox closes.

Firefox — persistent (via web-ext)

npm run webext:run

This builds the Firefox bundle and launches a dedicated Firefox profile with the extension pre-loaded. Preferred for active development.

Usage

Navigate to any rageshake listing URL (e.g. https://<your-rageshake-server>/api/listing/<id>/). The content script runs automatically and opens the bundled archive-style viewer for that listing, including per-file summaries, details.json metadata, and screenshot thumbnails when present.

Contributing

See AGENTS.MD for architecture notes and agent/contributor guidance.

About

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages