Skip to content

fix: display app version in More menu#97

Open
Bortlesboat wants to merge 1 commit intowebadderall:mainfrom
Bortlesboat:fix/display-app-version
Open

fix: display app version in More menu#97
Bortlesboat wants to merge 1 commit intowebadderall:mainfrom
Bortlesboat:fix/display-app-version

Conversation

@Bortlesboat
Copy link

@Bortlesboat Bortlesboat commented Mar 23, 2026

Summary

  • Add app:getVersion IPC handler in electron/ipc/handlers.ts to expose app.getVersion() to the renderer process
  • Expose getAppVersion in the preload bridge and add its type definition
  • Display the version string (e.g. "v1.1.4") at the bottom of the "More" dropdown menu in the launch window — small, gray, unobtrusive

Test plan

  • Open Recordly and click the "More" (vertical dots) button in the HUD bar
  • Verify the version number appears at the bottom of the dropdown, below the language options
  • Verify the displayed version matches the version field in package.json

Fixes #70

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features
    • App version is now displayed in the launcher menu for user reference.

Add IPC handler to expose app.getVersion() to the renderer and
display it in the More dropdown menu. Users can now verify which
version they're running.

Fixes webadderall#70

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Mar 23, 2026

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: Invalid regex pattern for base branch. Received: "*" at "reviews.auto_review.base_branches[0]"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4fb008ef-4a79-4bbc-b2fa-421129b81ca0

📥 Commits

Reviewing files that changed from the base of the PR and between 95fa2c2 and fb8cb21.

📒 Files selected for processing (4)
  • electron/electron-env.d.ts
  • electron/ipc/handlers.ts
  • electron/preload.ts
  • src/components/launch/LaunchWindow.tsx

📝 Walkthrough

Walkthrough

This PR implements app version display by adding an Electron IPC handler that retrieves the version from package.json, exposing it via preload bridge, and consuming it in the LaunchWindow component to render a version label in the UI.

Changes

Cohort / File(s) Summary
Electron IPC Bridge
electron/electron-env.d.ts, electron/ipc/handlers.ts, electron/preload.ts
Added IPC infrastructure to retrieve app version: type definition for getAppVersion method, main process handler app:getVersion, and preload bridge exposing it to renderer.
Version Display UI
src/components/launch/LaunchWindow.tsx
Added appVersion state with useEffect hook to fetch version on mount and conditional rendering of version label (v{appVersion}) in the "more" dropdown.

Sequence Diagram(s)

sequenceDiagram
    participant Renderer as React Component<br/>(LaunchWindow)
    participant Preload as Preload Bridge<br/>(electronAPI)
    participant Main as Main Process<br/>(IPC Handler)
    participant App as Electron App

    Renderer->>Renderer: useEffect on mount
    Renderer->>Preload: window.electronAPI.getAppVersion()
    Preload->>Main: ipcRenderer.invoke('app:getVersion')
    Main->>App: app.getVersion()
    App-->>Main: version string
    Main-->>Preload: return version
    Preload-->>Renderer: Promise<version>
    Renderer->>Renderer: setState(appVersion)
    Renderer->>Renderer: render version label
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰✨ A version flows through pipes so neat,
From main to render, app.getVersion() complete!
The dropdown now shows what was true all along,
A humble v-number, but oh-so-strong!
Hops excitedly 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: displaying the app version in the More menu.
Description check ✅ Passed The description is largely complete with summary, test plan, and linked issue, though it lacks a few template sections.
Linked Issues check ✅ Passed The PR successfully implements dynamic version retrieval via IPC to display the current app version, directly addressing issue #70's requirement.
Out of Scope Changes check ✅ Passed All changes are directly related to displaying the app version dynamically through IPC handlers and UI updates.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@webadderall
Copy link
Owner

Could you attach a screenshot of what this looks like?

@webadderall
Copy link
Owner

webadderall commented Mar 24, 2026

Also, PR is not updated against main

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Version number not updating

2 participants