Urgent.News

What's breaking now, across thousands of outlets.

Tech

How my 1.17 MB PWA updates itself without an app store (7-endpoint config fan-out + a strict service worker)

I build RKMovies, a small 4K media player that ships as a 1.17 MB Android APK and as a PWA on our own site. No Play Store means no update channel. So when we want to change a notice, a download link, or bump the version prompt, the app has to fetch config at runtime. Here is what we landed on in updater.js and sw.js . The config fan-out fetchConfig() fires 7 GET requests concurrently:…

RKMovies, a compact 4K media player, functions as both an Android APK and a PWA. Without an app store, updating its content is a challenge. To overcome this, updater.js and sw.js were developed. The fetchConfig() function sends seven concurrent GET requests to various sources, each with a 4-second timeout and no-store cache directive.

Responses must be valid JSON containing at least one of platforms, version, or notice. The seven endpoints ensure redundancy; if one fails, another will step in. The highest latest_version is chosen, preferring platform-specific versions over the top-level one. This version is stored in localStorage, with fallback to the cached version if all requests fail.

The service worker, sw.js, precaches an 8-file shell, replacing the old shell with the new one on the next load. Code assets are served only from exact cache matches, while other files fall back to the cached shell. This setup allows for 1.17 MB APK updates, changing download links, notices, and prompts without a store release. The whole process is dependency-free, and the config fetch is a simple GET of a static JSON file.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Website vs Web App: Which Does Your Business Need?

Many businesses ask for "a website" when what they really need is a web application, or the other way round. Here is a short guide to telling them apart and planning the right project.

  • A website showcases business information, design, and search visibility
  • A web application enables user actions, database, and business rules
  • Start with smallest useful version, refine based on user feedback

A Simple Way to Check Your Freelance Project Quote

A client asks you to build a small website. You estimate the work will take about 10 hours, pick an hourly rate, and send over a fixed price.

  • Freelance project cost includes time, design, development, and revisions.
  • Add 30% profit margin by dividing cost by 0.70 to set quote.
  • QuoteForProfit tool simplifies quote creation with time, costs, fees, margin.

Hash Generator: When sha256sum -c Says FAILED but the Tarball Is Fine

A vendor sent us a signed build of their SDK last month. Version 2.4.1, one tarball, one checksums.txt . Straightforward.

  • sha256sum -c reports FAILED checksum despite fine tarball
  • Windows-generated checksums.txt uses ^M instead of LF line endings
  • Binary hashing and encoding normalization confirm tarball integrity

Jira vs Notion vs Trello for Project Management 2026: Pick by Workflow, Not by Feature Count

Jira vs Notion vs Trello for Project Management 2026: Pick by Workflow, Not by Feature Count The quick answer: choose Jira if your team runs structured agile software development and wants the deepest…

  • Jira excels for structured agile software development with deep Scrum and Kanban tooling
  • Notion offers an all-in-one workspace with customizable databases and AI features
  • Trello's simple Kanban interface makes it ideal for small teams and personal projects

Reject Unsafe Integer Quantities Before Summing an Order Import

An order importer can reject negative quantities and still lose the exact count. JavaScript's ordinary numbers have a safe integer range.

  • Validate and safeguard against unsafe integer quantities during summation.
  • Reject whitespace, signs, fractional units, and leading zeros in input.
  • totalUnits function checks safe integer boundaries at each summation step.

More from Saturday 7 November →