Skip to content

remove old waveai backend code#3195

Open
sawka wants to merge 2 commits intomainfrom
sawka/about-no-electron
Open

remove old waveai backend code#3195
sawka wants to merge 2 commits intomainfrom
sawka/about-no-electron

Conversation

@sawka
Copy link
Copy Markdown
Member

@sawka sawka commented Apr 7, 2026

frontend was removed in the last release. cleaning up the backend code. remove wsapi host (cloud service is also getting removed)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 7, 2026

Walkthrough

This pull request removes the entire WaveAI (AI chat/completion) feature from the application. Changes include deletion of all AI backend provider implementations (Anthropic, Google, OpenAI, Perplexity, and cloud-based), removal of the WaveAI service interface and request routing logic, elimination of WaveAI-related RPC command methods from client and server, removal of AI data storage functionality, and deletion of WebSocket endpoint configuration. The frontend is refactored to read version and buildtime information from a config atom instead of API calls, while the config structure is updated to include version and buildtime fields from the application base.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'remove old waveai backend code' accurately describes the main objective of this PR, which removes WaveAI-related backend implementations across multiple files.
Description check ✅ Passed The description is relevant to the changeset, mentioning frontend removal, backend code cleanup, and wsapi host removal—all reflected in the file summaries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sawka/about-no-electron

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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
frontend/app/modals/about.tsx (1)

88-90: Consider handling the loading state for version display.

When fullConfig is initially undefined (unlikely but possible), versionString would render as " ()", which could appear briefly in the UI.

If this is a concern, you could add a fallback or guard:

💡 Optional defensive improvement
 const AboutModal = () => {
     const fullConfig = useAtomValue(atoms.fullConfigAtom);
-    const versionString = `${fullConfig?.version ?? ""} (${isDev() ? "dev-" : ""}${fullConfig?.buildtime ?? ""})`;
+    const version = fullConfig?.version ?? "";
+    const buildtime = fullConfig?.buildtime ?? "";
+    const versionString = version ? `${version} (${isDev() ? "dev-" : ""}${buildtime})` : "Loading...";
     const updaterChannel = fullConfig?.settings?.["autoupdate:channel"] ?? "latest";

However, since fullConfigAtom is populated at app startup before this modal can be opened, this is likely a non-issue in practice.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app/modals/about.tsx` around lines 88 - 90, The current computation
of versionString can produce " ()" when fullConfig is undefined; update the
logic around useAtomValue(atoms.fullConfigAtom) so versionString is only
computed when fullConfig exists or uses safe defaults — for example, guard on
fullConfig (or use nullish defaults for fullConfig.version and
fullConfig.buildtime) before building the string in the component that renders
it (references: fullConfig, versionString, useAtomValue, fullConfigAtom, isDev);
ensure the UI shows a sensible fallback (e.g., empty string or "Loading...")
instead of " ()" until fullConfig is available.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@frontend/app/modals/about.tsx`:
- Around line 88-90: The current computation of versionString can produce " ()"
when fullConfig is undefined; update the logic around
useAtomValue(atoms.fullConfigAtom) so versionString is only computed when
fullConfig exists or uses safe defaults — for example, guard on fullConfig (or
use nullish defaults for fullConfig.version and fullConfig.buildtime) before
building the string in the component that renders it (references: fullConfig,
versionString, useAtomValue, fullConfigAtom, isDev); ensure the UI shows a
sensible fallback (e.g., empty string or "Loading...") instead of " ()" until
fullConfig is available.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4af3fd25-bcdf-49eb-9008-b654375d1abf

📥 Commits

Reviewing files that changed from the base of the PR and between 9f41b57 and 0aed497.

📒 Files selected for processing (16)
  • frontend/app/modals/about.tsx
  • frontend/app/store/services.ts
  • frontend/app/store/wshclientapi.ts
  • frontend/types/gotypes.d.ts
  • pkg/service/blockservice/blockservice.go
  • pkg/waveai/anthropicbackend.go
  • pkg/waveai/cloudbackend.go
  • pkg/waveai/googlebackend.go
  • pkg/waveai/openaibackend.go
  • pkg/waveai/perplexitybackend.go
  • pkg/waveai/waveai.go
  • pkg/wcloud/wcloud.go
  • pkg/wconfig/settingsconfig.go
  • pkg/wshrpc/wshclient/wshclient.go
  • pkg/wshrpc/wshrpctypes.go
  • pkg/wshrpc/wshserver/wshserver.go
💤 Files with no reviewable changes (13)
  • pkg/service/blockservice/blockservice.go
  • frontend/app/store/wshclientapi.ts
  • frontend/app/store/services.ts
  • pkg/waveai/cloudbackend.go
  • pkg/wshrpc/wshserver/wshserver.go
  • pkg/waveai/googlebackend.go
  • pkg/wshrpc/wshclient/wshclient.go
  • pkg/wcloud/wcloud.go
  • pkg/waveai/perplexitybackend.go
  • pkg/wshrpc/wshrpctypes.go
  • pkg/waveai/anthropicbackend.go
  • pkg/waveai/waveai.go
  • pkg/waveai/openaibackend.go

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