From 37eb49eb3732e2a9bd82408301e93583f6990cfc Mon Sep 17 00:00:00 2001 From: Usman Baig Date: Wed, 11 Mar 2026 11:30:21 +0100 Subject: [PATCH] feat: action-scoped captcha tokens for share access and org settings Captcha on shared dashboard and organization settings now passes action-specific identifiers. Bumps @ciphera-net/ui to 0.2.1. --- CHANGELOG.md | 1 + app/share/[id]/page.tsx | 1 + components/settings/OrganizationSettings.tsx | 1 + package-lock.json | 8 ++++---- package.json | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce3740e..3f3c659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ### Improved +- **Smarter bot protection.** The security checks on shared dashboard access and organization settings now use action-specific tokens tied to each page. A token earned on one page can't be reused on another, making it harder for automated tools to bypass the captcha. - **More resilient under Redis outages.** If the caching layer goes down temporarily, Pulse now continues enforcing rate limits using an in-memory fallback instead of letting all traffic through unchecked. This prevents one infrastructure hiccup from snowballing into a bigger problem. - **Better handling of traffic bursts.** The system can now absorb 5x larger spikes of incoming events before applying backpressure. When events are dropped during extreme bursts, the system now tracks and logs exactly how many — so we can detect and respond to sustained overload before it affects your data. - **Faster map and globe loading.** The interactive 3D globe and dotted map in the Locations panel now only load when you scroll down to them, instead of rendering immediately on page load. This makes the initial dashboard load faster and saves battery on mobile devices. diff --git a/app/share/[id]/page.tsx b/app/share/[id]/page.tsx index cc28021..256f640 100644 --- a/app/share/[id]/page.tsx +++ b/app/share/[id]/page.tsx @@ -238,6 +238,7 @@ export default function PublicDashboardPage() { setCaptchaToken(token || '') }} apiUrl={process.env.NEXT_PUBLIC_CAPTCHA_API_URL} + action="share-access" />