Skip to content

Web redesign#145

Merged
deathbyknowledge merged 363 commits into
mainfrom
web-redesign
Jun 25, 2026
Merged

Web redesign#145
deathbyknowledge merged 363 commits into
mainfrom
web-redesign

Conversation

@deathbyknowledge

Copy link
Copy Markdown
Owner

No description provided.

deathbyknowledge and others added 20 commits June 25, 2026 11:38
Resolve conflicts across 64 files. Kept base (web-redesign) native chat
UX rework, simplified terminal shell, native library/messenger/integration
pages, shell routing, and the ChatAgentSelection model; layered in the PR's
design-system polish (Alert, InfoTip, branded scrollbar, register/setup flow
polish, Stepper locking, a11y, full-width Select).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Design system: Alert, InfoTip, branded scrollbar + register flow polish

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 530abd50c3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread gateway/src/kernel/adapter-handlers.ts Outdated
const statusStore = ctx.adapters.status as typeof ctx.adapters.status & {
listAll?: () => AdapterStatusRecord[];
};
const statuses = typeof statusStore.listAll === "function" ? statusStore.listAll() : [];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restrict adapter.list to visible accounts

When a non-root user calls the new adapter.list, this reads statusStore.listAll(), so the response includes every cached adapter account in the kernel DO. Since regular users are granted adapter.list, they can see account IDs, errors, and extra metadata for channels they have no identity link to; other adapter target paths filter through identity links. Please filter these statuses to the caller's visible accounts or restrict the syscall to root/service callers.

Useful? React with 👍 / 👎.

Comment thread web/src/app/components/ui/TextInput.tsx Outdated
Comment on lines +63 to +66
const [val, setVal] = useState<string | undefined>(undefined);
const [revealed, setRevealed] = useState(false);

const value = val !== undefined ? val : props.value ?? "";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep TextInput synced with controlled values

Once a user edits this component, val stays defined and future props.value changes are ignored. Any parent-driven reset now leaves stale text in the DOM; for example the session state clears loginPassword/loginToken after a successful login, but the lock/login screen can still retain the old secret in the field, and actions like clearing library search won't visually clear. Please either treat value as controlled when provided or resync the internal state when props.value changes.

Useful? React with 👍 / 👎.

@deathbyknowledge

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8cdc12b176

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread web/src/app/components/ui/Select.tsx Outdated
Comment on lines +75 to +76
const rawIdx = idxState === undefined ? props.value ?? 0 : idxState;
const idx = Math.max(0, Math.min(Number(rawIdx) || 0, opts.length - 1));

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep Select synced with parent value

When a parent-controlled Select is changed once, idxState stays defined and this line stops honoring future value prop updates. This breaks flows that reset or externally update the selected value, such as the settings form Reset button in ConsoleConfigPage or setup-guide changes to the timezone: the saved draft changes, but the dropdown continues to display the stale selection. Treat value/onChange as controlled like Stepper, or clear the internal index when props.value changes.

Useful? React with 👍 / 👎.

@deathbyknowledge deathbyknowledge merged commit ca9f469 into main Jun 25, 2026
5 of 8 checks passed
@deathbyknowledge deathbyknowledge deleted the web-redesign branch June 25, 2026 21:08
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.

2 participants