Skip to content

Centered 75% window, new Updates page, random ASCII background, hide Wooting - #23

Merged
snekxs merged 1 commit into
mainfrom
window-size-updates-page
Oct 22, 2026
Merged

snekxs merged 1 commit into
mainfrom
window-size-updates-page

Conversation

@snekxs

@snekxs snekxs commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Changes

  • Window: opens at 75% of the primary display, centered on it.
  • Updates page: tinted version card; release notes as cards with the running version highlighted; badge labels and dot bullets; roomier spacing; empty state when there are no notes.
  • ASCII background: the noise is seeded once per launch, so each start gets a different pattern. Resizing keeps the same one.
  • Wooting: hidden for now via HIDDEN_BRANDS in gpui/js/native-hid/brands.ts. Remove the name there to bring it back.

Testing

Built with cargo build and run by hand. Checked the window position and size, the Updates page and the background across launches. Not tested: the update-available banner, the empty notes state, a Wooting device plugged in, or a long changelog.

Note

Open window centered at 75% of display, add Updates page cards, hide Wooting brand

  • Window now opens centered at 75% of the primary display's width and height, with a fixed fallback size when no primary display exists (main.rs)
  • Updates page gets a wider layout, accent-tinted current-version banner, and card-style release entries with badges and styled bullets (app.rs)
  • ASCII background noise is seeded once per launch from the system clock, so clouds differ between runs but stay stable across window resizes
  • Wooting drivers are excluded from HID candidates via the new HIDDEN_BRANDS set in brands.ts)
  • Behavioral Change: Wooting vendor ID lookups return no driver candidates; ASCII seed falls back to zero-derived offsets if the system time cannot be read

Macroscope summarized e4ddc4d.

Summary by CodeRabbit

  • User Interface

    • Updated the Updates page with clearer spacing, tinted cards, badges, bullets, and borders.
    • Release-note rows now use a cleaner layout without divider lines.
    • The ASCII background pattern remains consistent when resizing the window.
  • Window Experience

    • The main window now opens at 75% of the primary display size and is centered automatically.
    • Added a fallback window size when display information is unavailable.
  • Device Detection

    • Wooting devices are no longer shown among automatically detected registry drivers.

… ASCII background

- Open the main window at 75% of the primary display, centered on it.
- Hide the Wooting brand for now (HIDDEN_BRANDS in brands.ts).
- Updates page: tinted version card, release notes as cards with the
  running version highlighted, badge labels and dot bullets, roomier
  spacing and an empty state.
- Seed the ASCII background noise once per launch so each start gets a
  different pattern; resizing keeps the same one.
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3d62ec91-4f68-40b8-8010-b5fdc4863a20
📥 Commits

Reviewing files that changed from the base of the PR and between aba3f10 and e4ddc4d.

📒 Files selected for processing: 3
  • gpui/js/native-hid/brands.ts
  • gpui/src/app.rs
  • gpui/src/bin/main.rs

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The changes exclude selected HID brands from driver candidates, seed the app background once per process, set initial window bounds from the primary display, and restyle the updates page.

Changes: HID brand filtering

Layer / File(s) Summary
Hide selected driver brands
gpui/js/native-hid/brands.ts
The hidden-brand set includes Wooting. Candidate construction filters out drivers whose brand is in that set.

Desktop presentation

Layer / File(s) Summary
Background and initial window bounds
gpui/src/app.rs, gpui/src/bin/main.rs
The background uses a seed set once per process. The main window uses centered bounds based on 75% of the primary display, with a 1467×960 fallback.
Updates-page cards and release rows
gpui/src/app.rs
The current-version card and release-note rows use updated spacing, colors, badges, bullets, and borders. The release-notes section includes an empty-state message.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to e4ddc

The changes are ready to merge after normal checks; no actionable risk remains identified.

Security architecture risk: 🔵 Low · up to e4ddc

The change restricts device availability rather than adding privileges or access. No new security exposure was identified in the inspected paths. Remaining uncertainty concerns release-time dependency behavior and operation with physical Wooting devices.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • observed — The changed policy acts on local HID driver eligibility. The vendor IDs used for initial enumeration remain derived from the existing protocol filters; exclusion happens before candidate driver construction and subsequent device operations.

Trust Boundaries and Controls

  • observed — Device-provided metadata still passes through support predicates and scoring. Known collections with no remaining claim yield no candidates. Collectionless devices may use vendor fallback, but only from the already-filtered registry set; fallback cannot directly restore the excluded Wooting driver.
Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely summarizes the main changes: the centered 75% window, Updates page, randomized ASCII background, and hidden Wooting brand.
Docstring Coverage Passed Docstring coverage is 87.50% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 3 files.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

🔧 Clippy (1.99.0)

Clippy execution timed out

Comment @coderabbitai help to get the list of available commands.

@macroscopeapp

macroscopeapp Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — The PR contains contained UI, window-sizing, and background-appearance updates, but it also intentionally filters Wooting out of HID candidates, preventing enumeration, connection, and device operations for that brand. That existing production behavior change warrants human review.

Notes:

  • Your repo's Minimum Blocking Severity is Off, so correctness findings do not automatically block approval.

You can add or adjust custom eligibility rules. Learn more.

@snekxs
snekxs merged commit 8cc08c3 into main Oct 22, 2026
4 checks passed
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