Skip to content

Conversation

@dinhlongviolin1
Copy link
Contributor

@dinhlongviolin1 dinhlongviolin1 commented Sep 23, 2025

Describe Your Changes

Fixes Issues

  • Closes #
  • Closes #

Self Checklist

  • Added relevant comments, esp in complex areas
  • Updated docs (for bug fixes / features)
  • Created issues for follow-up changes or refactoring needed

Important

Enhances local API server configuration and error handling, refines UI components for authentication, and expands testing for robust error scenarios.

  • Local API Server:
    • Adds error handling for port conflicts, invalid API keys, and model path issues in local-api-server.tsx.
    • Introduces getModelToStart() to determine the model to load.
    • Updates toggleAPIServer() to handle server start/stop with detailed error messages.
  • UI Enhancements:
    • Adjusts AuthLoginButton and UserProfileMenu to dynamically set dropdown width based on panel size.
    • Improves LeftPanel to auto-collapse on screen resize and manage body scroll.
  • Testing:
    • Expands useLocalApiServer.test.ts with scenarios for error handling, configuration validation, and state persistence.
  • Hooks:
    • Refines useThreadScrolling with debounced scroll handling and improved auto-scroll logic.
    • Enhances AuthProvider to handle auth state changes and fetch user data on login.

This description was created by Ellipsis for b322c76. You can customize this summary. It will automatically update as commits are pushed.

LazyYuuki and others added 19 commits September 21, 2025 19:24
Add server docs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: add azure as first class provider

* fix: deployment url
- Add betting-on-open-source.mdx and open-superintelligence.mdx
- Update handbook index with new structure
- Remove outdated handbook sections (growth, happy, history, money, talent, teams, users, why)
- Update handbook _meta.json to reflect new structure
enhancement: migrate handbook and janv2
✨ feat: Re-arrange docs as needed
* fix: Catch local API server various errors

* chore: Add tests to cover error catches
* feat(llamacpp): support .zip archives for manual backend install

* Update Lock Files
Copy link
Contributor

@louis-jan louis-jan left a comment

Choose a reason for hiding this comment

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

LGTM

@dinhlongviolin1 dinhlongviolin1 merged commit 685054c into dev-web Sep 23, 2025
3 checks passed
@github-project-automation github-project-automation bot moved this to QA in Jan Sep 23, 2025
@github-actions github-actions bot added this to the v0.7.0 milestone Sep 23, 2025
@github-actions
Copy link
Contributor

Preview URL: https://d818bedf.docs-9ba.pages.dev

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to b322c76 in 4 minutes and 13 seconds. Click for details.
  • Reviewed 12073 lines of code in 138 files
  • Skipped 236 files when reviewing.
  • Skipped posting 7 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. src-tauri/utils/src/http.rs:8
  • Draft comment:
    The 'trusted_hosts' parameter is defined as an array of arrays of strings. If grouping isn’t required, consider using a flat array for simplicity, which may simplify the iteration and maintenance of this function.
  • Reason this comment was not posted:
    Comment was on unchanged code.
2. web-app/src/consts/providers.ts:83
  • Draft comment:
    For the Azure provider settings, the base URL placeholder still uses 'YOUR-RESOURCE-NAME'. Consider updating this placeholder or adding a comment to indicate that users must replace it with their actual resource name.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50% None
3. web-app/src/hooks/useThreadScrolling.tsx:164
  • Draft comment:
    Consider wrapping 'handleDOMScroll' in a useCallback with appropriate dependencies so that the debounced function always has access to the latest state. This avoids potential stale closures when using debounce.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
4. web-app/src/containers/DropdownModelProvider.tsx:227
  • Draft comment:
    In the model initialization useEffect, 'selectedModel' and 'selectedProvider' are intentionally excluded from the dependency array to prevent race conditions. Ensure this rationale is documented so future maintainers understand the omission.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
5. docs/src/components/Blog/index.tsx:27
  • Draft comment:
    Typographical error: "!fqont-normal" seems to be a typo. It should probably be "!font-normal".
  • Reason this comment was not posted:
    Comment was on unchanged code.
