SShortSingh.
Back to feed

Chrome 144 introduces declarative <geolocation> HTML element to replace JS API

0
·1 views

Google Chrome 144 has shipped a new HTML <geolocation> element that replaces the verbose navigator.geolocation JavaScript API with a handful of declarative attributes. The element supports three key attributes — accuracymode, autolocate, and watch — along with an onlocation event handler for capturing coordinate updates. It exposes properties mirroring the existing Geolocation API, including position.coords and position.timestamp, while adding four new events, notably promptaction and promptdismiss, which give developers visibility into browser permission prompts for the first time. A new :granted CSS pseudo-class allows UI states tied to location permission to be expressed in CSS rather than JavaScript logic. Browser support is currently limited to Chrome 144 and above, with no confirmed status from Firefox or Safari.

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 ·

PHP log parser handles millions of lines at fixed 44.5 MB memory using cube aggregation

A development team built a custom PHP log parser for Laravel to answer granular questions about which web crawlers fetched which URLs, on which dates, and with what HTTP status codes. The team abandoned GoAccess because its pre-aggregated report panels cannot be cross-referenced, making it impossible to determine, for example, whether Googlebot received any 404 errors. Their parser supports 13 log formats, including variations of the common log format, Cloudflare JSON, Caddy JSON, and W3C-style IIS logs, all normalized to UTC at parse time. Benchmarks showed the parser processing 500,000 lines at a peak memory of just 44.5 MB — a figure that remains constant regardless of file size, since no data accumulates in memory during processing. Results are stored in a PostgreSQL table keyed on a multi-dimensional cube of project, date, hour, bot, URL, and status code, enabling flexible cross-querying of log data.

0
ProgrammingDEV Community ·

Developer builds AI-powered Shopify audit tool Vetta, then takes codebase into own hands

A developer built Vetta, an AI-powered tool that audits Shopify stores for conversion issues and offers direct, actionable fixes rather than generic reports. The initial version was created in a single session using Emergent.sh, which allowed rapid prototyping without building everything from scratch. However, dissatisfaction with limited design control and the ongoing cost of token-based iterations prompted a change in approach. The developer exported the code to Git and shifted to a traditional development workflow to gain greater control over the product's design and direction. The project is now being used as a learning exercise to explore how AI can accelerate development while identifying areas that still require hands-on engineering work.

0
ProgrammingDEV Community ·

How one Laravel app uses Blade, Inertia, and Filament for three distinct purposes

A development team building a Laravel 13 application deliberately chose three different frontend approaches — Blade, Inertia with React, and Filament — each selected to best solve a specific problem. The public-facing site uses 26 server-rendered Blade views with minimal JavaScript, keeping SEO-critical data like breadcrumbs and JSON-LD in sync from a single source. The audit tool relies on Inertia and React 19 for its complex, interactive UI, with controllers passing readonly DTOs directly to pages, eliminating the need for a separate API layer. The admin console is handled entirely by Filament 5, where standard CRUD interfaces are generated with minimal custom code and tested via Pest integration. All three worlds share one application, one origin, and one CSS token sheet, though the team notes that mismatched client-side state — such as dark mode storage keys — can cause subtle inconsistencies when users move between sections.

0
ProgrammingDEV Community ·

Go 1.27 SIMD Matches NumPy Out of Cache but Loses When Data Fits In It

Go 1.27 introduced an experimental SIMD package in its standard library, prompting a developer to benchmark it against NumPy on a speaker-search task involving 346,000 vectors and 66 million multiplications per query. When the 253 MB dataset exceeded all cache levels, Go SIMD and NumPy returned nearly identical results at around 9.5–9.8 ms, a statistical tie. However, with a smaller 31 MB dataset that fit in L3 cache, NumPy's OpenBLAS backend was 2.4 times faster, reflecting years of hand-tuned, architecture-specific optimisation. Parallelising across eight cores yielded only a 3x speedup in both languages, revealing that memory bandwidth — not code quality — was the true bottleneck in the larger test. The key finding is that cache residency, not the choice of language or library, determines which implementation wins.