SShortSingh.
Back to feed

How Procshot Keeps Screenshot Step Numbers Intact Across Browser Sessions

0
·1 views

Procshot is a Chrome extension that automatically generates numbered, step-by-step guides from browser screenshots. A key technical challenge arose because Chrome's Manifest V3 service workers shut down after roughly 30 seconds of inactivity, causing in-memory sequence counters to reset mid-guide. Developer fixed this by storing the sequence number in chrome.storage.session, which persists across service worker restarts for the duration of a browser session. To handle guide resets intelligently, Procshot combines a configurable 30-minute inactivity timer with an explicit 'New Guide' button, assigning each guide session a unique ID via crypto.randomUUID(). Step-number badges cannot be drawn directly in the service worker since the Canvas API is unavailable there, requiring an offscreen document workaround instead.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Developer set out to disprove AI ownership theory, then proved it right

Software developer Matt Whetton had argued that AI tools have created a new divide in every project — between code a developer truly owns and code they effectively rent, regardless of technical skill. A fellow developer initially disagreed, believing his own AI-assisted workflow left his sense of code ownership intact, since he reviewed and could work back through anything AI generated. His view shifted when he built a proof-of-concept for a client in Python, a language he can read but does not write, using AI to translate his architecture into working code. The design and reasoning were entirely his, but the implementation was something he could not rebuild or maintain without significant extra effort. The experience confirmed Whetton's thesis firsthand: the ownership line appears not just for non-technical users, but for any developer working outside their native stack.

0
ProgrammingDEV Community ·

Developer Launches Personal Portfolio Site on GitHub Pages

A developer has launched a personal portfolio website hosted on GitHub Pages. The site consolidates their projects, GitHub repositories, and contact information in a single location. The developer is currently focused on learning Python backend development. They are documenting their learning journey by building projects and sharing their findings publicly. The developer has invited feedback from visitors to the portfolio.

0
ProgrammingDEV Community ·

Developers Can Automate Affiliate Marketing With Custom Tracking Tools

A technical guide published on DEV Community outlines how software developers can build automated systems to manage affiliate marketing more effectively than manual methods. The guide covers four key areas: automated discovery of high-commission affiliate programs, custom click tracking, real-time performance monitoring, and revenue analytics. Using Python, developers can query affiliate networks like Impact.com to filter programs by niche and minimum commission rate. A conversion tracking system is also demonstrated, generating unique tracking links and recording sales data via webhooks. The guide further describes a performance monitoring class designed to send alerts when key metrics fall below defined thresholds.

0
ProgrammingDEV Community ·

Developer Builds Strongly Consistent Exchange on Amazon Aurora DSQL for H0 Hackathon

A developer has built 'Parity', an experimental event exchange platform, as part of the H0 Hackathon, using Amazon Aurora DSQL — Amazon's serverless distributed SQL database with strong consistency. The project aims to collapse three traditionally separate exchange components — a clearinghouse, a distributed ledger, and replication infrastructure — into a single database primitive. Parity leverages Aurora DSQL's optimistic concurrency control by scoping order matching per market and executing trades as double-entry transactions across distinct account rows, minimising conflicts. A conditional debit query enforces that buyers cannot overspend, making negative balances and double-spends a database-level guarantee rather than application logic. A stress test of 216 concurrent trades across three markets confirmed zero ledger imbalance, conserved cash totals, and no negative balances on the live cluster.

How Procshot Keeps Screenshot Step Numbers Intact Across Browser Sessions · ShortSingh