Skip to content

feat(frontend): redesign the sign-in screen for the agent workspace positioning#5386

Open
mmabrouk wants to merge 2 commits into
release/v0.105.6from
feat/signin-redesign
Open

feat(frontend): redesign the sign-in screen for the agent workspace positioning#5386
mmabrouk wants to merge 2 commits into
release/v0.105.6from
feat/signin-redesign

Conversation

@mmabrouk

@mmabrouk mmabrouk commented Jul 18, 2026

Copy link
Copy Markdown
Member

The problem

The sign-in / sign-up screen still pitched the old product. The heading said "Welcome to Agenta AI", the sub-line read "Your All-In-One LLM Development Platform. Collaborate on prompts, evaluate, and monitor LLM apps with confidence", the marketing panel talked about "Build Robust AI Applications", and the browser tab said "Agenta: The LLMOps platform." Everything a new or returning user saw first contradicted the new positioning: the open-source workspace for building and running agents.

This is a visual restyle plus one small client-side feature (remembering the last-used sign-in method). No auth behavior changed.

Before / after

Before After
before after

The flow

qa gif

States

The screen now serves new and returning users from one layout: auth form left, marketing panel right. Three states, driven entirely client-side by a remembered last-used method.

First visit (2a) Returning · last used OAuth (2b) Returning · last used email (3a)
2a 2b 3a
Dark mode Mobile (~390px)
dark mobile

What changed

  • Copy. Headline "Welcome to Agenta" (returning: "Welcome back"), sub-line "Sign in or create an account." on first visit only. Marketing panel: "Build agents that automate your work" plus three feature rows — describe the work in chat, connect the apps you use, run them in the background on a schedule or event. "Open source · GitHub" chip links to the repo. All LLMOps / "Agenta AI" naming removed.
  • Page title (global, stale everywhere): "Agenta: The LLMOps platform." → "Agenta – the open-source workspace for building and running agents". Changed in both the OSS GlobalScripts and the EE CloudScripts title strings.
  • Last-used method memory (new, client-side only). After a successful auth we write localStorage.lastAuthMethod ("email" for email flows, otherwise the OIDC provider id). Presence flips the screen into the "Welcome back" state and promotes the last-used method with a yellow keycap + "Last used" tag; absence is the first-visit state. Written through the single shared handleAuthSuccess funnel (covers email password, OTP, and the OAuth callback, where the provider id is derived from the callback path). Generalizes to any configured provider, not just Google/GitHub. Small helper module assets/lastAuthMethod.ts with a unit test.
  • Region pills. The data-residency selector is restyled as the design's pills. Behavior is unchanged: it renders only on cloud hostnames (shouldShowRegionSelector()) and clicking the other region navigates to the sibling host exactly as before. No "Last used" tag on the pills, and no new region state.
  • One yellow element per screen — always the last-used (or default email) action: email Continue in 2a/3a, the promoted provider button in 2b.

Display font

Headlines render in Inter by default on every install — weighted (600) with slightly tighter tracking so they read as an intentional choice, not a fallback. Nothing decorative ships in the repo.

An optional display font is a deploy-time setting: point NEXT_PUBLIC_AGENTA_DISPLAY_FONT_URL (same dynamicEnv / __env.js route as the other frontend config, wired through entrypoint.sh) at a woff2 and the auth page injects an @font-face for the "Agenta Display" family and switches the headlines to the lighter display treatment (weight 300). Unset, the family falls through to Inter and no font request is made. Proof that the injection path works, with a font served locally (not committed):

display font proof

Flows preserved unchanged (reskinned only)

Email-first discovery (POST /auth/discover → reveal password / OTP / SSO), SSO buttons + auto-redirect, invite flows + the invite-email-mismatch warning, the auth_error=upgrade_required alert + org switcher (social still shown, email hidden), Turnstile, and the passwordless-demo pre-sent-OTP jump. These change appearance where they surface, not behavior.

QA

Verified live on the EE dev stack at 1440×900 in the default (Inter, no font URL) state:

  • First visit (2a), returning-OAuth (2b), returning-email (3a) — light and dark, plus mobile at 390px (panel drops, form centers).
  • Config path proven: with the font URL set, the root gets data-display-font="serif", an @font-face is injected, the woff2 loads (200), and the headlines compute to weight 300 in the display family. With it unset: no data attribute, no @font-face, no font request, no console error.
  • Real end-to-end login (from a prior run, unaffected by this change): a genuine email/password signup landed in the app and wrote localStorage.lastAuthMethod = "email"; after sign-out the screen showed the returning "Welcome back" + promoted-email state.
  • Email discovery still reveals the password method end to end (/auth/discover → 200).

