Skip to content

Conversation

canisminor1990
Copy link
Member

@canisminor1990 canisminor1990 commented Jul 15, 2025

๐Ÿ’ป ๅ˜ๆ›ด็ฑปๅž‹ | Change Type

  • โœจ feat
  • ๐Ÿ› fix
  • โ™ป๏ธ refactor
  • ๐Ÿ’„ style
  • ๐Ÿ‘ท build
  • โšก๏ธ perf
  • ๐Ÿ“ docs
  • ๐Ÿ”จ chore

๐Ÿ”€ ๅ˜ๆ›ด่ฏดๆ˜Ž | Description of Change

TODO

image

๐Ÿ“ ่กฅๅ……ไฟกๆฏ | Additional Information

Copy link
Contributor

sourcery-ai bot commented Jul 15, 2025

Reviewer's Guide

This PR restructures the Windows title bar component by replacing detailed styles and interactive markup with a static placeholder, enhances Electron Browser window creation by introducing a titleBarOverlay, streamlining background material configuration, and adding robust visual effects methods, and refactors tooltip integration by consolidating Tooltip props directly into ActionIcon components.

Class diagram for updated Electron Browser visual effects methods

classDiagram
    class Browser {
        +applyVisualEffects()
        +reapplyVisualEffects()
    }
    Browser : -_browserWindow
    Browser : +retrieveOrInitialize()
    Browser : +getWindowsVersion()
    Browser : +identifier
    Browser : +logger
    Browser : +applyVisualEffects() // now checks isDestroyed and uses try/catch
    Browser : +reapplyVisualEffects() // new method, calls applyVisualEffects if Windows 11
Loading

Class diagram for WinControl component simplification

classDiagram
    class WinControl {
        +render()
    }
    %% Previously: used useStyles, interactive window controls
    %% Now: returns static <div style={{ width: 132 }} />
Loading

File-Level Changes

Change Details Files
Simplify WinControl component implementation
  • Comment out custom useStyles definitions and style rules
  • Remove icon buttons for minimize, maximize, and close actions
  • Replace dynamic markup with a static div of fixed width
src/features/ElectronTitlebar/WinControl/index.tsx
Enhance Browser window creation and visual effects handling
  • Add titleBarOverlay configuration in window options
  • Remove legacy backgroundMaterial/vibrancy and backgroundColor settings
  • Refine applyVisualEffects with isDestroyed check, error handling, and detailed logs
  • Introduce reapplyVisualEffects method for manual effect reapplication
apps/desktop/src/main/core/Browser.ts
Refactor tooltip integration for ActionIcon components
  • Eliminate separate Tooltip wrappers around ActionIcon
  • Add title and tooltipProps directly to ActionIcon props
  • Standardize tooltip placement and hotkey display
src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx
src/app/[variants]/(main)/chat/(workspace)/features/SettingButton.tsx
src/app/[variants]/(main)/chat/(workspace)/features/ShareButton/index.tsx
src/app/[variants]/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

vercel bot commented Jul 15, 2025

The latest updates on your projects. Learn more about Vercel for Git โ†—๏ธŽ

Name Status Preview Comments Updated (UTC)
lobe-chat-database โœ… Ready (Inspect) Visit Preview ๐Ÿ’ฌ Add feedback Jul 24, 2025 3:16am
lobe-chat-preview โœ… Ready (Inspect) Visit Preview ๐Ÿ’ฌ Add feedback Jul 24, 2025 3:16am

@lobehubbot
Copy link
Member

๐Ÿ‘ @canisminor1990

Thank you for raising your pull request and contributing to our Community
Please make sure you have followed our contributing guidelines. We will review it as soon as possible.
If you encounter any problems, please feel free to connect with us.
้žๅธธๆ„Ÿ่ฐขๆ‚จๆๅ‡บๆ‹‰ๅ–่ฏทๆฑ‚ๅนถไธบๆˆ‘ไปฌ็š„็คพๅŒบๅšๅ‡บ่ดก็Œฎ๏ผŒ่ฏท็กฎไฟๆ‚จๅทฒ็ป้ตๅพชไบ†ๆˆ‘ไปฌ็š„่ดก็ŒฎๆŒ‡ๅ—๏ผŒๆˆ‘ไปฌไผšๅฐฝๅฟซๅฎกๆŸฅๅฎƒใ€‚
ๅฆ‚ๆžœๆ‚จ้‡ๅˆฐไปปไฝ•้—ฎ้ข˜๏ผŒ่ฏท้šๆ—ถไธŽๆˆ‘ไปฌ่”็ณปใ€‚

Copy link
Contributor

gru-agent bot commented Jul 15, 2025

TestGru Assignment

Summary

Link CommitId Status Reason
Detail eccc804 ๐Ÿšซ Skipped No files need to be tested {"apps/desktop/src/main/core/Browser.ts":"File path does not match include patterns.","src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx":"File path does not match include patterns.","src/app/[variants]/(main)/chat/(workspace)/features/SettingButton.tsx":"File path does not match include patterns.","src/app/[variants]/(main)/chat/(workspace)/features/ShareButton/index.tsx":"File path does not match include patterns.","src/app/[variants]/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx":"File path does not match include patterns.","src/features/ElectronTitlebar/WinControl/index.tsx":"File path does not match include patterns."}

History Assignment

Tip

You can @gru-agent and leave your feedback. TestGru will make adjustments based on your input

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. ๐Ÿ’„ Design Design an style | ๆ ทๅผ้—ฎ้ข˜ labels Jul 15, 2025
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @canisminor1990 - I've reviewed your changes - here's some feedback:

  • Remove large blocks of commented-out code in WinControl and Browser or extract them behind a feature flag to keep the implementation clear and maintainable.
  • Annotate or add a TODO explaining why WinControl now only renders a fixed-width
    so future readers understand the placeholder intent.
  • Consider syncing the hardcoded titleBarOverlay.height (30) with your existing TITLE_BAR_HEIGHT constant to avoid mismatched layouts on Windows.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Remove large blocks of commented-out code in WinControl and Browser or extract them behind a feature flag to keep the implementation clear and maintainable.
- Annotate or add a TODO explaining why WinControl now only renders a fixed-width <div> so future readers understand the placeholder intent.
- Consider syncing the hardcoded titleBarOverlay.height (30) with your existing TITLE_BAR_HEIGHT constant to avoid mismatched layouts on Windows.

## Individual Comments

### Comment 1
<location> `src/features/ElectronTitlebar/WinControl/index.tsx:56` </location>
<code_context>
-      </div>
-    </div>
-  );
+  return <div style={{ width: 132 }} />;
+
+  // const { styles } = useStyles();
</code_context>

<issue_to_address>
Returning a static width div may impact layout and accessibility.

If this is a temporary placeholder, add a clear TODO or use a more descriptive placeholder to prevent confusion for users and maintainers.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
  return <div style={{ width: 132 }} />;

  // const { styles } = useStyles();
=======
  // TODO: Replace this placeholder with the actual window control implementation.
  // This is a temporary placeholder to maintain layout.
  return (
    <div
      style={{ width: 132, height: 24, display: 'flex', alignItems: 'center', justifyContent: 'center', background: 'transparent' }}
      role="presentation"
      aria-hidden="true"
      tabIndex={-1}
      data-testid="wincontrol-placeholder"
    >
      {/* Window controls will be implemented here */}
      <span style={{ fontSize: 12, color: '#888' }}>Window Controls Placeholder</span>
    </div>
  );

  // const { styles } = useStyles();
>>>>>>> REPLACE

</suggested_fix>

### Comment 2
<location> `src/features/ElectronTitlebar/WinControl/index.tsx:1` </location>
<code_context>
+// const useStyles = createStyles(({ css, cx, token }) => {
</code_context>

<issue_to_address>
Commenting out the entire styling logic may lead to inconsistent UI.

If this change is temporary, confirm that the component and application still function correctly without these styles.
</issue_to_address>

### Comment 3
<location> `apps/desktop/src/main/core/Browser.ts:249` </location>
<code_context>
-          }
-        : {}),
       autoHideMenuBar: true,
-      backgroundColor: '#00000000',
+
       frame: false,
</code_context>

<issue_to_address>
Removing the transparent background color may affect window appearance.

Please verify that removing backgroundColor does not result in an unintended opaque window or loss of transparency.
</issue_to_address>

### Comment 4
<location> `apps/desktop/src/main/core/Browser.ts:439` </location>
<code_context>
-      this._browserWindow?.setBackgroundMaterial(isDarkMode ? 'mica' : 'acrylic');
-      this._browserWindow?.setVibrancy('under-window');
+
+      try {
+        // Apply background material
+        this._browserWindow.setBackgroundMaterial('mica');
+        logger.debug(
+          `[${this.identifier}] Visual effects applied successfully (dark mode: ${isDarkMode})`,
+        );
+      } catch (error) {
+        logger.error(`[${this.identifier}] Failed to apply visual effects:`, error);
+      }
</code_context>

<issue_to_address>
Catching errors when applying visual effects increases stability.

Consider if errors should be communicated to the user or if a retry mechanism is appropriate, rather than only logging them.

Suggested implementation:

```typescript
      const applyEffects = (retry = false) => {
        try {
          // Apply background material
          this._browserWindow.setBackgroundMaterial('mica');
          logger.debug(
            `[${this.identifier}] Visual effects applied successfully (dark mode: ${isDarkMode})`,
          );
        } catch (error) {
          logger.error(`[${this.identifier}] Failed to apply visual effects${retry ? ' (retry)' : ''}:`, error);
          if (!retry) {
            // Retry once after a short delay
            setTimeout(() => applyEffects(true), 500);
          } else {
            // Notify user after retry fails
            if (typeof showErrorNotification === 'function') {
              showErrorNotification('Failed to apply visual effects to the window. Some UI features may not display as intended.');
            }
          }
        }
      };
      applyEffects();

```

- This code assumes a `showErrorNotification` function is available in scope to notify the user. If your app uses a different notification system, replace `showErrorNotification` with the appropriate function.
- If you want to customize the retry logic (e.g., more retries, different delay), adjust the `applyEffects` function accordingly.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them โœจ
Help me be more useful! Please click ๐Ÿ‘ or ๐Ÿ‘Ž on each comment and I'll use the feedback to improve your reviews.

Comment on lines +56 to +58
return <div style={{ width: 132 }} />;

// const { styles } = useStyles();
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: Returning a static width div may impact layout and accessibility.

If this is a temporary placeholder, add a clear TODO or use a more descriptive placeholder to prevent confusion for users and maintainers.

Suggested change
return <div style={{ width: 132 }} />;
// const { styles } = useStyles();
// TODO: Replace this placeholder with the actual window control implementation.
// This is a temporary placeholder to maintain layout.
return (
<div
style={{ width: 132, height: 24, display: 'flex', alignItems: 'center', justifyContent: 'center', background: 'transparent' }}
role="presentation"
aria-hidden="true"
tabIndex={-1}
data-testid="wincontrol-placeholder"
>
{/* Window controls will be implemented here */}
<span style={{ fontSize: 12, color: '#888' }}>Window Controls Placeholder</span>
</div>
);
// const { styles } = useStyles();

Comment on lines +1 to +10
// const useStyles = createStyles(({ css, cx, token }) => {
// const icon = css`
// display: flex;
// align-items: center;
// justify-content: center;
//
// width: ${TITLE_BAR_HEIGHT * 1.2}px;
// min-height: ${TITLE_BAR_HEIGHT}px;
//
// color: ${token.colorTextSecondary};
Copy link
Contributor

Choose a reason for hiding this comment

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

issue (bug_risk): Commenting out the entire styling logic may lead to inconsistent UI.

If this change is temporary, confirm that the component and application still function correctly without these styles.

autoHideMenuBar: true,
backgroundColor: '#00000000',
Copy link
Contributor

Choose a reason for hiding this comment

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

issue (bug_risk): Removing the transparent background color may affect window appearance.

Please verify that removing backgroundColor does not result in an unintended opaque window or loss of transparency.

Comment on lines 439 to 445
try {
// Apply background material
this._browserWindow.setBackgroundMaterial('mica');
logger.debug(
`[${this.identifier}] Visual effects applied successfully (dark mode: ${isDarkMode})`,
);
} catch (error) {
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: Catching errors when applying visual effects increases stability.

Consider if errors should be communicated to the user or if a retry mechanism is appropriate, rather than only logging them.

Suggested implementation:

      const applyEffects = (retry = false) => {
        try {
          // Apply background material
          this._browserWindow.setBackgroundMaterial('mica');
          logger.debug(
            `[${this.identifier}] Visual effects applied successfully (dark mode: ${isDarkMode})`,
          );
        } catch (error) {
          logger.error(`[${this.identifier}] Failed to apply visual effects${retry ? ' (retry)' : ''}:`, error);
          if (!retry) {
            // Retry once after a short delay
            setTimeout(() => applyEffects(true), 500);
          } else {
            // Notify user after retry fails
            if (typeof showErrorNotification === 'function') {
              showErrorNotification('Failed to apply visual effects to the window. Some UI features may not display as intended.');
            }
          }
        }
      };
      applyEffects();
  • This code assumes a showErrorNotification function is available in scope to notify the user. If your app uses a different notification system, replace showErrorNotification with the appropriate function.
  • If you want to customize the retry logic (e.g., more retries, different delay), adjust the applyEffects function accordingly.

Copy link

codecov bot commented Jul 15, 2025

Codecov Report

All modified and coverable lines are covered by tests โœ…

Project coverage is 85.45%. Comparing base (2696de4) to head (7992e64).
Report is 16 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8439      +/-   ##
==========================================
+ Coverage   85.32%   85.45%   +0.12%     
==========================================
  Files         910      912       +2     
  Lines       68658    69106     +448     
  Branches     4672     4586      -86     
==========================================
+ Hits        58583    59055     +472     
+ Misses      10075    10051      -24     
Flag Coverage ฮ”
app 85.45% <รธ> (+0.12%) โฌ†๏ธ
server 96.26% <รธ> (รธ)

Flags with carried forward coverage won't be shown. Click here to find out more.

โ˜” View full report in Codecov by Sentry.
๐Ÿ“ข Have feedback on the report? Share it here.

๐Ÿš€ New features to boost your workflow:
  • โ„๏ธ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • ๐Ÿ“ฆ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jul 15, 2025
@canisminor1990 canisminor1990 force-pushed the style/fix-win-desktop branch from 8c3f72f to 7fda6b6 Compare July 16, 2025 09:01
@canisminor1990 canisminor1990 force-pushed the style/fix-win-desktop branch from 7fda6b6 to 34f3fbe Compare July 18, 2025 09:09
@canisminor1990 canisminor1990 force-pushed the style/fix-win-desktop branch from 34f3fbe to e02bb5b Compare July 21, 2025 06:02
@arvinxx arvinxx force-pushed the style/fix-win-desktop branch from e02bb5b to e76dd59 Compare July 22, 2025 02:53
@canisminor1990 canisminor1990 force-pushed the style/fix-win-desktop branch from 79dde06 to b4f8d8b Compare July 22, 2025 05:28
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Bug: ThemeManager Constructor Called Incorrectly

The ThemeManager constructor is called incorrectly in Browser.ts. It expects a single object parameter { app: App; identifier: string; window: BrowserWindow }, but is called with two separate positional arguments (browserWindow, this.identifier). This causes the app parameter to be missing and the window property to be undefined within ThemeManager, leading to runtime errors when ThemeManager attempts to access this.app.storeManager or this.window.

apps/desktop/src/main/core/browser/Browser.ts#L239-L240

// Initialize theme manager for this window to handle theme changes
this.themeManager = new ThemeManager(browserWindow, this.identifier);

apps/desktop/src/main/core/browser/ThemeManager.ts#L25-L31

constructor(params: { app: App; identifier: string; window: BrowserWindow }) {
this.app = params.app;
this.window = params.window;
this.identifier = params.identifier;
this.setupThemeListener();
}

Fix in Cursor โ€ข Fix in Web


Was this report helpful? Give feedback by reacting with ๐Ÿ‘ or ๐Ÿ‘Ž

@arvinxx arvinxx added the Build Desktop ๆ‰“ไธŠ่ฟ™ไธช label ๅŽๅฐฑๅฏไปฅ่งฆๅ‘ Desktop ๆž„ๅปบ label Jul 23, 2025
Copy link

github-actions bot commented Jul 23, 2025

๐Ÿš€ Desktop App Build Completed!

Version: 0.0.0-nightly.pr8439.2754
Build Time: 2025-07-24T03:35:56.527Z

๐Ÿ“ฆ View All Build Artifacts

Build Artifacts

Platform File Size
macOS LobeHub-Nightly-0.0.0-nightly.pr8439.2754-arm64.dmg 183.40 MB
Windows LobeHub-Nightly-0.0.0-nightly.pr8439.2754-setup.exe 153.87 MB
Linux LobeHub-Nightly-0.0.0-nightly.pr8439.2754.AppImage 237.29 MB

Warning

Note: This is a temporary build for testing purposes only.

@arvinxx arvinxx merged commit fd7662c into main Jul 24, 2025
22 of 24 checks passed
@arvinxx arvinxx deleted the style/fix-win-desktop branch July 24, 2025 03:02
@lobehubbot
Copy link
Member

โค๏ธ Great PR @canisminor1990 โค๏ธ

The growth of project is inseparable from user feedback and contribution, thanks for your contribution! If you are interesting with the lobehub developer community, please join our discord and then dm @arvinxx or @canisminor1990. They will invite you to our private developer channel. We are talking about the lobe-chat development or sharing ai newsletter around the world.
้กน็›ฎ็š„ๆˆ้•ฟ็ฆปไธๅผ€็”จๆˆทๅ้ฆˆๅ’Œ่ดก็Œฎ๏ผŒๆ„Ÿ่ฐขๆ‚จ็š„่ดก็Œฎ! ๅฆ‚ๆžœๆ‚จๅฏน LobeHub ๅผ€ๅ‘่€…็คพๅŒบๆ„Ÿๅ…ด่ถฃ๏ผŒ่ฏทๅŠ ๅ…ฅๆˆ‘ไปฌ็š„ discord๏ผŒ็„ถๅŽ็งไฟก @arvinxx ๆˆ– @canisminor1990ใ€‚ไป–ไปฌไผš้‚€่ฏทๆ‚จๅŠ ๅ…ฅๆˆ‘ไปฌ็š„็งๅฏ†ๅผ€ๅ‘่€…้ข‘้“ใ€‚ๆˆ‘ไปฌๅฐ†ไผš่ฎจ่ฎบๅ…ณไบŽ Lobe Chat ็š„ๅผ€ๅ‘๏ผŒๅˆ†ไบซๅ’Œ่ฎจ่ฎบๅ…จ็ƒ่Œƒๅ›ดๅ†…็š„ AI ๆถˆๆฏใ€‚

github-actions bot pushed a commit that referenced this pull request Jul 24, 2025
### [Version&nbsp;1.103.2](v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [#8520](#8520) ([0192140](0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [#8545](#8545) ([66dbb24](66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [#8439](#8439) ([fd7662c](fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [#8443](#8443) ([9bae13b](9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
@lobehubbot
Copy link
Member

๐ŸŽ‰ This PR is included in version 1.103.2 ๐ŸŽ‰

The release is available on:

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

github-actions bot pushed a commit to jaworldwideorg/OneJA-Bot that referenced this pull request Jul 24, 2025
### [Version&nbsp;1.103.2](v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](https://github.com/jaworldwideorg/OneJA-Bot/issues/8520) ([0192140](0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](https://github.com/jaworldwideorg/OneJA-Bot/issues/8545) ([66dbb24](66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](https://github.com/jaworldwideorg/OneJA-Bot/issues/8439) ([fd7662c](fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](https://github.com/jaworldwideorg/OneJA-Bot/issues/8443) ([9bae13b](9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
liammmliu pushed a commit to Deckers-Ohana/lobe-chat that referenced this pull request Jul 28, 2025
* ๐Ÿ’„ style: Fix win electron style

๐Ÿ“ docs: Update readme

๐Ÿ’„ style: Update useWatchThemeUpdate

๐Ÿ’„ style: Update Tray icon

๐Ÿ”ง chore: Update windows

๐Ÿ”ง chore: Update filetree

๐Ÿ”ง chore: Update core

๐Ÿ’„ style: Fix desktop draw style

๐Ÿ’„ style: Update style

๐Ÿ’„ style: Fix backgroundColor

๐Ÿ’„ style: Update titlebar style

* ๐Ÿ’„ style: Fix windows icon

* ๐Ÿ”ง chore: Clean

* update theme

* ๐Ÿ’„ style: Update broswer

* ๐Ÿ’„ style: HandleAppThemeChange

* clean

* fix memory leak

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
liammmliu pushed a commit to Deckers-Ohana/lobe-chat that referenced this pull request Jul 28, 2025
### [Version&nbsp;1.103.2](lobehub/lobe-chat@v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](lobehub#8520) ([0192140](lobehub@0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](lobehub#8545) ([66dbb24](lobehub@66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](lobehub#8439) ([fd7662c](lobehub@fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](lobehub#8443) ([9bae13b](lobehub@9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
liammmliu added a commit to Deckers-Ohana/lobe-chat that referenced this pull request Jul 28, 2025
* ๐Ÿ’„ style: Support new Doubao thinking models (lobehub#8174)

* ๐Ÿ’„ style: update i18n (lobehub#8400)

* ๐Ÿ”– chore(release): v1.97.13 [skip ci]

### [Version&nbsp;1.97.13](lobehub/lobe-chat@v1.97.12...v1.97.13)
<sup>Released on **2025-07-12**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Support new Doubao thinking models, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support new Doubao thinking models, closes [lobehub#8174](lobehub#8174) ([637d75c](lobehub@637d75c))
* **misc**: Update i18n, closes [lobehub#8400](lobehub#8400) ([790eeb8](lobehub@790eeb8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: Revert "๐Ÿ’„ style: Open new topic by tap Just Chat again" (lobehub#8402)

This reverts commit 7e2f4ce.

* ๐Ÿ’„ style: Add Kimi K2 model (lobehub#8401)

* ๐Ÿ”จ chore: fix lint (lobehub#8407)

* ๐Ÿ”– chore(release): v1.97.14 [skip ci]

### [Version&nbsp;1.97.14](lobehub/lobe-chat@v1.97.13...v1.97.14)
<sup>Released on **2025-07-12**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Revert "๐Ÿ’„ style: Open new topic by tap Just Chat again".

#### ๐Ÿ’„ Styles

- **misc**: Add Kimi K2 model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Revert "๐Ÿ’„ style: Open new topic by tap Just Chat again", closes [lobehub#8402](lobehub#8402) ([55462b9](lobehub@55462b9))

#### Styles

* **misc**: Add Kimi K2 model, closes [lobehub#8401](lobehub#8401) ([4cb1a18](lobehub@4cb1a18))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: add vision support to Grok 4 (lobehub#8386)

* โœจ feat: add vision support to Grok 4

* โœจ feat: disable Grok 2 Vision 1212 model

* ๐Ÿ”– chore(release): v1.97.15 [skip ci]

### [Version&nbsp;1.97.15](lobehub/lobe-chat@v1.97.14...v1.97.15)
<sup>Released on **2025-07-12**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Add vision support to Grok 4.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add vision support to Grok 4, closes [lobehub#8386](lobehub#8386) ([8512f5a](lobehub@8512f5a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: update i18n (lobehub#8410)

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>

* ๐Ÿ”– chore(release): v1.97.16 [skip ci]

### [Version&nbsp;1.97.16](lobehub/lobe-chat@v1.97.15...v1.97.16)
<sup>Released on **2025-07-13**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [lobehub#8410](lobehub#8410) ([2515875](lobehub@2515875))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: Support Hunyuan A13B thinking model (lobehub#8278)

* Update novita.ts

* feat: ๆทปๅŠ ๆ–ฐ็š„ๆททๅ…ƒๆจกๅž‹ๅนถๆ›ดๆ–ฐๅค„็†่ดŸ่ฝฝ้€ป่พ‘

* fix

* free Gemini 2.5 Pro

* ๆทปๅŠ  ERNIE 4.5 300B A47B ๆจกๅž‹ๅˆฐ siliconcloudChatModels

* novita

* ๆทปๅŠ  GLM-4.1V-Thinking ็ณปๅˆ—ๆจกๅž‹ๅˆฐ zhipuChatModels๏ผŒๅนถๆ›ดๆ–ฐ็Žฐๆœ‰ๆจกๅž‹็š„ไธŠไธ‹ๆ–‡็ช—ๅฃๅ’Œๆœ€ๅคง่พ“ๅ‡บ่ฎพ็ฝฎ

* ๆ›ดๆ–ฐ zhipuChatModels๏ผŒๆทปๅŠ ่ง†่ง‰่ƒฝๅŠ›ๅนถๅฏ็”จๆ–ฐๆจกๅž‹๏ผ›ไฟฎๆ”น ZhiPu ็š„ๆฃ€ๆŸฅๆจกๅž‹ ID

* ็งป้™คๅคšไธช siliconcloud ๅบŸๅผƒๆจกๅž‹

* fix

* ็งป้™ค groq Qwen QwQ 32B ๆจกๅž‹้…็ฝฎ

* ๆ›ดๆ–ฐ siliconcloud ๆจกๅž‹

* ๆ›ดๆ–ฐ novita/qwen ๆจกๅž‹

* update siliconcloud model

* add Pangu Pro MoE 72B A16B

* Update novita.ts

* Update novita.ts

* update novita

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>

* ๐Ÿ”– chore(release): v1.97.17 [skip ci]

### [Version&nbsp;1.97.17](lobehub/lobe-chat@v1.97.16...v1.97.17)
<sup>Released on **2025-07-13**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Support Hunyuan A13B thinking model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Hunyuan A13B thinking model, closes [lobehub#8278](lobehub#8278) ([09ca978](lobehub@09ca978))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat: add network proxy for desktop (lobehub#7848)

* add network proxy

* update network proxy

* refactor network proxy

* support network proxy

* fix types

* fix lint

* fix lint

* ๐Ÿ”จ chore: fix settings in desktop (lobehub#8414)

* Update dependency lucide-react to ^0.525.0 (lobehub#8413)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency @anthropic-ai/sdk to ^0.56.0 (lobehub#8412)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* ๐Ÿ”– chore(release): v1.98.0 [skip ci]

## [Version&nbsp;1.98.0](lobehub/lobe-chat@v1.97.17...v1.98.0)
<sup>Released on **2025-07-13**</sup>

#### โœจ Features

- **misc**: Add network proxy for desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add network proxy for desktop, closes [lobehub#7848](lobehub#7848) ([46d2509](lobehub@46d2509))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: fix discover translation (lobehub#8423)

* ๐Ÿ”– chore(release): v1.98.1 [skip ci]

### [Version&nbsp;1.98.1](lobehub/lobe-chat@v1.98.0...v1.98.1)
<sup>Released on **2025-07-14**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Fix discover translation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix discover translation, closes [lobehub#8423](lobehub#8423) ([15ae35c](lobehub@15ae35c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: update i18n (lobehub#8422)

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>

* ๐Ÿ”– chore(release): v1.98.2 [skip ci]

### [Version&nbsp;1.98.2](lobehub/lobe-chat@v1.98.1...v1.98.2)
<sup>Released on **2025-07-14**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [lobehub#8422](lobehub#8422) ([5b89ec8](lobehub@5b89ec8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat:  support AI Image (lobehub#8312)

Co-authored-by: canisminor1990 <i@canisminor.cc>

* โœจ feat(plugin): support Streamable HTTP MCP Server Auth (lobehub#8425)

* โœจ feat: support http streamable auth and headers

* โœจ feat: support http streamable auth and headers

* improve

* improve token

* add i18n

* update i18n

* ๐Ÿ”– chore(release): v1.99.0 [skip ci]

## [Version&nbsp;1.99.0](lobehub/lobe-chat@v1.98.2...v1.99.0)
<sup>Released on **2025-07-14**</sup>

#### โœจ Features

- **plugin**: Support Streamable HTTP MCP Server Auth.
- **misc**:  support AI Image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **plugin**: Support Streamable HTTP MCP Server Auth, closes [lobehub#8425](lobehub#8425) ([853a09a](lobehub@853a09a))
* **misc**:  support AI Image, closes [lobehub#8312](lobehub#8312) ([095de57](lobehub@095de57))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ›  fix: some ai image bugs (lobehub#8432)

* โšก๏ธ perf: improve  memory usage in desktop (lobehub#8431)

* improve usage of memory

* try to improve

* ๐Ÿ”– chore(release): v1.99.1 [skip ci]

### [Version&nbsp;1.99.1](lobehub/lobe-chat@v1.99.0...v1.99.1)
<sup>Released on **2025-07-15**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: some ai image generation feedback issues (lobehub#8440)

* ๐Ÿ”– chore(release): v1.99.2 [skip ci]

### [Version&nbsp;1.99.2](lobehub/lobe-chat@v1.99.1...v1.99.2)
<sup>Released on **2025-07-15**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Some ai image generation feedback issues.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Some ai image generation feedback issues, closes [lobehub#8440](lobehub#8440) ([bc41329](lobehub@bc41329))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœ๏ธ docs: replace all 'Language Model' with 'Al Service Provider' in provider docs (lobehub#8444)

* ๐Ÿ› fix: chat model list should not show image model (lobehub#8448)

* ๐Ÿ”– chore(release): v1.99.3 [skip ci]

### [Version&nbsp;1.99.3](lobehub/lobe-chat@v1.99.2...v1.99.3)
<sup>Released on **2025-07-16**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Chat model list should not show image model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Chat model list should not show image model, closes [lobehub#8448](lobehub#8448) ([2bb1506](lobehub@2bb1506))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: fix apikey issue on server log (lobehub#8457)

* ๐Ÿ”– chore(release): v1.99.4 [skip ci]

### [Version&nbsp;1.99.4](lobehub/lobe-chat@v1.99.3...v1.99.4)
<sup>Released on **2025-07-16**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix apikey issue on server log.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix apikey issue on server log, closes [lobehub#8457](lobehub#8457) ([43be2d1](lobehub@43be2d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: fix page error when url is not defined in web search plugin (lobehub#8441)

Co-authored-by: Arvin Xu <arvinx@foxmail.com>

* ๐Ÿ”– chore(release): v1.99.5 [skip ci]

### [Version&nbsp;1.99.5](lobehub/lobe-chat@v1.99.4...v1.99.5)
<sup>Released on **2025-07-16**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix page error when url is not defined in web search plugin.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix page error when url is not defined in web search plugin, closes [lobehub#8441](lobehub#8441) ([a55b65b](lobehub@a55b65b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: desktop local db can't upload image (lobehub#8459)

* ๐Ÿ”– chore(release): v1.99.6 [skip ci]

### [Version&nbsp;1.99.6](lobehub/lobe-chat@v1.99.5...v1.99.6)
<sup>Released on **2025-07-16**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Desktop local db can't upload image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Desktop local db can't upload image, closes [lobehub#8459](lobehub#8459) ([25bfc80](lobehub@25bfc80))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat: refactor desktop oauth and use JWTs token to support remote chat (lobehub#8446)

* refactor the oauth

* refactor the oauth

* refactor the oauth

* improve oauth status

* fix desktop auth

* fix tests

* improve clean handoff

* try to fix handoff public issue

* fix route protection

* refactor anim

* refactor

* update to access token to jwt

* update to access token to jwt

* improve config

* refactor for JWKs token

* fix auto refresh issue

* โœจ feat: support webapi proxy

* wip: ๅฎŒๆˆๆ–ฐๆตๅผๆŽฅๅฃ

* wip: ่ท‘้€šๆตๅผๆก†ๆžถ

* fix webhooks

* fix network proxy

* try to fix workflow

* fix proxy in remote sync

* fix tests

* fix tests

* fix oauth bypass route

* fix webapi proxy

* ๐Ÿ”จ chore: improve code (lobehub#8469)

* ๐Ÿ”– chore(release): v1.100.0 [skip ci]

## [Version&nbsp;1.100.0](lobehub/lobe-chat@v1.99.6...v1.100.0)
<sup>Released on **2025-07-17**</sup>

#### โœจ Features

- **misc**: Refactor desktop oauth and use JWTs token to support remote chat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Refactor desktop oauth and use JWTs token to support remote chat, closes [lobehub#8446](lobehub#8446) ([054ca5f](lobehub@054ca5f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: use server env config image models (lobehub#8478)

* docs: update fal provider invalid image links

* docs: add FAL model provider environment variables documentation

* ๐Ÿ› fix: update model type assignment in parseModels.ts to use dynamic lookup

* ๐Ÿ“ docs: add FAQ for resolving AI image generation timeout issues on Vercel

* โœจ feat: implement getModelPropertyWithFallback utility for dynamic model property retrieval

* ๐Ÿ“ docs: expand testing guide with best practices for mock data strategies, error handling, and module pollution prevention

* ๐Ÿ› fix: update model type in LobeOpenAICompatibleFactory tests to 'chat'

* ๐Ÿ”– chore(release): v1.100.1 [skip ci]

### [Version&nbsp;1.100.1](lobehub/lobe-chat@v1.100.0...v1.100.1)
<sup>Released on **2025-07-17**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Use server env config image models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Use server env config image models, closes [lobehub#8478](lobehub#8478) ([768ee2b](lobehub@768ee2b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: fix webapi proxy with clerk (lobehub#8479)

* fix webapi proxy with clerk

* Update jwt.ts

* ๐Ÿ”– chore(release): v1.100.2 [skip ci]

### [Version&nbsp;1.100.2](lobehub/lobe-chat@v1.100.1...v1.100.2)
<sup>Released on **2025-07-18**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix webapi proxy with clerk.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](lobehub#8479) ([7dd65f0](lobehub@7dd65f0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: some ai image bugs (lobehub#8490)

* โœจ feat: add zhipu cogview4 (lobehub#8486)

* ๐Ÿ”– chore(release): v1.101.0 [skip ci]

## [Version&nbsp;1.101.0](lobehub/lobe-chat@v1.100.2...v1.101.0)
<sup>Released on **2025-07-19**</sup>

#### โœจ Features

- **misc**: Add zhipu cogview4.

#### ๐Ÿ› Bug Fixes

- **misc**: Some ai image bugs.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add zhipu cogview4, closes [lobehub#8486](lobehub#8486) ([0b1557d](lobehub@0b1557d))

#### What's fixed

* **misc**: Some ai image bugs, closes [lobehub#8490](lobehub#8490) ([5d852be](lobehub@5d852be))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: Try fix authorization code exchange & pin next-auto to `beta.29` (lobehub#8496)

* ๐Ÿ“Œ pin: next-auth@beta.29

* ๐Ÿ› fix: infinite redirection

* ๐Ÿ”– chore(release): v1.101.1 [skip ci]

### [Version&nbsp;1.101.1](lobehub/lobe-chat@v1.101.0...v1.101.1)
<sup>Released on **2025-07-19**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`, closes [lobehub#8496](lobehub#8496) ([27c4881](lobehub@27c4881))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ‘ท build: add default `APP_URL` for docker image to avoid building error (lobehub#8507)

* ๐Ÿ’„ style: fix lobehub provider `/chat` in desktop (lobehub#8508)

* ๐Ÿ”จ chore: fix model runtime test issue (lobehub#8511)

* ๐Ÿ”– chore(release): v1.101.2 [skip ci]

### [Version&nbsp;1.101.2](lobehub/lobe-chat@v1.101.1...v1.101.2)
<sup>Released on **2025-07-21**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Fix lobehub provider `/chat` in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix lobehub provider `/chat` in desktop, closes [lobehub#8508](lobehub#8508) ([c801f9c](lobehub@c801f9c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat: add image generation capabilities using Google AI Imagen API (lobehub#8503)

* ๐Ÿ”– chore(release): v1.102.0 [skip ci]

## [Version&nbsp;1.102.0](lobehub/lobe-chat@v1.101.2...v1.102.0)
<sup>Released on **2025-07-21**</sup>

#### โœจ Features

- **misc**: Add image generation capabilities using Google AI Imagen API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add image generation capabilities using Google AI Imagen API, closes [lobehub#8503](lobehub#8503) ([cef8208](lobehub@cef8208))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ”จ chore(typo): fix `redirectUrl` typo (lobehub#8513)

* ๐Ÿ’„ style: modal list header sticky style (lobehub#8514)

* ๐Ÿ› fix(groq): Enable streaming for tool calls and add Kimi K2 model (lobehub#8510)

* ๐Ÿ”– chore(release): v1.102.1 [skip ci]

### [Version&nbsp;1.102.1](lobehub/lobe-chat@v1.102.0...v1.102.1)
<sup>Released on **2025-07-21**</sup>

#### ๐Ÿ› Bug Fixes

- **groq**: Enable streaming for tool calls and add Kimi K2 model.

#### ๐Ÿ’„ Styles

- **misc**: Modal list header sticky style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **groq**: Enable streaming for tool calls and add Kimi K2 model, closes [lobehub#8510](lobehub#8510) ([60739bc](lobehub@60739bc))

#### Styles

* **misc**: Modal list header sticky style, closes [lobehub#8514](lobehub#8514) ([75273d5](lobehub@75273d5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: add notification for desktop (lobehub#8523)

* add notification for desktop

* update i18n

* fix tests

* ๐Ÿ”– chore(release): v1.102.2 [skip ci]

### [Version&nbsp;1.102.2](lobehub/lobe-chat@v1.102.1...v1.102.2)
<sup>Released on **2025-07-22**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Add notification for desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add notification for desktop, closes [lobehub#8523](lobehub#8523) ([4917d17](lobehub@4917d17))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ‘ท build: add default app url for docker image to avoid building error (lobehub#8526)

* ๐Ÿ› fix: remove debug logging from ModelRuntime and async caller (lobehub#8525)

* ๐Ÿ”– chore(release): v1.102.3 [skip ci]

### [Version&nbsp;1.102.3](lobehub/lobe-chat@v1.102.2...v1.102.3)
<sup>Released on **2025-07-22**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Remove debug logging from ModelRuntime and async caller.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove debug logging from ModelRuntime and async caller, closes [lobehub#8525](lobehub#8525) ([dd1a635](lobehub@dd1a635))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โ™ป๏ธ refactor: add badge and improve document (lobehub#8528)

* update readme

* ๐Ÿ“ docs: Update readme

* ๐Ÿ’„ style: Update PlanIcon

* improve tooltip placement

* improve tray

---------

Co-authored-by: canisminor1990 <i@canisminor.cc>

* ๐Ÿ’„ style: Update tray icon (lobehub#8530)

Co-authored-by: canisminor1990 <i@canisminor.cc>

* ๐Ÿ”– chore(release): v1.102.4 [skip ci]

### [Version&nbsp;1.102.4](lobehub/lobe-chat@v1.102.3...v1.102.4)
<sup>Released on **2025-07-22**</sup>

#### โ™ป Code Refactoring

- **misc**: Add badge and improve document.

#### ๐Ÿ’„ Styles

- **misc**: Update tray icon.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add badge and improve document, closes [lobehub#8528](lobehub#8528) ([9fb4b0d](lobehub@9fb4b0d))

#### Styles

* **misc**: Update tray icon, closes [lobehub#8530](lobehub#8530) ([2696de4](lobehub@2696de4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat: add Qwen image generation capabilities (lobehub#8534)

* ๐Ÿ”– chore(release): v1.103.0 [skip ci]

## [Version&nbsp;1.103.0](lobehub/lobe-chat@v1.102.4...v1.103.0)
<sup>Released on **2025-07-22**</sup>

#### โœจ Features

- **misc**: Add Qwen image generation capabilities.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Qwen image generation capabilities, closes [lobehub#8534](lobehub#8534) ([7e8e5ef](lobehub@7e8e5ef))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ“ docs: fix desktop & mcp mdx (lobehub#8541)

* ๐Ÿ’„ style: update i18n (lobehub#8537)

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>

* ๐Ÿ”– chore(release): v1.103.1 [skip ci]

### [Version&nbsp;1.103.1](lobehub/lobe-chat@v1.103.0...v1.103.1)
<sup>Released on **2025-07-23**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [lobehub#8537](lobehub#8537) ([b16f19b](lobehub@b16f19b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ”จ chore: some ai image optimization (lobehub#8543)

* ๐Ÿ”จ chore: fix an issue where some tests were failing if Branding items were updated (lobehub#8549)

* Update test data for plugin action to use avatar icon path (rather than hard coded)

* Update tests to use BRANDING_NAME constant instead of hardcoded 'LobeChat' and update avatar icon path in chat message tests

* Update tests to replace hardcoded avatar paths with constants for inbox and user avatars

* Update plugin action tests to use DEFAULT_INBOX_AVATAR constant instead of hardcoded path

* ๐Ÿ’„ style: Add cached token count to usage of GoogleAI and VertexAI (lobehub#8545)

* ๐Ÿ’„ style: fix desktop titlebar style in window (lobehub#8439)

* ๐Ÿ’„ style: Fix win electron style

๐Ÿ“ docs: Update readme

๐Ÿ’„ style: Update useWatchThemeUpdate

๐Ÿ’„ style: Update Tray icon

๐Ÿ”ง chore: Update windows

๐Ÿ”ง chore: Update filetree

๐Ÿ”ง chore: Update core

๐Ÿ’„ style: Fix desktop draw style

๐Ÿ’„ style: Update style

๐Ÿ’„ style: Fix backgroundColor

๐Ÿ’„ style: Update titlebar style

* ๐Ÿ’„ style: Fix windows icon

* ๐Ÿ”ง chore: Clean

* update theme

* ๐Ÿ’„ style: Update broswer

* ๐Ÿ’„ style: HandleAppThemeChange

* clean

* fix memory leak

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>

* ๐Ÿ’„ style: fix sub topic width in md responsive (lobehub#8443)

* ๐Ÿ› fix: fix chat stream in desktop and update shortcut (lobehub#8520)

* disable nginx chunk buffering

* make setting keep alive

* update shortcut

* update shortcut

* fix lint

* ๐Ÿ”– chore(release): v1.103.2 [skip ci]

### [Version&nbsp;1.103.2](lobehub/lobe-chat@v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](lobehub#8520) ([0192140](lobehub@0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](lobehub#8545) ([66dbb24](lobehub@66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](lobehub#8439) ([fd7662c](lobehub@fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](lobehub#8443) ([9bae13b](lobehub@9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* โœจ feat: support custom hotkey on desktop (lobehub#8559)

* support custom hotkey

* update tests

* clean

* fix tests

* ๐Ÿ”– chore(release): v1.104.0 [skip ci]

## [Version&nbsp;1.104.0](lobehub/lobe-chat@v1.103.2...v1.104.0)
<sup>Released on **2025-07-24**</sup>

#### โœจ Features

- **misc**: Support custom hotkey on desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support custom hotkey on desktop, closes [lobehub#8559](lobehub#8559) ([b50f121](lobehub@b50f121))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider (lobehub#8557)

* โœจ chore: improve image display quality (lobehub#8571)

* ๐Ÿ”– chore(release): v1.104.1 [skip ci]

### [Version&nbsp;1.104.1](lobehub/lobe-chat@v1.104.0...v1.104.1)
<sup>Released on **2025-07-25**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider, closes [lobehub#8557](lobehub#8557) ([d1e4a54](lobehub@d1e4a54))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ› fix: fix update hotkey invalid when input mod in desktop (lobehub#8572)

* fix hotkey with mod

* fix invalid hotkeys

* add tests

* ๐Ÿ”– chore(release): v1.104.2 [skip ci]

### [Version&nbsp;1.104.2](lobehub/lobe-chat@v1.104.1...v1.104.2)
<sup>Released on **2025-07-26**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix update hotkey invalid when input mod in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix update hotkey invalid when input mod in desktop, closes [lobehub#8572](lobehub#8572) ([07f3e6a](lobehub@07f3e6a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ”จ chore: add react scan debugger and bump deps (lobehub#8576)

* add REACT_SCAN debug

* upgrade lobehub/ui

* clean

* head

* update

* ๐Ÿ’„ style: Add Gemini 2.5 Flash-Lite GA model (lobehub#8539)

* ๐Ÿ”– chore(release): v1.104.3 [skip ci]

### [Version&nbsp;1.104.3](lobehub/lobe-chat@v1.104.2...v1.104.3)
<sup>Released on **2025-07-26**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Add Gemini 2.5 Flash-Lite GA model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Gemini 2.5 Flash-Lite GA model, closes [lobehub#8539](lobehub#8539) ([404ac21](lobehub@404ac21))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

* ๐Ÿ’„ style: update i18n (lobehub#8579)

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>

* ๐Ÿ’„ style: fix setting window layout size (lobehub#8483)

* ๐Ÿ”– chore(release): v1.104.4 [skip ci]

### [Version&nbsp;1.104.4](lobehub/lobe-chat@v1.104.3...v1.104.4)
<sup>Released on **2025-07-28**</sup>

#### ๐Ÿ’„ Styles

- **misc**: Fix setting window layout size, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix setting window layout size, closes [lobehub#8483](lobehub#8483) ([4902341](lobehub@4902341))
* **misc**: Update i18n, closes [lobehub#8579](lobehub#8579) ([2eccbc7](lobehub@2eccbc7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>

* ๐Ÿ“ docs(bot): Auto sync agents & plugin to readme

---------

Co-authored-by: sxjeru <sxjeru@gmail.com>
Co-authored-by: LobeHub Bot <i@lobehub.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
Co-authored-by: bbbugg <80089841+bbbugg@users.noreply.github.com>
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renรฉ Wang <52880665+RiverTwilight@users.noreply.github.com>
Co-authored-by: YuTengjing <ytj2713151713@gmail.com>
Co-authored-by: canisminor1990 <i@canisminor.cc>
Co-authored-by: vual <25891219+vual@users.noreply.github.com>
Co-authored-by: Rylan Cai <67412196+cy948@users.noreply.github.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: afon <wengxufeng@gmail.com>
Co-authored-by: LovelyGuYiMeng <76251800+LovelyGuYiMeng@users.noreply.github.com>
Co-authored-by: huangkairan <56213366+huangkairan@users.noreply.github.com>
Co-authored-by: Jamie Stivala <jamiestivala@gmail.com>
Co-authored-by: Shinji-Li <1349021570@qq.com>
bbbugg pushed a commit to bbbugg/lobe-chat that referenced this pull request Aug 14, 2025
* ๐Ÿ’„ style: Fix win electron style

๐Ÿ“ docs: Update readme

๐Ÿ’„ style: Update useWatchThemeUpdate

๐Ÿ’„ style: Update Tray icon

๐Ÿ”ง chore: Update windows

๐Ÿ”ง chore: Update filetree

๐Ÿ”ง chore: Update core

๐Ÿ’„ style: Fix desktop draw style

๐Ÿ’„ style: Update style

๐Ÿ’„ style: Fix backgroundColor

๐Ÿ’„ style: Update titlebar style

* ๐Ÿ’„ style: Fix windows icon

* ๐Ÿ”ง chore: Clean

* update theme

* ๐Ÿ’„ style: Update broswer

* ๐Ÿ’„ style: HandleAppThemeChange

* clean

* fix memory leak

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
bbbugg pushed a commit to bbbugg/lobe-chat that referenced this pull request Aug 14, 2025
### [Version&nbsp;1.103.2](lobehub/lobe-chat@v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](lobehub#8520) ([48c7487](lobehub@48c7487))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](lobehub#8545) ([be8df5a](lobehub@be8df5a))
* **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](lobehub#8439) ([53c9e37](lobehub@53c9e37))
* **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](lobehub#8443) ([da47317](lobehub@da47317))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
cy948 pushed a commit to cy948/lobe-chat that referenced this pull request Aug 23, 2025
* ๐Ÿ’„ style: Fix win electron style

๐Ÿ“ docs: Update readme

๐Ÿ’„ style: Update useWatchThemeUpdate

๐Ÿ’„ style: Update Tray icon

๐Ÿ”ง chore: Update windows

๐Ÿ”ง chore: Update filetree

๐Ÿ”ง chore: Update core

๐Ÿ’„ style: Fix desktop draw style

๐Ÿ’„ style: Update style

๐Ÿ’„ style: Fix backgroundColor

๐Ÿ’„ style: Update titlebar style

* ๐Ÿ’„ style: Fix windows icon

* ๐Ÿ”ง chore: Clean

* update theme

* ๐Ÿ’„ style: Update broswer

* ๐Ÿ’„ style: HandleAppThemeChange

* clean

* fix memory leak

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
cy948 pushed a commit to cy948/lobe-chat that referenced this pull request Aug 23, 2025
### [Version&nbsp;1.103.2](lobehub/lobe-chat@v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### ๐Ÿ› Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### ๐Ÿ’„ Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](lobehub#8520) ([0192140](lobehub@0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](lobehub#8545) ([66dbb24](lobehub@66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](lobehub#8439) ([fd7662c](lobehub@fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](lobehub#8443) ([9bae13b](lobehub@9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Desktop ๆ‰“ไธŠ่ฟ™ไธช label ๅŽๅฐฑๅฏไปฅ่งฆๅ‘ Desktop ๆž„ๅปบ ๐Ÿ’„ Design Design an style | ๆ ทๅผ้—ฎ้ข˜ released size:XL This PR changes 500-999 lines, ignoring generated files.
Projects
None yet
3 participants