Remove waveai#3317
Conversation
- Add local Go 1.26.2 and Zig 0.14.0 installs (gitignored)
- Add @go-task/cli as local npm dependency
- Update Taskfile.yml to use {{.GO}} and {{.ZIG}} vars instead of PATH
- Add go.mod stub in golang dir to prevent module scan errors
- Add manual macOS build workflow (.github/workflows/build-macos.yml)
- Update AGENTS.md with dev environment notes
- Add fork notes to README.md
- Add .pi/ to .gitignore
- Delete deploy-docsite.yml, testdriver-build.yml, testdriver.yml - Change codeql.yml to manual trigger only
Completely removes all telemetry collection, local storage, and cloud upload functionality per the remove-telemetry spec. Key changes: - Delete pkg/telemetry/, pkg/telemetry/telemetrydata/, pkg/wcloud/ - Remove telemetry loops and event recording from cmd/server/main-server.go - Remove 5 telemetry RPC commands and ActivityUpdate type from wshrpc layer - Remove telemetry call sites from wcore, conncontroller, wslconn, jobcontroller, aiusechat, panichandler, clientservice - Remove TelemetryClear/TelemetryEnabled from SettingsConfig and regenerate metaconsts.go, gotypes.d.ts, services.ts, wshclientapi.ts, wshclient.go - Remove wsh CLI activity tracking (activityWrap, sendActivity) - Remove frontend recordTEvent, ActivityCommand, RecordTEventCommand call sites - Remove Electron activity tracking (logActiveState, sendDisplaysTDataEvent, increment-term-commands IPC) - Simplify onboarding: remove telemetry toggle, NoTelemetryStarPage, and telemetry consent flow - Delete telemetry docs (telemetry.mdx, telemetry-old.mdx) - Add migration to drop db_tevent and db_activity tables Compilation fixes: - Restore services import in onboarding.tsx for AgreeTos - Fix emain/preload.ts and emain-ipc.ts corruption from incrementTermCommands removal (restore nativePaste, openBuilder, saveTextFile, setIsActive) - Fix malformed custom.d.ts type declaration - Replace remaining telemetry:enabled reads in AI panel files with true
…sections - Promote Fork Notes to ## Fork Notes immediately after intro paragraph - Remove FOSSA badge, upstream Roadmap, Links, Sponsoring sections - Remove Free Beta AI credits reference (upstream cloud service) - Remove upstream download/docs links from Installation section
- Remove entire ## Wave AI section - Remove AI references from intro and Key Features (Wave AI, AI assistants, AI chat widget) - Update Fork Notes: 'reduced AI features' -> 'remove unnecessary AI features' - Focus README on terminal, SSH, and file management capabilities
Root cause: CloseTab launched an explicit goroutine calling DestroyBlockController while DeleteTab -> DeleteBlock -> BlockCloseEvent triggered the same destruction again, causing concurrent double-Stop on ShellController and DurableShellController. Fixes: - Remove redundant DestroyBlockController goroutine from CloseTab - Add sync.Once to ShellProc.Close() as defense-in-depth - Add trace logging for interactive diagnosis - Add 14 unit tests covering the race conditions Resolves: .pi/specs/bug-tabclose-crash.md
Logging was added to verify the fix; crash confirmed resolved interactively. Stripping to avoid polluting production logs.
… frontend - Remove AIPanel from builder-workspace.tsx, replace with placeholder div - Remove WaveAIModel imports from builder-buildpanel.tsx and builder-previewtab.tsx - Remove 'Add to Context' and 'Send Output to AI' from builder build panel - Simplify builder-previewtab ErrorStateView (remove AI streaming check/buttons) - Move formatFileSize from @/app/aipanel/ai-utils to @/util/util - Update builder-filestab.tsx formatFileSize import to @/util/util - Simplify BuilderFocusType to 'app' only, remove setWaveAIFocused() - Remove 'AI Presets' deprecated config entry and validateAiJson from waveconfig-model.ts - Remove inWaveAI parameter and WaveAI navigation branch from layoutModel.ts - Update keymodel.ts switchNodeFocusInDirection call site - Remove setWaveAIOpen from preview-electron-api.ts mock - Remove dead rateLimitInfoAtom declaration from global-atoms.ts
The inner PanelGroup (holding VTabBar + AIPanel side-by-side) was removed in Phase A, but the VTabBar's <Panel> wrapper was accidentally left intact, creating an invalid react-resizable-panels structure: a <Panel> inside another <Panel> with no <PanelGroup> parent. This caused the library to fail layout calculations and collapse all panels to zero size, producing a completely blank app window. - Replace nested <Panel> with plain <div> in workspace.tsx - Remove vtabPanelRef and ImperativePanelHandle import - Remove syncPanelCollapse() and related refs in workspace-layout-model.ts
Remove getShellIntegrationIconButton() implementation (sparkle/Claude logo and Wave AI tooltips) and replace with no-op stub returning null. - Remove TermClaudeIcon import from term-model.ts - Underlying shell integration protocol (OSC 16162) left intact; could be reused later for pi coding agent support (documented in .pi/decisions.md) Docs: Add .pi/decisions.md with Claude Code integration analysis
Move all fork planning docs into the active working directory: - Copy specs (remove-waveai, remove-telemetry, portforwarding, bug-tabclose-crash) - Copy context.md, index.md, todos.md - Merge decisions.md: prepend original ADRs (fork purpose, .pi/ hub, port forwarding config-first approach, tab-close crash fix, secret store keep) with today's Claude Code integration analysis for future pi agent support
- Delete docs/docs/waveai.mdx, waveai-modes.mdx, ai-presets.mdx - Delete schema/waveai.json, schema/aipresets.json - Remove AI config rows from docs/docs/config.mdx (ai:*, waveai:*, app:hideaibutton) - Clean AI references from gettingstarted.mdx, index.mdx, wsh-reference.mdx - Truncate releasenotes.mdx to v0.14.x, strip all AI mentions - Fix misleading AI text in builder-previewtab.tsx EmptyStateView - Remove AI schema generation from generateschema (Phase B.12 fix) - Add sharp dependency for vite image optimizer
Removes AI RPC handlers, client helpers, web endpoints, and dead packages that were missed in the original Phase B implementation. Specific changes: - wshrpctypes.go: remove 7 AI interface methods + 6 AI data types - wshserver.go: remove 5 AI RPC handlers + aiusechat/chatstore/uctypes imports - wshclient.go: remove 8 AI client helper functions + uctypes import - web.go: remove /api/post-chat-message and /wave/aichat endpoints - main-server.go: remove aiusechat.InitAIModeConfigWatcher() call - wshcmd-blocks.go: remove waveai from view filter help/validation - filebackup.go: rename waveai-backups -> file-backups - wpstypes.go: remove Event_WaveAIRateLimit and Event_AIModeConfig - tsgenevent.go: remove WaveAI event data mappings - tsgen.go: remove uctypes/AIModeConfigUpdate from ExtraTypes - Delete pkg/aiusechat/ (entire directory, ~8.5K lines) - Delete cmd/testai/, cmd/testopenai/, cmd/testsummarize/ - Delete cmd/wsh/cmd/wshcmd-ai.go (entire wsh ai command) Also updates .pi/todos.md to reflect Phase D as next active task.
Comprehensive removal of orphaned Wave AI code after Phase A/B/C cleanup: Frontend: - Delete frontend/app/aipanel/ (entire directory, 17 files) - Delete frontend/app/view/waveai/ (deprecated view) - Delete frontend/app/view/aifilediff/ (deprecated view) - Delete frontend/app/view/waveconfig/waveaivisual.tsx - Delete frontend/app/onboarding/fakechat.tsx - Delete frontend/preview/previews/waveai.preview.tsx - Delete frontend/preview/previews/aifilediff.preview.tsx + util + test Go Backend: - Remove AiSettingsType, GetAiSettings(), MergeAiSettings() from settingsconfig.go - Remove all AI fields from SettingsType (AiClear, AiPreset, AiApiType, etc.) - Remove AIModeConfigType, AIModeConfigUpdate structs - Remove WaveAIModes from FullConfigType - Remove CountCustomAIPresets(), CountCustomAIModes() methods - Remove AI meta fields from waveobj.MetaTSType (wtypemeta.go) - Remove AI fields from waveobj.ObjRTInfo (objrtinfo.go) - Delete pkg/wconfig/defaultconfig/waveai.json - Delete pkg/wconfig/defaultconfig/presets/ai.json - Clean AI defaults from pkg/wconfig/defaultconfig/settings.json - Fix embed directive in defaultconfig.go (removed all:*/*.json subdir pattern) TypeScript: - Remove setWaveAIOpen and AIModeConfigWithMode from custom.d.ts - Regenerate gotypes.d.ts, waveevent.d.ts, wshclientapi.ts (auto-cleaned) - Regenerate metaconsts.go (auto-cleaned) - Regenerate schema/settings.json (auto-cleaned) Verification: - go build ./... passes cleanly - task generate produces no AI-related output - Zero AI references remain in pkg/, cmd/, frontend/app/, frontend/preview/
Additional cleanup found during verification sweep: - Remove dangling waveAIButtonRef and hideAiButton from tabbar.tsx (ref was never attached to any DOM element, always null) - Remove app:hideaibutton from tabbarenv.ts, vtabbarenv.ts type unions - Remove hideAiButton state/checkbox from tabbar.preview.tsx, vtabbar.preview.tsx - Remove AppHideAiButton field from SettingsType - Remove app:hideaibutton default from settings.json - Remove WaveAI keybindings from docs/docs/keybindings.mdx - Regenerate gotypes.d.ts, metaconsts.go, schema/settings.json
|
|
|
Important Review skippedToo many files! This PR contains 226 files, which is 76 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (226)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
sorry, this was supposed to be on my fork |
Permanently remove wave ai components