Skip to content

feat(local): move resource usage into Settings › Resources - #2130

Merged
AnishSarkar22 merged 1 commit into
MODSetter:devfrom
AnishSarkar22:fix/resource-ui
Oct 1, 2026
Merged

AnishSarkar22 merged 1 commit into
MODSetter:devfrom
AnishSarkar22:fix/resource-ui

Conversation

@AnishSarkar22

@AnishSarkar22 AnishSarkar22 commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

What

The Resources panel leaves the top of the right column, which is back to Studio alone, and becomes its own settings section between Video and Network. It polls only while that section is open, since the dialog mounts just the open section.

The section is laid out like the other settings pages, with no card. It has three headed parts with separators between them: This computer for the bars and legend, By engine for the per-engine table, and Graphics, which names each card with its memory or says it shares the CPU's. With more than one card, Graphics numbers them like the GPU rows so a name matches its bars. The per-engine table is always shown, so the chevron and its localStorage preference are gone.

Every settings section now scrolls its heading with its content, so General, Network, License and Resources match the model pages and About.

Why

Fixes #

How to test

High-level PR Summary

This PR reorganizes the resource usage interface by moving it from a standalone panel in the right column to its own settings section called Resources, positioned between Video and Network. The new settings section has three parts: This computer showing overall machine metrics with bars, By engine with a table of per-engine resource consumption, and Graphics listing graphics cards with their memory details. The section is now laid out like other settings pages without a card wrapper, and resource polling occurs only while the Resources section is open. Additionally, all settings sections now scroll their headings with their content for visual consistency.

⏱️ Estimated Review Time: 30-90 minutes

💡 Review Order Suggestion
Order File Path
1 docs/architecture/overview.md
2 docs/architecture/resource-usage.md
3 surfsense_local/frontend/src/features/resources/resource-settings.tsx
4 surfsense_local/frontend/src/features/resources/live-resource-usage.tsx
5 surfsense_local/frontend/src/features/resources/use-resource-usage.ts
6 surfsense_local/frontend/src/features/resources/resource-usage-panel.tsx
7 surfsense_local/frontend/src/features/resources/usage-section.tsx
8 surfsense_local/frontend/src/features/resources/graphics-cards.tsx
9 surfsense_local/frontend/src/features/resources/engine-breakdown.tsx
10 surfsense_local/frontend/src/features/resources/usage-meter.tsx
11 surfsense_local/frontend/src/features/resources/breakdown-pref.ts
12 surfsense_local/frontend/src/features/dashboard/right-panel.tsx
13 surfsense_local/frontend/src/features/dashboard/dashboard-page.tsx
14 surfsense_local/frontend/src/features/settings/settings-dialog.tsx
15 surfsense_local/frontend/src/features/settings/settings-section.tsx
16 surfsense_local/frontend/src/features/resources/live-resource-usage.test.tsx
17 surfsense_local/frontend/src/features/resources/resource-usage-panel.test.tsx
18 surfsense_local/frontend/src/features/settings/settings-dialog.test.tsx
19 surfsense_local/frontend/src/features/resources/usage-rows.ts
20 surfsense_local/frontend/translations/en.json
21 surfsense_local/frontend/translations/de.json
22 surfsense_local/frontend/translations/es.json
23 surfsense_local/frontend/translations/fr.json
24 surfsense_local/frontend/translations/hi.json
25 surfsense_local/frontend/translations/ja.json
26 surfsense_local/frontend/translations/ko.json
27 surfsense_local/frontend/translations/pt-BR.json
28 surfsense_local/frontend/translations/ru.json
29 surfsense_local/frontend/translations/zh-CN.json

Need help? Join our Discord

The Resources panel leaves the top of the right column, which is back to
Studio alone, and becomes its own settings section between Video and
Network. It polls only while that section is open, since the dialog
mounts just the open section.

The section is laid out like the other settings pages, with no card. It
has three headed parts with separators between them: This computer for
the bars and legend, By engine for the per-engine table, and Graphics,
which names each card with its memory or says it shares the CPU's. With
more than one card, Graphics numbers them like the GPU rows so a name
matches its bars. The per-engine table is always shown, so the chevron
and its localStorage preference are gone.

Every settings section now scrolls its heading with its content, so
General, Network, License and Resources match the model pages and About.
@vercel

vercel Bot commented Oct 1, 2026

Copy link
Copy Markdown

@AnishSarkar22 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@AnishSarkar22
AnishSarkar22 merged commit e0ab4b3 into MODSetter:dev Oct 1, 2026
5 of 8 checks passed
@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository: MODSetter/SurfSense/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 32b64e7e-344d-405b-ac40-ef45d181afbe

📥 Commits

Reviewing files that changed from the base of the PR and between cddfd05 and 5aee889.

📒 Files selected for processing (29)
  • docs/architecture/overview.md
  • docs/architecture/resource-usage.md
  • surfsense_local/frontend/src/features/dashboard/dashboard-page.tsx
  • surfsense_local/frontend/src/features/dashboard/right-panel.tsx
  • surfsense_local/frontend/src/features/resources/breakdown-pref.ts
  • surfsense_local/frontend/src/features/resources/engine-breakdown.tsx
  • surfsense_local/frontend/src/features/resources/graphics-cards.tsx
  • surfsense_local/frontend/src/features/resources/live-resource-usage.test.tsx
  • surfsense_local/frontend/src/features/resources/live-resource-usage.tsx
  • surfsense_local/frontend/src/features/resources/resource-settings.tsx
  • surfsense_local/frontend/src/features/resources/resource-usage-panel.test.tsx
  • surfsense_local/frontend/src/features/resources/resource-usage-panel.tsx
  • surfsense_local/frontend/src/features/resources/usage-meter.tsx
  • surfsense_local/frontend/src/features/resources/usage-rows.ts
  • surfsense_local/frontend/src/features/resources/usage-section.tsx
  • surfsense_local/frontend/src/features/resources/use-resource-usage.ts
  • surfsense_local/frontend/src/features/settings/settings-dialog.test.tsx
  • surfsense_local/frontend/src/features/settings/settings-dialog.tsx
  • surfsense_local/frontend/src/features/settings/settings-section.tsx
  • surfsense_local/frontend/translations/de.json
  • surfsense_local/frontend/translations/en.json
  • surfsense_local/frontend/translations/es.json
  • surfsense_local/frontend/translations/fr.json
  • surfsense_local/frontend/translations/hi.json
  • surfsense_local/frontend/translations/ja.json
  • surfsense_local/frontend/translations/ko.json
  • surfsense_local/frontend/translations/pt-BR.json
  • surfsense_local/frontend/translations/ru.json
  • surfsense_local/frontend/translations/zh-CN.json
 _________________________________________________________________
< This PR is a classic: 'small change' with 'large consequences'. >
 -----------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

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