feat(auth): improve Google OAuth UX on Login page (Fixes #216) - #3
Open
kejuunuy wants to merge 47 commits into
Open
feat(auth): improve Google OAuth UX on Login page (Fixes #216)#3kejuunuy wants to merge 47 commits into
kejuunuy wants to merge 47 commits into
Conversation
…riteshbonthalakoti#175 (riteshbonthalakoti#296) * feat: Add Slack & Teams webhook integration riteshbonthalakoti#175 * feat: add Slack/Teams webhook integration and fix infinite spinner bug riteshbonthalakoti#175 * feat: add webhook service backend and Supabase migration riteshbonthalakoti#175 * feat: add webhook service, WebhookSettings component and Supabase migration riteshbonthalakoti#175 * fix webhook settings component
…shbonthalakoti#264) * fix: remove hardcoded Supabase service_role JWT and personal emails from source CRITICAL security fix - removes hardcoded Supabase service_role JWT from Git-tracked migration files. The JWT provided full admin database access (bypassing all RLS) and was exposed to every repo clone. Changes: - Remove hardcoded service_role JWT from migration files - Hardened webhook trigger to fail gracefully if vault is unconfigured - Added vault setup script (supabase/scripts/setup_vault.py) that reads SUPABASE_SERVICE_KEY from environment at deploy time - Added supabase/.temp/ to .gitignore - Replaced hardcoded personal emails in edge functions with env vars Closes riteshbonthalakoti#249 * fix(security): remove hardcoded personal email, Supabase project ref, and tracked .temp files from source * fix(security): replace hardcoded HF username with GitHub secret
…eshbonthalakoti#263) * fix: remove hardcoded Supabase service_role JWT and personal emails from source CRITICAL security fix - removes hardcoded Supabase service_role JWT from Git-tracked migration files. The JWT provided full admin database access (bypassing all RLS) and was exposed to every repo clone. Changes: - Remove hardcoded service_role JWT from migration files - Hardened webhook trigger to fail gracefully if vault is unconfigured - Added vault setup script (supabase/scripts/setup_vault.py) that reads SUPABASE_SERVICE_KEY from environment at deploy time - Added supabase/.temp/ to .gitignore - Replaced hardcoded personal emails in edge functions with env vars Closes riteshbonthalakoti#249 * fix(security): remove hardcoded personal email, Supabase project ref, and tracked .temp files from source * fix(security): replace hardcoded mock passwords with placeholder
…iteshbonthalakoti#262) * fix: remove hardcoded Supabase service_role JWT and personal emails from source CRITICAL security fix - removes hardcoded Supabase service_role JWT from Git-tracked migration files. The JWT provided full admin database access (bypassing all RLS) and was exposed to every repo clone. Changes: - Remove hardcoded service_role JWT from migration files - Hardened webhook trigger to fail gracefully if vault is unconfigured - Added vault setup script (supabase/scripts/setup_vault.py) that reads SUPABASE_SERVICE_KEY from environment at deploy time - Added supabase/.temp/ to .gitignore - Replaced hardcoded personal emails in edge functions with env vars Closes riteshbonthalakoti#249 * fix(security): remove hardcoded personal email, Supabase project ref, and tracked .temp files from source * fix(security): remove hardcoded admin credentials from adminStore.js
…ing in Login.jsx - Fixes riteshbonthalakoti#216 (riteshbonthalakoti#330)
…HuggingFace - Fixes riteshbonthalakoti#206 (riteshbonthalakoti#339) * feat(i18n): Add multi-language auto-translation pipeline with HuggingFace - Fixes riteshbonthalakoti#206 * fix(lint): remove unused getTranslationInfo variable in MyTickets.jsx
…) (riteshbonthalakoti#496) * fix(tests): resolve type mismatch in FakeTable.execute filters causing integration test failures * feat(digest): Add AI-Generated Weekly Digest Email Report with Resend and Admin Settings UI * feat(voice): implement asynchronous voice-to-ticket transcription pipeline * fix(backend): use dynamic import for whisper to fix CI smoke test * feat(nlp): implement async translation pipeline with bounded LRU cache
… (riteshbonthalakoti#489) * fix(tests): resolve type mismatch in FakeTable.execute filters causing integration test failures * feat(digest): Add AI-Generated Weekly Digest Email Report with Resend and Admin Settings UI * feat(voice): implement asynchronous voice-to-ticket transcription pipeline * fix(backend): use dynamic import for whisper to fix CI smoke test
…_BACKEND_URL) (riteshbonthalakoti#276) (riteshbonthalakoti#477) Co-authored-by: Bot <bot@example.com>
…onthalakoti#471) Closes riteshbonthalakoti#362 - company_size reverted to default '50-200' on page refresh. Now saves selection to localStorage and restores on mount. Co-authored-by: root <root@localhost.localdomain>
…halakoti#470) Closes riteshbonthalakoti#364 - predictTicket was silently returning mock data on errors, masking backend failures. Now throws the error so UI can handle it. Co-authored-by: root <root@localhost.localdomain>
…eshbonthalakoti#469) Closes riteshbonthalakoti#381 - client heartbeat was sending 'pong' which the server treats as no-op. Changed to 'ping' so the server can properly track client liveness. Co-authored-by: root <root@localhost.localdomain>
…shbonthalakoti#459) Closes riteshbonthalakoti#387 - added 10MB limit on base64 images in both TicketRequest model and GeminiService.analyze_image() as defense-in-depth. Co-authored-by: root <root@localhost.localdomain>
Closes riteshbonthalakoti#388 - logout only cleared cookies but left Supabase session valid. Now calls client.auth.sign_out(token) to invalidate the session server-side. Co-authored-by: root <root@localhost.localdomain>
…nthalakoti#389) (riteshbonthalakoti#457) * fix: add authentication to PATCH /tickets/{ticket_id} endpoint Closes riteshbonthalakoti#389 - the endpoint had no auth check, allowing anyone to modify tickets. Added Depends(get_current_user) to require valid session. * temp: remove workflow file for push --------- Co-authored-by: root <root@localhost.localdomain>
…Settings UI (riteshbonthalakoti#437) * fix(tests): resolve type mismatch in FakeTable.execute filters causing integration test failures * feat(digest): Add AI-Generated Weekly Digest Email Report with Resend and Admin Settings UI
…g integration test failures (riteshbonthalakoti#435)
…es (Resolves riteshbonthalakoti#205) (riteshbonthalakoti#434) * feat(sla): Add SLA breach predictor with estimate endpoint and UI badges - Fixes riteshbonthalakoti#205 * feat(sla): Add cached SLA breach predictor with detailed estimator card and full coverage * fix(frontend): restore useMemo header in AdminTickets.jsx to resolve syntax compile error --------- Co-authored-by: Sarthak Godse <sarthakgodse03@gmail.com>
…#381) (riteshbonthalakoti#391) Co-authored-by: curioufly <curioufly@users.noreply.github.com>
…nthalakoti#342) * docs: add local backend setup and schema verification guide * docs:removed placeholder contribution section
…fline or 503 streaming failures
…lakoti#216) - Add loading state for Google sign-in button with 'Redirecting to Google...' feedback - Show user-facing error messages instead of only console.error - Include ad-blocker detection in Google OAuth error handling - Disable button and hover effects during Google OAuth redirect Refs: riteshbonthalakoti#216 Wallet: 0x96e04aC80b9b18ddbfB7e921800feF673BC1CA26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Improves the Google OAuth implementation on the Login page with better UX and error handling.
Changes
googleLoadingstate that shows "Redirecting to Google..." feedback on the button while the OAuth redirect is in progressRelated
signInWithOAuthwith Google provider was already configuredAuthCallback.jsxhandles the OAuth redirect callback/auth/callbackroute is registered inApp.jsxWallet: 0x96e04aC80b9b18ddbfB7e921800feF673BC1CA26