Follow-ups / notes

  • Dark mode is implemented (the auth page participates in the app theme), not deferred.
  • Returning-OAuth (2b) real round-trip is untested headlessly — a real OAuth redirect isn't possible in this harness. The 2b state was verified by seeding lastAuthMethod, and its write path is the same shared handleAuthSuccess funnel the email path uses (verified live).
  • OSS email-only degradation was verified by code path (the OSS and EE auth page is one shared component; with no OAuth configured socialAvailable is false, leaving residency + email only).
  • No docs page screenshots or describes the auth screen, so nothing to update there.

@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Jul 18, 2026
@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment Jul 18, 2026 11:45pm

Request Review

@mmabrouk

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR redesigns the authentication experience, remembers the last successful authentication method, promotes returning sign-in options, adds scoped auth styling and display-font configuration, and updates document titles.

Changes

Authentication redesign

Layer / File(s) Summary
Remembered authentication method
web/oss/src/components/pages/auth/assets/lastAuthMethod.ts, web/oss/src/components/pages/auth/assets/lastAuthMethod.test.ts
Adds SSR-safe localStorage helpers for reading, writing, and identifying the last authentication method, with Vitest coverage.
Authentication success metadata
web/oss/src/hooks/usePostAuthRedirect.ts, web/oss/src/components/pages/auth/EmailPasswordAuth/index.tsx, web/oss/src/components/pages/auth/EmailPasswordSignIn/index.tsx, web/oss/src/components/pages/auth/SendOTP/index.tsx, web/oss/src/pages/auth/callback/[[...callback]].tsx
Email, OTP, and callback success paths pass authentication metadata to post-auth handling, which persists it.
Redesigned authentication components
web/oss/src/components/pages/auth/{EmailFirst,SocialAuth,RegionSelector,SideBanner}/*, web/oss/src/components/pages/auth/assets/types.d.ts, web/oss/src/styles/auth.css, web/oss/src/styles/globals.css
Replaces selected Ant Design controls with native controls, adds promoted and last-used states, updates region semantics, refreshes the side banner, and introduces scoped light/dark auth styling.
Returning-visit auth page
web/oss/src/pages/auth/[[...path]].tsx, web/oss/src/lib/helpers/dynamicEnv.ts, web/entrypoint.sh
Reads the remembered method, promotes the matching provider or email flow, reorganizes entry rendering, and exposes display-font configuration through runtime environment values.

Branding titles

Layer / File(s) Summary
Updated document titles
web/ee/src/components/Scripts/assets/CloudScripts.tsx, web/oss/src/components/Scripts/GlobalScripts.tsx
Changes the rendered document title to the new open-source workspace wording.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Visitor
  participant AuthPage
  participant Storage
  participant AuthProvider
  participant PostAuth
  Visitor->>AuthPage: Open authentication page
  AuthPage->>Storage: Read last authentication method
  Storage-->>AuthPage: Return email or provider id
  AuthPage->>AuthProvider: Render promoted authentication option
  Visitor->>AuthProvider: Complete authentication
  AuthProvider->>PostAuth: Submit authMethod
  PostAuth->>Storage: Persist last authentication method
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main auth screen redesign and workspace repositioning.
Description check ✅ Passed The description is directly about the sign-in redesign and last-used auth method feature.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/signin-redesign

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
web/oss/src/components/pages/auth/RegionSelector/index.tsx (1)

50-50: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Replace static inline icon sizes with Tailwind utilities.

  • web/oss/src/components/pages/auth/RegionSelector/index.tsx#L50-L50: replace style={{fontSize: 14}} with className="text-sm".
  • web/oss/src/components/pages/auth/SideBanner/index.tsx#L22-L22: replace style={{fontSize: 13}} with className="text-[13px]".

As per coding guidelines, “Prefer Tailwind utility classes over CSS-in-JS, separate CSS files, inline styles, react-jss, or styled-components.”

Source: Coding guidelines


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c91b865e-4ec2-49cf-83dc-00be5171d3c6

📥 Commits

Reviewing files that changed from the base of the PR and between 3b0c0cb and e077dbe.

⛔ Files ignored due to path filters (14)
  • web/ee/public/assets/fonts/Fraunces-VF.woff2 is excluded by !**/*.woff2
  • web/ee/public/assets/logos/Agenta-logo-full-dark-accent.svg is excluded by !**/*.svg
  • web/ee/public/assets/logos/Agenta-logo-full-dark.svg is excluded by !**/*.svg
  • web/ee/public/assets/logos/Agenta-logo-full-light.svg is excluded by !**/*.svg
  • web/ee/public/assets/logos/Agenta-symbol-dark-accent.svg is excluded by !**/*.svg
  • web/ee/public/assets/logos/Agenta-symbol-dark.svg is excluded by !**/*.svg
  • web/ee/public/assets/logos/Agenta-symbol-light.svg is excluded by !**/*.svg
  • web/oss/public/assets/fonts/Fraunces-VF.woff2 is excluded by !**/*.woff2
  • web/oss/public/assets/logos/Agenta-logo-full-dark-accent.svg is excluded by !**/*.svg
  • web/oss/public/assets/logos/Agenta-logo-full-dark.svg is excluded by !**/*.svg
  • web/oss/public/assets/logos/Agenta-logo-full-light.svg is excluded by !**/*.svg
  • web/oss/public/assets/logos/Agenta-symbol-dark-accent.svg is excluded by !**/*.svg
  • web/oss/public/assets/logos/Agenta-symbol-dark.svg is excluded by !**/*.svg
  • web/oss/public/assets/logos/Agenta-symbol-light.svg is excluded by !**/*.svg
📒 Files selected for processing (19)
  • web/ee/public/assets/fonts/OFL.txt
  • web/ee/src/components/Scripts/assets/CloudScripts.tsx
  • web/oss/public/assets/fonts/OFL.txt
  • web/oss/src/components/Scripts/GlobalScripts.tsx
  • web/oss/src/components/pages/auth/EmailFirst/index.tsx
  • web/oss/src/components/pages/auth/EmailPasswordAuth/index.tsx
  • web/oss/src/components/pages/auth/EmailPasswordSignIn/index.tsx
  • web/oss/src/components/pages/auth/RegionSelector/index.tsx
  • web/oss/src/components/pages/auth/SendOTP/index.tsx
  • web/oss/src/components/pages/auth/SideBanner/index.tsx
  • web/oss/src/components/pages/auth/SocialAuth/index.tsx
  • web/oss/src/components/pages/auth/assets/lastAuthMethod.test.ts
  • web/oss/src/components/pages/auth/assets/lastAuthMethod.ts
  • web/oss/src/components/pages/auth/assets/types.d.ts
  • web/oss/src/hooks/usePostAuthRedirect.ts
  • web/oss/src/pages/auth/[[...path]].tsx
  • web/oss/src/pages/auth/callback/[[...callback]].tsx
  • web/oss/src/styles/auth.css
  • web/oss/src/styles/globals.css

Comment on lines +47 to +71
<Form.Item
name="email"
className="[&_.ant-form-item-required]:before:!hidden w-full mb-0 flex flex-col gap-1"
rules={[
{required: true, message: "Please add your email!"},
{type: "email", message: "Please enter a valid email address!"},
]}
>
<Form.Item
name="email"
className="[&_.ant-form-item-required]:before:!hidden [&_.ant-form-item-required]:font-medium w-full mb-0 flex flex-col gap-1"
rules={[
{required: true, message: "Please add your email!"},
{type: "email", message: "Please enter a valid email address!"},
]}
>
<div className="relative">
<Input
size="large"
type="email"
value={email}
placeholder="Enter your email address"
status={message.type === "error" ? "error" : ""}
onChange={(e) => setEmail(e.target.value)}
disabled={disabled}
className={clsx("auth-input", promoted && "auth-input-promoted")}
/>
</Form.Item>
{promoted && (
<span className="auth-last-used-tag absolute right-3 top-1/2 -translate-y-1/2">
Last used
</span>
)}
</div>
</Form.Item>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
ast-grep outline web/oss/src/components/pages/auth/EmailFirst/index.tsx \
  --match EmailFirst --view expanded
sed -n '41,81p' web/oss/src/components/pages/auth/EmailFirst/index.tsx

Repository: Agenta-AI/agenta

Length of output: 2241


🏁 Script executed:

#!/bin/bash
set -euo pipefail

sed -n '1,220p' web/oss/src/components/pages/auth/EmailFirst/index.tsx

Repository: Agenta-AI/agenta

Length of output: 2937


Bind Form.Item directly to the email input. The named item is attached to the wrapper div, so Ant Design never receives the typed value; onFinish can still see the initial email from initialValues. Move name="email" onto the input’s direct Form.Item child, or use noStyle.

Comment on lines +505 to +518
{promotedProvider && (
<>
<SocialAuth
authErrorMsg={authErrorMsg}
disabled={isAuthLoading}
isLoading={isSocialAuthLoading}
setIsLoading={setIsSocialAuthLoading}
providers={[promotedProvider]}
variant="promoted"
yellow
lastUsed
/>
<div className="auth-divider">or</div>
</>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Do not render a trailing “or” divider.

When the remembered provider is the only configured method, this branch renders an orphaned divider. Gate it on an available alternative.

-                                            <div className="auth-divider">or</div>
+                                            {(otherProviders.length > 0 ||
+                                                (showEmailEntry && shouldShowEmailFlow)) && (
+                                                <div className="auth-divider">or</div>
+                                            )}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{promotedProvider && (
<>
<SocialAuth
authErrorMsg={authErrorMsg}
disabled={isAuthLoading}
isLoading={isSocialAuthLoading}
setIsLoading={setIsSocialAuthLoading}
providers={[promotedProvider]}
variant="promoted"
yellow
lastUsed
/>
<div className="auth-divider">or</div>
</>
{promotedProvider && (
<>
<SocialAuth
authErrorMsg={authErrorMsg}
disabled={isAuthLoading}
isLoading={isSocialAuthLoading}
setIsLoading={setIsSocialAuthLoading}
providers={[promotedProvider]}
variant="promoted"
yellow
lastUsed
/>
{(otherProviders.length > 0 ||
(showEmailEntry && shouldShowEmailFlow)) && (
<div className="auth-divider">or</div>
)}
</>

{ssoProvidersToShow.map((provider) => (
<Button
key={provider.id}
icon={provider.icon}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
ast-grep outline 'web/oss/src/pages/auth/[[...path]].tsx' \
  --match Auth --view expanded
sed -n '61,78p;615,630p' 'web/oss/src/pages/auth/[[...path]].tsx'

Repository: Agenta-AI/agenta

Length of output: 2306


🏁 Script executed:

#!/bin/bash
sed -n '1,220p' 'web/oss/src/pages/auth/[[...path]].tsx'

Repository: Agenta-AI/agenta

Length of output: 9593


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='web/oss/src/pages/auth/[[...path]].tsx'

rg -n "ssoProvidersToShow|provider\.icon|formatSsoProviderLabel|redirectToSsoProvider|providers:" "$file"

sed -n '220,420p' "$file"

Repository: Agenta-AI/agenta

Length of output: 8367


Remove the undeclared SSO icon access. availableMethods.sso.providers only carries id, slug, and third_party_id, so icon={provider.icon} fails TypeScript. If these buttons need an icon, map it from a known provider list instead.

Comment thread web/oss/src/styles/auth.css Outdated
Comment on lines +29 to +70
/* ── Scoped design tokens ────────────────────────────────────────────────── */
.auth-redesign {
--a-page: #f6f5f3;
--a-panel: #ffffff;
--a-panel-ring: #e5e5e3;
--a-heading: #242424;
--a-secondary: #676770;
--a-faint: #a3a19f;
--a-hairline: #f0efed;
--a-chip-bg: #f6f5f3;
--a-chip-ring: #f0efed;
--a-surface-bg: #ffffff;
--a-surface-shadow: 0 0 0 1px rgba(72, 70, 68, 0.08), 0 1px 3px rgba(72, 70, 68, 0.08);
--a-surface-shadow-strong: 0 0 0 1px #a3a19f, 0 1px 3px rgba(72, 70, 68, 0.1);
--a-tag-bg: #f6f5f3;
--a-tag-ring: #f0efed;
--a-tag-text: #676770;
--a-pill-sel-bg: #242424;
--a-pill-sel-text: #ffffff;
--a-yellow: linear-gradient(180deg, #f2f25c 0%, #e7e712 100%);
--a-yellow-shadow: inset 0 2px 6.4px rgba(255, 255, 255, 0.8);
}

.dark .auth-redesign {
--a-page: #1e1c1d;
--a-panel: #242220;
--a-panel-ring: rgba(229, 229, 227, 0.1);
--a-heading: #ffffff;
--a-secondary: rgba(255, 255, 255, 0.64);
--a-faint: rgba(255, 255, 255, 0.4);
--a-hairline: rgba(229, 229, 227, 0.1);
--a-chip-bg: rgba(255, 255, 255, 0.06);
--a-chip-ring: rgba(229, 229, 227, 0.1);
--a-surface-bg: rgba(255, 255, 255, 0.04);
--a-surface-shadow: 0 0 0 1px rgba(229, 229, 227, 0.1);
--a-surface-shadow-strong: 0 0 0 1px rgba(255, 255, 255, 0.28);
--a-tag-bg: rgba(255, 255, 255, 0.08);
--a-tag-ring: rgba(229, 229, 227, 0.1);
--a-tag-text: rgba(255, 255, 255, 0.72);
--a-pill-sel-bg: #ffffff;
--a-pill-sel-text: #242424;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

Source these theme colors from the shared palette.

This adds an independent light/dark token system with raw color values. Define the colors in web/oss/src/styles/theme/palette.ts, regenerate Tailwind tokens, and consume the generated variables here.

As per coding guidelines, “Theme-aware colors must originate from web/oss/src/styles/theme/palette.ts; edit the palette, run pnpm generate:tailwind-tokens, and never hand-edit generated theme files.”

Source: Coding guidelines

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Railway Preview Environment

Preview URL https://gateway-production-d8ad.up.railway.app/w
Project agenta-oss-pr-5386
Image tag pr-5386-ecd7575
Status Deployed
Railway logs Open logs
Workflow logs View workflow run
Updated at 2026-07-18T23:53:20.825Z

@mmabrouk

Copy link
Copy Markdown
Member Author

Updated per review: removed the vendored display font entirely (no decorative font ships in the repo). Headlines now render in Inter by default (weighted so they look intentional), and the display font is an optional deploy-time setting — set NEXT_PUBLIC_AGENTA_DISPLAY_FONT_URL to a woff2 and the page injects an @font-face for the Agenta Display family + switches to the lighter treatment. New commit 0820a5d on the same lane; after images + GIF now show the Inter default. @coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

The first Comment image shows the prior light, split-panel sign-in page: “Welcome to Agenta AI” and Google/email controls on the left, plus “Build Robust AI Applications” with a product mockup on the right. The second Comment image shows the updated Inter-based design: a compact “Welcome to Agenta” form, yellow Continue button, and a bordered marketing panel with the “Open source · GitHub” chip, “Build agents that automate your work” headline, and three feature rows.

@mmabrouk, I’ll review commit 0820a5d, focusing on complete removal of the vendored font, the optional NEXT_PUBLIC_AGENTA_DISPLAY_FONT_URL loading path, and the updated Inter-default rendering.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (3)
web/oss/src/styles/auth.css (1)

12-34: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Prefer Tailwind utility classes over separate CSS classes.

As per coding guidelines, prefer Tailwind utility classes over CSS-in-JS, separate CSS files, or inline styles. Consider migrating these typography styles directly to the React components using Tailwind utility classes (e.g., font-[...] text-[34px] leading-[40px] font-semibold).

Source: Coding guidelines

web/oss/src/pages/auth/[[...path]].tsx (2)

439-445: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Render the <style> content as children.

React can safely handle string children inside <style> tags. This approach clears the static analysis warning by avoiding dangerouslySetInnerHTML.

♻️ Proposed refactor
-            {displayFontUrl && (
-                <style
-                    dangerouslySetInnerHTML={{
-                        __html: `@font-face{font-family:"Agenta Display";src:url("${displayFontUrl}");font-weight:300;font-display:swap;}`,
-                    }}
-                />
-            )}
+            {displayFontUrl && (
+                <style>{`@font-face{font-family:"Agenta Display";src:url("${displayFontUrl}");font-weight:300;font-display:swap;}`}</style>
+            )}

Source: Linters/SAST tools


429-431: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Condense in-code comments to a single line.

As per coding guidelines, keep in-code comments to at most one short line; use longer comments only for genuinely surprising constraints. Please condense or remove these comments if the code is self-explanatory.

  • web/oss/src/pages/auth/[[...path]].tsx#L429-L431: Condense the entry screen logic comment.
  • web/oss/src/lib/helpers/dynamicEnv.ts#L109-L110: Condense the display font URL comment.

Source: Coding guidelines


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 81ebd0eb-b3e9-46c0-9069-05d296dc6571

📥 Commits

Reviewing files that changed from the base of the PR and between e077dbe and 0820a5d.

📒 Files selected for processing (5)
  • web/entrypoint.sh
  • web/oss/src/components/pages/auth/SideBanner/index.tsx
  • web/oss/src/lib/helpers/dynamicEnv.ts
  • web/oss/src/pages/auth/[[...path]].tsx
  • web/oss/src/styles/auth.css
🚧 Files skipped from review as they are similar to previous changes (1)
  • web/oss/src/components/pages/auth/SideBanner/index.tsx

@mmabrouk
mmabrouk changed the base branch from main to release/v0.105.6 July 19, 2026 14:53

@mmabrouk mmabrouk left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. should go in the same release with the ui improvements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Frontend size:XXL This PR changes 1000+ lines, ignoring generated files. UI UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant