Usman Baig
20628fa6ab
fix: preserve org_id in auth refresh, fix org switcher navigation
2026-03-27 12:03:56 +01:00
Usman Baig
5cff767e32
fix: org switch now updates auth context immediately — no stale org in header
2026-03-26 23:59:30 +01:00
Usman Baig
1c26e4cc6c
fix: resolve intermittent auth errors when navigating between tabs
...
Token refresh race condition: when multiple requests got 401 simultaneously,
queued retries reused stale headers and the initiator fell through without
throwing on retry failure. Now retries regenerate headers (fresh request ID
and CSRF token), and both retry failure and refresh failure throw explicitly.
SWR cache is now invalidated after token refresh so stale error responses
are not served from cache.
2026-03-13 10:52:02 +01:00
Usman Baig
205cdf314c
perf: bound SWR cache, clean stale storage, cap annotations
...
Add LRU cache provider (200 entries) to prevent unbounded SWR memory
growth. Clean up stale PKCE localStorage keys on app init. Cap chart
annotations to 20 visible reference lines with overflow indicator.
2026-03-10 21:19:33 +01:00
Usman Baig
ad806e0427
fix: remove reload-based stale build recovery to stop login loop
...
window.location.reload() causes infinite loops when the CDN keeps
serving cached assets. Instead, silently treat Server Action failures
as no-session — the OAuth flow uses full navigations (window.location.href)
which naturally fetch fresh content from the server on return.
2026-03-07 20:02:58 +01:00
Usman Baig
6338d1dfe7
fix: prevent infinite reload loop on stale build recovery
...
Use sessionStorage guard so the hard reload only fires once. If the
reload doesn't fix it (CDN still serving stale JS), fall through
gracefully instead of looping forever.
2026-03-07 19:55:16 +01:00
Usman Baig
d2dfe62993
fix: recover gracefully from stale Server Action hashes after deployment
...
Wrap all Server Action calls (getSessionAction, exchangeAuthCode,
logoutAction) in try-catch so a cached browser bundle with old action
IDs triggers a hard reload instead of an infinite loading spinner.
2026-03-07 19:37:41 +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
b3a303d6df
fix: improve session management and UI highlights
2026-03-01 13:53: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
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 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
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
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
ead1e006dc
fix: validate returnTo parameter in auth callback and update default organization name in welcome page
2026-02-09 09:38:44 +01:00
Usman Baig
0f7e644f17
fix: fetch full profile after login so header shows display name without refresh
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 21:21:59 +01:00
Usman Baig
c715bc4ce4
refactor: update routing logic to redirect to '/welcome' after auth callback and handle organization checks
2026-02-08 13:53:54 +01:00
Usman Baig
078a3ded82
chore: ciphera-ui 0.0.48, fetch full profile including display_name on init
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 12:40:34 +01:00
Usman Baig
d96f7cf1a4
Add display name to profile settings: User type, updateDisplayName API, ProfileSettings
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 01:50:33 +01:00
Usman Baig
aaf224a278
refactor: migrate UI components to @ciphera-net/ui v0.0.11
2026-01-23 18:35:17 +01:00
Usman Baig
1be2c95046
fix(branding): update logo references from 'ciphera_icon_no_margins.png' to 'pulse_icon_no_margins.png' across the application for consistent branding
2026-01-23 11:38:05 +01:00
Usman Baig
3996c2550e
feat(auth): implement role-based access control in SiteDashboard and SiteSettings, enhancing user experience with edit permissions
2026-01-22 20:28:44 +01:00
Usman Baig
c5d116b334
refactor(loading): enhance LoadingOverlay integration in HomePage and AuthCallback for consistent loading experience
2026-01-22 18:40:56 +01:00
Usman Baig
12292b62a8
refactor(loading): streamline LoadingOverlay usage in HomePage and AuthCallback to return null during loading states
2026-01-22 18:36:03 +01:00
Usman Baig
ef43c7376a
fix(loading): remove animation from LoadingOverlay for improved performance
2026-01-22 16:30:29 +01:00
Usman Baig
bf9b359cd6
fix(auth): prevent redirect loops during auth callback processing in AuthProvider
2026-01-22 16:01:54 +01:00
Usman Baig
38baa0504b
fix(auth): correct getUserOrganizations return type handling in context
2026-01-22 01:54:12 +01:00
Usman Baig
cbb2255024
fix: handle access_token only response from switchContext
2026-01-22 01:36:56 +01:00
Usman Baig
b3f8465fae
fix: force reload after auto-context switch
2026-01-22 01:15:04 +01:00
Usman Baig
12dc03b636
feat: add organization onboarding flow and auth enforcement
2026-01-22 00:32:48 +01:00
Usman Baig
035d78175f
refactor: update branding from Ciphera Pulse to Pulse across the application for consistency and clarity
2026-01-19 16:58:09 +01:00
Usman Baig
9dbe74fd9f
refactor: update references from Ciphera Analytics to Ciphera Pulse across the application for consistent branding and messaging
2026-01-19 16:49:42 +01:00
Usman Baig
3e7273363b
fix: resolve frontend build errors and enable credentials for options requests in backend
2026-01-18 21:32:47 +01:00
Usman Baig
2fda4667ed
fix(cors): allow credentials on options requests and update frontend auth flow
2026-01-18 21:27:22 +01:00
Usman Baig
d4486f952f
feat(security): switch auth to HttpOnly cookies and add server actions
2026-01-18 21:19:44 +01:00
Usman Baig
8e10a05eb1
Initial commit: Analytics frontend implementation
2026-01-16 13:14:19 +01:00