Usman Baig
2c82c1a52a
fix: load full filter suggestions (up to 100) and fix Direct referrer duplicate
...
Filter dropdowns previously only showed ~10 values from cached dashboard
data. Now lazy-loads up to 100 values per dimension when the dropdown
opens. Also removes duplicate "Direct" entry from referrer suggestions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 23:27:54 +01:00
Usman Baig
0809c37067
fix: prevent duplicate filters, support Direct referrer, pass filters to Campaigns
...
- Deduplicate filters so clicking the same item twice doesn't stack identical pills
- Normalize "Direct" referrer to empty string so direct traffic filtering works
- Pass active filters through to Campaigns component so it respects dashboard filters
2026-03-06 22:40:57 +01:00
Usman Baig
5677f30f3b
feat: add dashboard dimension filtering and custom event properties
...
Dashboard filtering: FilterBar pills, AddFilterDropdown with dimension/
operator/value steps, URL-serialized filters, all SWR hooks filter-aware.
Custom event properties: pulse.track() accepts props object, EventProperties
panel with auto-discovered key tabs and value bar charts, clickable goal rows.
Updated changelog with both features under v0.13.0-alpha.
2026-03-06 21:02:14 +01:00
Usman Baig
e72e6f2ec5
feat: add AI traffic source identification
...
Display proper brand icons and names for AI referrers (ChatGPT,
Perplexity, Claude, Gemini, Copilot, DeepSeek, Grok, Meta AI,
You.com, Phind) in Top Referrers panel.
2026-03-06 19:25:05 +01:00
Usman Baig
48cf9a1f62
feat: replace settings page with SettingsModal
...
- Add SettingsModalProvider context and SettingsModalWrapper
- Wire Header onOpenSettings callback via LayoutInner pattern
- Remove old /settings page and SettingsPageClient
- Bump @ciphera-net/ui to ^0.0.88
2026-03-05 22:16:36 +01:00
Usman Baig
7d3f1cb10a
refactor: reduce stats.ts duplication with factory pattern (F-10, F-21)
...
Introduce buildQuery helper and createListFetcher factory to eliminate
near-identical param building and list endpoint boilerplate. File reduced
from ~600 to ~310 lines (~48% reduction) with identical runtime behavior.
2026-03-01 21:25:05 +01:00
Usman Baig
b7426d6128
fix: login loading overlay, deduplicate getCookieDomain (F-18, F-11)
...
- Login page shows LoadingOverlay during redirect instead of blank screen
- Extract getCookieDomain() to shared lib/utils/cookies.ts
2026-03-01 21:02:28 +01:00
Usman Baig
dfa887147a
fix: stabilize auth context effect deps and batch uptime cleanup
...
Extract stable primitives (isAuthenticated, userOrgId) from user object
for the checkOrg effect dependency array to prevent unnecessary re-runs
on every render. Batch uptime cleanup deletion (1000 rows/batch) to
avoid lock contention and WAL bloat.
2026-03-01 19:56:14 +01:00
Usman Baig
4de4e05ccb
fix: standardize funnel date format to YYYY-MM-DD and update changelog
...
Funnel stats API now uses start_date/end_date params consistent with
all other endpoints. Removed RFC3339 conversion helper. Added changelog
entries for audit fixes (B-7, B-11, B-23, B-38, B-42).
2026-03-01 19:36:38 +01:00
Usman Baig
8a7076ee1b
refactor: migrate dashboard to SWR hooks, eliminate all any[] state
...
Replace 22 manual useState + useEffect + setInterval polling with 11
focused SWR hooks. Removes ~85 lines of polling/visibility logic that
SWR handles natively. All any[] types replaced with proper interfaces
(TopPage, CountryStat, BrowserStat, etc.). Organization state in layout
typed as OrganizationMember[].
Resolves F-7, F-8, F-15 from audit report.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 18:42:14 +01:00
Usman Baig
c9123832a5
fix: fix broken images from CSP, remove dead code, upgrade React types
...
- Add ciphera.net and *.gstatic.com to CSP img-src (fixes app switcher
icons and site favicons blocked by Content Security Policy)
- Delete 6 unused component/utility files and orphaned test
- Upgrade @types/react and @types/react-dom to v19 (matches React 19 runtime)
- Fix logger test to use vi.stubEnv for React 19 type compatibility
2026-03-01 15:33:37 +01:00
Usman Baig
27158f7bfc
fix: enhance billing operations and session management in API
2026-03-01 14:33:28 +01:00
Usman Baig
b3a303d6df
fix: improve session management and UI highlights
2026-03-01 13:53:54 +01:00
Usman Baig
b5f83ce582
feat: add unit tests and CI configuration
2026-03-01 00:11:54 +01:00
Usman Baig
bce56fa64d
feat: implement refresh token functionality and update local storage management
2026-02-28 23:02:43 +01:00
Usman Baig
5ef6eafc63
feat: update notification preferences to include granular security alerts
2026-02-28 21:18:57 +01:00
Usman Baig
7053cf5d5e
feat: add security activity and trusted devices management to settings page
2026-02-28 19:58:49 +01:00
Usman Baig
22bc18a7cc
chore: update CHANGELOG.md to include Request ID tracing for debugging, enhancing request tracking across services, and update API client to propagate Request ID in headers
2026-02-27 17:26:08 +01:00
Usman Baig
8589842f16
chore: update CHANGELOG.md to include session expiration warning feature, enhancing user awareness, and update @ciphera-net/ui dependency to version 0.0.73 in package.json and package-lock.json
2026-02-27 14:24:07 +01:00
Usman Baig
3ff5ee4b6c
chore: update CHANGELOG.md to include session synchronization across tabs feature, enhancing user experience, and update @ciphera-net/ui dependency to version 0.0.72 in package.json and package-lock.json
2026-02-27 14:15:40 +01:00
Usman
335cfc1a00
Merge branch 'main' into staging
2026-02-27 13:26:49 +01:00
Usman Baig
b4b1348a94
chore: update CHANGELOG.md to include improvements in authentication flow, addressing CSRF handling and cookie management for seamless sign-in and enhanced security
2026-02-27 11:52:20 +01:00
Usman Baig
704a38f3df
chore: update CHANGELOG.md to include lighter dashboard data transfers for improved loading times and new focused dashboard endpoints for efficient data retrieval
2026-02-27 09:24:01 +01:00
Usman Baig
4cff0c621d
feat: implement request deduplication and caching in API client for improved performance
2026-02-27 09:17:51 +01:00
Usman Baig
36774cc995
chore: update CHANGELOG.md to include smarter data fetching with request deduplication and caching for improved performance
2026-02-27 09:13:29 +01:00
Usman Baig
3efd23b386
chore: update CHANGELOG.md to include enhancements for dashboard performance, including smarter updates, real-time visitor tracking, and faster event processing
2026-02-27 09:10:08 +01:00
Usman Baig
3fe20a4b1b
[Feat] Pulse Admin Dashboard - manually grant plans to organizations
...
- Add admin layout with /api/admin/me check and access denial
- Add admin pages: dashboard, orgs list, org detail with grant form
- Add lib/api/admin.ts client for admin endpoints
Made-with: Cursor
2026-02-25 21:58:23 +01:00
Usman Baig
801dc1d773
chore: add @simplewebauthn/browser dependency to package.json and package-lock.json for WebAuthn support
2026-02-23 20:18:18 +01:00
Usman Baig
3cb5416251
fix: implement automatic token refresh to prevent frequent re-logins, enhancing user experience during inactivity
2026-02-23 18:57:03 +01:00
Usman Baig
27b3aa8380
feat: add 2FA recovery codes regeneration and backup functionality, enhancing account security
2026-02-23 11:43:57 +01:00
Usman Baig
b54af6c03a
fix: require password confirmation to disable 2FA, enhancing security against session hijacking
2026-02-23 11:35:02 +01:00
Usman Baig
39eac4100e
feat: update favicon retrieval to use a centralized service URL for consistency across the application
2026-02-22 21:02:11 +01:00
Usman Baig
2d0307d328
fix: enhance error logging by replacing console.error with a centralized logger across the application to improve security and maintainability
2026-02-22 20:57:21 +01:00
Usman Baig
8007900940
feat: enhance accessibility across the application by improving keyboard navigation and screen reader support for various components
2026-02-22 20:39:18 +01:00
Usman Baig
06f54176f1
refactor: enhance type safety by replacing any types with stricter types across the codebase, improving error handling and reducing potential bugs
2026-02-22 20:29:16 +01:00
Usman Baig
1947c6a886
fix: remove debug logs from authentication and organization switching to enhance security and prevent sensitive information leakage
2026-02-22 20:18:06 +01:00
Usman Baig
18d9f59e5d
fix: correct organization context switching to ensure secure session storage when switching away from deleted organizations
2026-02-22 20:14:18 +01:00
Usman Baig
da0366603e
feat: improve form usability with auto-focus, character limits, and unsaved changes warnings for better user experience
2026-02-22 20:02:50 +01:00
Usman Baig
d1d82f5b3c
feat: refine data retention adjustment logic in SiteSettingsPage to snap to nearest valid option upon subscription load
2026-02-21 19:58:48 +01:00
Usman Baig
1e41bedc86
fix: update maximum data retention for business plan from 60 to 36 months and adjust retention options accordingly
2026-02-21 18:28:56 +01:00
Usman Baig
1ae20dba4c
feat: add data retention settings to SiteSettingsPage, including subscription-based options and UI updates for user interaction
2026-02-21 18:21:43 +01:00
Usman Baig
cc89a27972
feat: add invoice preview functionality in OrganizationSettings to enhance user experience with upcoming billing details
2026-02-20 16:18:00 +01:00
Usman Baig
99e9235f1f
feat: add resume subscription functionality in OrganizationSettings for improved user control over billing
2026-02-20 16:07:17 +01:00
Usman Baig
a4f2bebd10
feat: enhance OrganizationSettings to display Tax IDs alongside business name for improved billing clarity
2026-02-20 15:36:50 +01:00
Usman Baig
17106517d9
refactor: remove embedded checkout components and update billing API integration for streamlined checkout flow
2026-02-20 03:51:20 +01:00
Usman Baig
0bbbb8a1af
feat: integrate Stripe for embedded checkout; update billing API to return client_secret and adjust checkout flow in components
2026-02-20 03:41:35 +01:00
Usman Baig
6d277b126e
feat: display billing information with business name in OrganizationSettings component for improved user clarity
2026-02-20 03:10:08 +01:00
Usman Baig
4410366ccf
feat: add optional business_name field to SubscriptionDetails interface in billing API for enhanced billing information
2026-02-20 03:03:21 +01:00
Usman Baig
826dbdbe63
feat: implement site limits based on subscription plans across dashboard and new site creation; enhance UI feedback for plan limits
2026-02-20 02:46:23 +01:00
Usman Baig
ae91147b6c
chore: update @ciphera-net/ui dependency to version 0.0.57 in package.json and package-lock.json; refactor imports across multiple components for consistency
2026-02-17 20:49:55 +01:00