Skip to content

Remove OpenCode 'O' logo mark from sidebar menu #234

@shuv1337

Description

@shuv1337

Problem/Context

During the merge of upstream v1.0.221 (commit 8a1d5ab4f), the OpenCode logo mark ("O" icon) was re-introduced into the sidebar menu. This is visible at the top of the sidebar when it's collapsed or expanded.

The merge commit message explicitly noted: "adopted upstream's Mark logo link and TooltipKeybind component" — the TooltipKeybind was intentional, but the Mark logo should not have been kept since this is a fork with different branding.

Current State

The Mark component (an SVG rendering the letter "O") appears in the sidebar:

File: packages/app/src/pages/layout.tsx:916-918

<A href="/" class="shrink-0 h-8 flex items-center justify-start px-2" data-tauri-drag-region>
  <Mark class="shrink-0" />
</A>

The Mark component itself is defined in packages/ui/src/components/logo.tsx:1-14 and renders the OpenCode "O" branding.

Acceptance Criteria

  • Remove the OpenCode "O" Mark from the sidebar menu in packages/app/src/pages/layout.tsx
  • Either remove the entire link+logo block, or replace with shuvcode branding if needed
  • Ensure the sidebar toggle button remains functional and properly positioned
  • Verify the change on both mobile and desktop viewport sizes
  • Update the sync conflict documentation if this becomes a recurring merge issue

Implementation Details

Suggested Approach

Remove lines 915-918 from packages/app/src/pages/layout.tsx:

const SidebarContent = (sidebarProps: { mobile?: boolean }) => {
  const expanded = () => sidebarProps.mobile || layout.sidebar.opened()
  return (
    <>
      <div class="flex flex-col items-start self-stretch gap-4 p-2 min-h-0 overflow-hidden">
-       <Show when={!sidebarProps.mobile}>
-         <A href="/" class="shrink-0 h-8 flex items-center justify-start px-2" data-tauri-drag-region>
-           <Mark class="shrink-0" />
-         </A>
-       </Show>
        <Show when={!sidebarProps.mobile}>
          <TooltipKeybind
            ...

Also clean up the unused import on line 20:

- import { Mark } from "@opencode-ai/ui/logo"

Related Files

  • packages/app/src/pages/layout.tsx - Main layout with sidebar
  • packages/ui/src/components/logo.tsx - Logo components (Mark, AsciiMark, AsciiLogo)
  • packages/app/src/components/header.tsx - Header uses AsciiLogo/AsciiMark (these are fine, they're branded for shuvcode)

Previous Removal

This was previously removed in commit 185614d29 ("updates"), but got re-added during upstream merge. Consider adding to script/sync/fork-features.json to track this as a fork-specific change that should be preserved during merges.

Tasks

  • Remove Mark logo link from sidebar in layout.tsx
  • Remove unused Mark import
  • Test sidebar appearance on desktop (collapsed and expanded states)
  • Test sidebar appearance on mobile
  • Consider documenting in fork-features.json for future merge conflict prevention

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions