Union Raid data, right where you need it — Pull Union Raid data with ease. interactive visualizations, clarity to every metrics, season-aware cache, and one-click export.
https://www.blablalink.com/shiftyspad/union-raid is highly tedious, that's all.
shiftypad-extension Manifest V3 Chrome extension designed to transform how Union leaders and players experience Union Raids. By automating data extraction and providing rich, local interactive analytics directly in your browser, it solves these headaches seamlessly:
- Instant Interactive Analytics: A sleek displaying responsive visual reports powered by ApexCharts, including player rankings and residual damage.
- Automated DOM Scraping: Injects safe page-side content scripts to scrape both summary (
MemberRow) and detailed attempt-level raid results (PlayerRaidResult[]) instantly. - Season-Aware Local Cache: Automatically structures and caches all scraped data per season in
chrome.storage.local, ensuring fast load times and preventing redundant DOM scraping. - One-Click Exports: Standardizes data exports for external planning or sheet integrations.
- True Efficiency Analysis (Residuals): Uses an ordinary least squares (OLS) linear model (
expected_damage = a * synchro + b) to rank players based on actual performance versus expected baseline, making it easy to identify high-performing members.
- Bun >= 1.3.13 or higher
- Summary data is normalized to
MemberRow(name, count, damage, synchroLevel). - Detailed scrape data uses
PlayerRaidResult[](player, synchro, attempts, damage per boss). GetMembersResponsebundles union metadata (name, id) with seasonal context (key, text) and data payload.- Cache keys are deterministic and season-aware:
- Damage:
ALL_UNION_RAID_DAMAGE_DATA_<IDENTIFIER>__<SEASON_KEY> - Union metadata:
UNION_<IDENTIFIER>__<SEASON_KEY>
- Damage:
IDENTIFIERis derived from theopenidquery parameter, falling back to the URL pathname.SEASON_KEYis extracted from the season text in the DOM, falling back toSEASON_CURRENT.
The current state testing is not done yet, you can see object scripts in file package.json or /tests/ directory.
Blablalink uses Tencent's Aegis SDK for performance logging, error tracking, and telemetry monitoring on their frontend.
- Frontend Change Detection: To prevent DOM structure changes from silently breaking the extension's DOM scrapers, the development environment utilizes the
bun run blablalink:version. - Telemetry Verification: The script queries
blablalink.comdirectly, parses the main entry script to locate the Aegis SDK version, release time, current Vite build slot, and content hash, and matches them againstaegisVersionCache.json.
This extension uses ApexCharts to render modern, interactive data visualizations directly in the extension's popup dashboard.
- Local Sandbox Compliance: Because Chrome Extension Manifest V3 enforces strict Content Security Policies (CSP) forbidding the execution of external/remote Javascript, ApexCharts is downloaded locally during the build stage using the
bun run download:apexcommand (implemented inci/downloadApex.ts). It retrieves the exact minified runtime version specified inpackage.jsonand bundles it directly intodist/apexcharts.min.js.
This tool can be freely copied, modified, altered, distributed without any attribution whatsoever. However, if you feel like this tool deserves an attribution, mention it. It won't hurt anybody.
Licence: WTF.