6. docs/src/components/FavoriteModels.tsx:53
  • Draft comment:
    Possible typographical error: 'Minimalist UI tasted' seems off. Did you mean 'Minimalist UI taste' or another intended phrase?
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 50% While 'tasted' does seem unusual in this context, I need to be careful about assuming it's wrong. This could be intentional wordplay or have meaning I don't understand. The phrase appears in what seems to be a user profile showing preferences and traits. Without more context about what this means, I can't be certain it's a mistake. The comment is speculative, asking "Did you mean..." rather than identifying a clear error. I might be overlooking the possibility that 'tasted' is intentionally used as a past-tense verb to indicate the user has experienced or sampled minimalist UI design. The unusual phrasing could be deliberate. Even if 'tasted' is intentional, the phrasing is awkward enough that it warrants raising the question. However, per our rules, we should not make speculative comments or ask authors to confirm their intention. The comment should be deleted because it's speculative and asks the author to confirm their intention, which violates our review rules. Without clear evidence that this is definitely wrong, we shouldn't flag it.
7. docs/src/pages/docs/server/configuration.mdx:67
  • Draft comment:
    There appears to be extraneous trailing whitespace after the key OAUTH2_GOOGLE_CLIENT_ID. Please remove the extra spaces for consistency.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 50% This is a documentation file showing example YAML configuration. While the trailing whitespace is technically present, it's an extremely minor formatting issue that doesn't affect functionality. The YAML parser will handle this whitespace without issues. This seems like an overly pedantic comment that doesn't add meaningful value. The whitespace could theoretically make copy-pasting more error-prone. Some YAML linters might flag this as an issue. The impact is still negligible - most editors handle whitespace well during copy-paste, and this is just example code in documentation. This comment about trailing whitespace is too minor and pedantic to be worth keeping. It doesn't meaningfully improve the code or documentation.

Workflow ID: wflow_rHuF9R5WSuBS00OG

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

: String(error)

// Port-related errors (highest priority)
if (errorMsg.includes('Address already in use')) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Error handling in 'toggleAPIServer' relies on matching substrings in error messages. This approach can be brittle; consider using structured error codes or error types to improve robustness and internationalization.

import GemmaIcon from '@/assets/icons/Gemma.svg'
import KimiIcon from '@/assets/icons/Kimi.svg'
import GmailIcon from '@/assets/icons/Gmail.svg'
import AmazonIcon from '@/assets/icons/Amazone.svg'
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo in the import path: 'Amazone.svg' may be a misspelling. If the intended file is 'Amazon.svg', please update the filename.

Suggested change
import AmazonIcon from '@/assets/icons/Amazone.svg'
import AmazonIcon from '@/assets/icons/Amazon.svg'

- Their pivots become your pivots
- Their acquisitions become your risks

AI has become critical infrastructure. Nations, enterprises, even small teams rely on it to think and decide. And yet, control sits with a few vendors who decide the terms of access. We believe that's not control. That's dependency dressed up as convenience. One of the most powerful invention is being steered by a handful of executives. Their values shape what billions can say, build, or ask.
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a minor typographical error on this line. Consider changing "One of the most powerful invention is being steered by a handful of executives." to "One of the most powerful inventions is being steered by a handful of executives."

Suggested change
AI has become critical infrastructure. Nations, enterprises, even small teams rely on it to think and decide. And yet, control sits with a few vendors who decide the terms of access. We believe that's not control. That's dependency dressed up as convenience. One of the most powerful invention is being steered by a handful of executives. Their values shape what billions can say, build, or ask.
AI has become critical infrastructure. Nations, enterprises, even small teams rely on it to think and decide. And yet, control sits with a few vendors who decide the terms of access. We believe that's not control. That's dependency dressed up as convenience. One of the most powerful inventions is being steered by a handful of executives. Their values shape what billions can say, build, or ask.

We choose the second.

## What we're making at Jan
Jan is building Open Superinteligence. It's one product that bundles models, tools, guardrails, and connectors in a way everybody can run on a laptop, a home server, or the web.
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo: 'Open Superinteligence' should be corrected to 'Open Superintelligence'.

Suggested change
Jan is building Open Superinteligence. It's one product that bundles models, tools, guardrails, and connectors in a way everybody can run on a laptop, a home server, or the web.
Jan is building Open Superintelligence. It's one product that bundles models, tools, guardrails, and connectors in a way everybody can run on a laptop, a home server, or the web.

'Segoe UI',
'Roboto',
'Oxygen-Sans',
'Ubuntu,Cantarell',
Copy link
Contributor

Choose a reason for hiding this comment

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

Typographical note: In the 'sans' array, the entry 'Ubuntu,Cantarell' appears to combine two font names. Consider splitting them into two separate strings (e.g. 'Ubuntu' and 'Cantarell') if that was the intended behavior.

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

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

10 participants