Skip to content

Chore/cleanup ux palette refactor#4

Merged
MohamedAklamaash merged 19 commits into
mainfrom
chore/cleanup-ux-palette-refactor
Jun 25, 2026
Merged

Chore/cleanup ux palette refactor#4
MohamedAklamaash merged 19 commits into
mainfrom
chore/cleanup-ux-palette-refactor

Conversation

@MohamedAklamaash

Copy link
Copy Markdown
Owner

No description provided.

MohamedAklamaash and others added 19 commits May 11, 2026 08:22
21 tests for github_api.{get_identity_or_reauth, decrypt_token_or_reauth,
github_get} including the 403/429 Retry-After tuple shape and the
needs_reauth persistence on decrypt failure.

9 tests for repos._view_helpers.{normalize_or_400, get_user_repo_or_404_response}
and the RepoStatus enum value-strings (drift-guard for the frontend mirror).
- Stream the chat endpoint as SSE (meta citations -> tokens -> done);
  retrieval + access gate stay synchronous so 4xx errors stay clean JSON.
- Switch Gemini SDK to REST transport to fix the gRPC c-ares DNS failures
  ("Could not contact DNS servers") seen during embedding/chat.
- Update model gemini-2.0-flash -> gemini-2.5-flash (2.0 was retired,
  which surfaced as "generation failed").
- Make embeddings resilient: retry transient transport/availability errors
  with backoff + per-call timeout.
- Drop the redundant second LLM call for chat follow-up suggestions.
- Graph: hide dunder/boilerplate functions (__init__, …) at the DB-query
  level by default; opt back in with ?include_boilerplate=true, return a
  `hidden` count, and drop edges dangling to filtered-out nodes.
- Test settings: stream-aware genai stub + GoogleAPICallError/RetryError.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Streaming chat client (fetch + ReadableStream) with markdown, citation
  chips that focus/center the cited node in the graph, and a Cmd/Ctrl-K
  Ask palette; chat state lifted into a shared useChat hook.
- Design system: Tailwind v4 + tokenized zinc+indigo palette with light
  mode + toggle, Inter/JetBrains Mono, focus rings, custom scrollbars.
- react-router for shareable URLs (/r/:repoId); reserved /share + /orgs.
- Resizable dashboard panels; Explorer & Chat are collapsible (open by
  default) via top-bar toggles; mobile stacked layout + bottom tab bar.
- Tasteful framer-motion animations (palette, dropdown, messages,
  inspector, processing steps).
- Enterprise marketing landing/sign-in page (hero, product mockup,
  feature grid, steps, CTA) with a two-tone wordmark.
- Graph: user-defined vs all-functions toggle (server-driven), empty
  state, theme-aware colors, focus/center on citation.
- Processing retry button (pull latest & re-analyze); strip repo names
  to the project; new node-graph favicon; topbar dropdown z-index fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Avoids clashing with other local apps. CORS/CSRF/redirect URIs and the
Vite proxy target are aligned to the new ports. Local secrets stay in the
gitignored .env / .env.local.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AI-first chat + design-system overhaul, resilient backend, server-side graph filtering
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@MohamedAklamaash, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 58 minutes and 50 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e194f32e-57fe-4992-aae0-7829aa875cc6

📥 Commits

Reviewing files that changed from the base of the PR and between 0f994ca and 60a4813.

⛔ Files ignored due to path filters (4)
  • demo/graph.png is excluded by !**/*.png
  • frontend/package-lock.json is excluded by !**/package-lock.json
  • frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • frontend/public/favicon.svg is excluded by !**/*.svg
📒 Files selected for processing (70)
  • .gitignore
  • backend/apps/auth_github/__init__.py
  • backend/apps/auth_github/apps.py
  • backend/apps/auth_github/crypto.py
  • backend/apps/auth_github/github_api.py
  • backend/apps/auth_github/migrations/0001_initial.py
  • backend/apps/auth_github/migrations/__init__.py
  • backend/apps/auth_github/models.py
  • backend/apps/auth_github/tests/__init__.py
  • backend/apps/auth_github/tests/test_crypto.py
  • backend/apps/auth_github/tests/test_github_api.py
  • backend/apps/auth_github/tests/test_github_repos_view.py
  • backend/apps/auth_github/tests/test_oauth_callback.py
  • backend/apps/auth_github/urls.py
  • backend/apps/auth_github/views.py
  • backend/apps/chat/views.py
  • backend/apps/embeddings/client.py
  • backend/apps/files/views.py
  • backend/apps/graph/views.py
  • backend/apps/repos/_view_helpers.py
  • backend/apps/repos/migrations/0002_repository_first_ingested_by_repository_is_private_and_more.py
  • backend/apps/repos/migrations/0003_alter_repository_status.py
  • backend/apps/repos/models.py
  • backend/apps/repos/tasks.py
  • backend/apps/repos/tests/__init__.py
  • backend/apps/repos/tests/conftest.py
  • backend/apps/repos/tests/test_attach.py
  • backend/apps/repos/tests/test_cross_app_gating.py
  • backend/apps/repos/tests/test_cross_repo_idor.py
  • backend/apps/repos/tests/test_redact.py
  • backend/apps/repos/tests/test_repository_view.py
  • backend/apps/repos/tests/test_view_helpers.py
  • backend/apps/repos/urls.py
  • backend/apps/repos/utils.py
  • backend/apps/repos/views.py
  • backend/conftest.py
  • backend/core/settings.py
  • backend/core/test_settings.py
  • backend/core/test_urls.py
  • backend/core/urls.py
  • backend/env.local
  • backend/manage.py
  • backend/pytest.ini
  • backend/requirements.txt
  • docker-compose.yml
  • frontend/index.html
  • frontend/local.env
  • frontend/package.json
  • frontend/src/App.tsx
  • frontend/src/api/index.ts
  • frontend/src/auth/AuthContext.tsx
  • frontend/src/components/AskPalette.tsx
  • frontend/src/components/ChatPanel.tsx
  • frontend/src/components/Dashboard.tsx
  • frontend/src/components/GithubRepoPicker.tsx
  • frontend/src/components/GraphPanel.tsx
  • frontend/src/components/Landing.tsx
  • frontend/src/components/Login.tsx
  • frontend/src/components/Processing.tsx
  • frontend/src/components/RepoSwitcher.tsx
  • frontend/src/components/Sidebar.tsx
  • frontend/src/components/ThemeToggle.tsx
  • frontend/src/constants/repoStatus.ts
  • frontend/src/hooks/useChat.ts
  • frontend/src/hooks/useMediaQuery.ts
  • frontend/src/index.css
  • frontend/src/main.tsx
  • frontend/src/theme.ts
  • frontend/src/types/index.ts
  • frontend/vite.config.js

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MohamedAklamaash MohamedAklamaash merged commit 43c695c into main Jun 25, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant