Skip to content

Put the chart menu at the view's top right; ask where a download goes - #477

Merged
Fei2411 merged 5 commits into
devfrom
fix/476-view-chart-menu
Oct 23, 2026
Merged

Fei2411 merged 5 commits into
devfrom
fix/476-view-chart-menu

Conversation

@Fei2411

@Fei2411 Fei2411 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Issue

Fixes #476

What changed / 改了什么

  • A chart's options button (View as table, Copy data, Download image) moves from the chart's own corner, over the plot, to the top right of the view card's header. It shows while the pointer is anywhere on the card, always on touch screens. With several charts the menu has one group per chart, headed by its caption or "Chart N"; switching a chart to a table keeps the order and the names.
  • Desktop app: a download from the app window (such as Download image) opens the system Save dialog in the Downloads folder; Cancel drops it. Before, the file went to Downloads without any notice. Downloads from other contents (the sign-in window, Bot browsers) keep their own rules.

Changelog

In the desktop app, a file you download from the window, such as a chart image, asks where to save it.

How I checked it / 怎么验证的

  • npm test (in ds-bot/): 933 pass, 0 fail, 1 skip; app/ tests with 3 new download cases
  • node scripts/build-client.mjs --check
  • npm run lint
  • Desktop app from source with the mock model: the menu at the card's top right with one chart and with three; a chart switched to a table keeps its place in the menu; Download image opens the Save dialog, saves a valid PNG, and Cancel saves nothing.
  • Screenshot attached, for interface changes / 界面改动已附截图

Devin Review

A chart's ⋯ menu sat on the figure's axes where hover left it unreadable.
The button now lives at the card header's right edge, shows while the card
is hovered, focused or open, and stays on touch screens; each chart hands
the card a handle so one menu serves every chart in the view, grouped and
named after its caption.

Fixes #476
A table switch rebuilt the chart's registration, so the card's Map moved
the chart to the last group and its menu group took the next fallback
name. The handle registers once at mount now and hands the menu the
current label and table state through getters; a refreshCharts call on
ctx redraws the card's menu without touching the order.

Refs #476
Without a will-download listener the session saved files straight into
the downloads folder with no sign of where they landed. The main window
now asks with the system save dialog first; a cancelled dialog drops
the download, and downloads started by any other contents keep their
own rules.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T13:39:33.811425Z 3282b12 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Fei2411

Fei2411 commented Oct 23, 2026

Copy link
Copy Markdown
Owner Author

Desktop app, mock model. Before (dev): the button over the plot. After: at the card's top right, the menu open, three charts with the first switched to a table, and the dark theme.

before-hover

after-hover

after-menu

after-two-table

after-dark

@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: 3282b12dbd

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

.bt-view-more svg{width:16px;height:16px}
.bt-menu.bt-view-menu{position:absolute;top:32px;right:0;--bt-origin:top right;min-width:180px}
.bt-menu.bt-view-menu button{gap:8px}
.bt-view-menu-label{padding:2px 8px;font-size:11px;line-height:14px;color:var(--bt-ink-3);white-space:nowrap}

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 Constrain long chart captions in the menu

When a valid chart has a long caption—the validator permits it to consume nearly the entire 8 KiB view—the non-wrapping label gives this absolutely positioned, right-anchored menu the caption's full width. Its left side, including the View/Copy/Download button content, can then extend off-screen and become inaccessible. Cap the menu or label to the viewport/card width and truncate or wrap the caption.

Useful? React with 👍 / 👎.

@devin-ai-integration devin-ai-integration Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Note

Newer findings are available below. Devin Review posted a newer report on this PR, in addition to the findings presented here.

Devin Review found 1 potential issue.

1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

.bt-view-more svg{width:16px;height:16px}
.bt-menu.bt-view-menu{position:absolute;top:32px;right:0;--bt-origin:top right;min-width:180px}
.bt-menu.bt-view-menu button{gap:8px}
.bt-view-menu-label{padding:2px 8px;font-size:11px;line-height:14px;color:var(--bt-ink-3);white-space:nowrap}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Chart headings break the typography scale

For multiple charts, bt-view-menu-label uses 11px text with 14px line height. The UI standard requires 11px text to use 16px line height.

Suggested change
.bt-view-menu-label{padding:2px 8px;font-size:11px;line-height:14px;color:var(--bt-ink-3);white-space:nowrap}
.bt-view-menu-label{padding:2px 8px;font-size:11px;line-height:16px;color:var(--bt-ink-3);white-space:nowrap}

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

Comment thread CHANGELOG.md
- Chat bubbles widen with the window instead of stopping at a fixed width. ([#380](https://github.com/Fei2411/DeepSeek-Bot/issues/380), [#447](https://github.com/Fei2411/DeepSeek-Bot/pull/447))
- A Bot's thinking is hidden by default; turn on **Show thinking** in Settings → General → Appearance to see it above the reply. Bot chats no longer show lines such as "Tools updated". ([#465](https://github.com/Fei2411/DeepSeek-Bot/issues/465), [#466](https://github.com/Fei2411/DeepSeek-Bot/pull/466))
- Only one right panel opens at a time, and the Bot drawer has a New terminal button in place of the header's right-sidebar toggle. ([#456](https://github.com/Fei2411/DeepSeek-Bot/issues/456), [#470](https://github.com/Fei2411/DeepSeek-Bot/pull/470))
- In the desktop app, a file you download from the window, such as a chart image, asks where to save it. ([#476](https://github.com/Fei2411/DeepSeek-Bot/issues/476), [#477](https://github.com/Fei2411/DeepSeek-Bot/pull/477))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Premature release changelog entry

The download entry edits the released changelog, despite the repository rule reserving CHANGELOG.md edits for the maintainer's release PR.

Suggested change
- In the desktop app, a file you download from the window, such as a chart image, asks where to save it. ([#476](https://github.com/Fei2411/DeepSeek-Bot/issues/476), [#477](https://github.com/Fei2411/DeepSeek-Bot/pull/477))

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@Fei2411
Fei2411 merged commit 6d225fd into dev Oct 23, 2026
13 checks passed
@Fei2411
Fei2411 deleted the fix/476-view-chart-menu branch October 23, 2026 15:01
@Fei2411 Fei2411 mentioned this pull request Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant