Skip to content

Revert "Make memory and context views mobile-friendly"#817

Merged
gsxdsm merged 1 commit intov1.0.0from
revert-813-fix/memory-and-context-mobile-friendly
Feb 26, 2026
Merged

Revert "Make memory and context views mobile-friendly"#817
gsxdsm merged 1 commit intov1.0.0from
revert-813-fix/memory-and-context-mobile-friendly

Conversation

@gsxdsm
Copy link
Collaborator

@gsxdsm gsxdsm commented Feb 26, 2026

Reverts #813

Summary by CodeRabbit

Release Notes

  • Refactor
    • Restructured Context and Memory views with a fixed two-panel layout. File list now displays in a persistent sidebar while the editor panel dynamically expands. Navigation between files and editor content is simplified.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 26, 2026

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

📥 Commits

Reviewing files that changed from the base of the PR and between 583c3eb and 61185e9.

📒 Files selected for processing (30)
  • apps/ui/playwright.config.ts
  • apps/ui/src/components/ui/header-actions-panel.tsx
  • apps/ui/src/components/views/context-view.tsx
  • apps/ui/src/components/views/memory-view.tsx
  • apps/ui/src/lib/image-utils.ts
  • apps/ui/tests/context/desktop-context-view.spec.ts
  • apps/ui/tests/context/file-extension-edge-cases.spec.ts
  • apps/ui/tests/context/mobile-context-operations.spec.ts
  • apps/ui/tests/context/mobile-context-view.spec.ts
  • apps/ui/tests/memory/desktop-memory-view.spec.ts
  • apps/ui/tests/memory/file-extension-edge-cases.spec.ts
  • apps/ui/tests/memory/mobile-memory-operations.spec.ts
  • apps/ui/tests/memory/mobile-memory-view.spec.ts
  • apps/ui/tests/profiles/profiles-crud.spec.ts
  • apps/ui/tests/projects/board-background-persistence.spec.ts
  • apps/ui/tests/utils/core/interactions.ts
  • apps/ui/tests/utils/core/waiting.ts
  • apps/ui/tests/utils/git/worktree.ts
  • apps/ui/tests/utils/index.ts
  • apps/ui/tests/utils/navigation/views.ts
  • apps/ui/tests/utils/project/fixtures.spec.ts
  • apps/ui/tests/utils/project/fixtures.ts
  • apps/ui/tests/utils/project/setup.ts
  • apps/ui/tests/utils/views/context.ts
  • apps/ui/tests/utils/views/memory.ts
  • apps/ui/tests/utils/views/profiles.ts
  • test/opus-thinking-level-none-83449-2bgz7j1/test-project-1772086066067/package.json
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/README.md
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/test-feature.js
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/test-feature.test.js
 ______________________________________________________
< Nothing is more permanent than a temporary solution. >
 ------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

✏️ Tip: You can disable in-progress messages and the fortune message in your review settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch revert-813-fix/memory-and-context-mobile-friendly

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.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @gsxdsm, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request performs a complete revert of a previous change that introduced mobile-friendly layouts for the Memory and Context views. The changes restore the desktop-first design for these sections of the application, removing all associated mobile-specific UI components, styling, and a large suite of related end-to-end tests. Additionally, it includes minor cleanups in Playwright configuration and test utilities, and removes several temporary test project files.

Highlights

  • Reverted Mobile-Friendly UI: The mobile-friendly user interface for the Memory and Context views has been reverted. This includes removing mobile-specific layout classes, the useIsMobile hook, and mobile-only UI elements like the 'Back' button. Button labels now consistently show text alongside icons, and the delete button is visible in the toolbar on desktop.
  • Removed Playwright E2E Tests: A significant number of Playwright end-to-end tests related to mobile views, desktop views, file extension edge cases for Memory and Context, AI Profiles, and Board Background Persistence have been removed. This cleanup streamlines the test suite following the UI revert.
  • Refactored File Type Detection: The utility functions isMarkdownFilename and isImageFilename were removed from image-utils.ts. Their logic has been inlined directly into context-view.tsx and memory-view.tsx where needed, simplifying the image-utils module.
  • Playwright Test Utilities Update: Several Playwright test utilities were updated to improve reliability and consistency. This includes explicit waiting for the splash screen to disappear before element clicks and standardizing splash screen status checks to use sessionStorage instead of localStorage.
  • Removed Node.js Memory Limit Configuration: The --max-old-space-size=4096 Node.js memory limit option was removed from the Playwright configuration, which was previously intended to prevent out-of-memory errors during tests.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • apps/ui/playwright.config.ts
    • Removed Node.js memory limit configuration.
  • apps/ui/src/components/ui/header-actions-panel.tsx
    • Removed data-testid attribute from the header actions panel trigger.
  • apps/ui/src/components/views/context-view.tsx
    • Removed ArrowLeft icon import and useIsMobile hook usage.
    • Removed imports for isMarkdownFilename and isImageFilename.
    • Removed responsive layout classes and mobile-specific editor panel classes.
    • Inlined isMarkdownFile and isImageFile functions within the component.
    • Updated file filtering logic to use the inlined isImageFile function.
    • Modified handleSelectFile to use the inlined isMarkdownFile and removed mobile UX comment.
    • Updated file renaming logic to use the inlined isImageFile function.
    • Simplified file list and editor panel rendering, removing mobile-specific conditional classes and elements.
    • Updated file import logic to use the inlined isMarkdownFile function.
  • apps/ui/src/components/views/memory-view.tsx
    • Removed ArrowLeft icon import and useIsMobile hook usage.
    • Removed import for isMarkdownFilename.
    • Removed responsive layout classes and mobile-specific editor panel classes.
    • Inlined isMarkdownFile function within the component.
    • Updated file filtering logic to use the inlined isMarkdownFile function.
    • Modified handleSelectFile to add a hasChanges check and removed mobile UX comment.
    • Simplified file list and editor panel rendering, removing mobile-specific conditional classes and elements.
  • apps/ui/src/lib/image-utils.ts
    • Removed MARKDOWN_EXTENSIONS, IMAGE_EXTENSIONS, isMarkdownFilename, and isImageFilename exports.
  • apps/ui/tests/context/desktop-context-view.spec.ts
    • Removed.
  • apps/ui/tests/context/file-extension-edge-cases.spec.ts
    • Removed.
  • apps/ui/tests/context/mobile-context-operations.spec.ts
    • Removed.
  • apps/ui/tests/context/mobile-context-view.spec.ts
    • Removed.
  • apps/ui/tests/memory/desktop-memory-view.spec.ts
    • Removed.
  • apps/ui/tests/memory/file-extension-edge-cases.spec.ts
    • Removed.
  • apps/ui/tests/memory/mobile-memory-operations.spec.ts
    • Removed.
  • apps/ui/tests/memory/mobile-memory-view.spec.ts
    • Removed.
  • apps/ui/tests/profiles/profiles-crud.spec.ts
    • Removed.
  • apps/ui/tests/projects/board-background-persistence.spec.ts
    • Removed.
  • apps/ui/tests/utils/core/interactions.ts
    • Updated clickElement to explicitly wait for the splash screen to disappear.
  • apps/ui/tests/utils/core/waiting.ts
    • Modified waitForSplashScreenToDisappear to check sessionStorage instead of localStorage for splash screen status.
  • apps/ui/tests/utils/git/worktree.ts
    • Updated setupProjectWithPath, setupProjectWithPathNoWorktrees, setupProjectWithStaleWorktree to use sessionStorage for splash screen status.
  • apps/ui/tests/utils/index.ts
    • Removed exports for memory and profiles view utilities.
  • apps/ui/tests/utils/navigation/views.ts
    • Simplified navigation functions (navigateToBoard, navigateToContext, navigateToSpec, navigateToAgent) by removing redundant waitForLoadState and waitForTimeout calls, and removing mobile-specific sidebar closing logic.
  • apps/ui/tests/utils/project/fixtures.spec.ts
    • Removed.
  • apps/ui/tests/utils/project/fixtures.ts
    • Removed MEMORY_PATH, resetMemoryDirectory, resolveMemoryFixturePath, createMemoryFileOnDisk, memoryFileExistsOnDisk, and setupMockProjectWithProfiles.
    • Simplified createContextFileOnDisk and contextFileExistsOnDisk by removing path traversal guards.
    • Removed automaker-settings-cache setup from setupProjectWithFixture.
  • apps/ui/tests/utils/project/setup.ts
    • Updated various setup functions to use sessionStorage for splash screen status.
    • Removed currentProjectId: null from settingsCache in setupWelcomeView.
  • apps/ui/tests/utils/views/context.ts
    • Simplified saveContextFile and selectContextFile waiting conditions, removing mobile-specific checks.
  • apps/ui/tests/utils/views/memory.ts
    • Removed.
  • apps/ui/tests/utils/views/profiles.ts
    • Removed.
  • test/opus-thinking-level-none-83449-2bgz7j1/test-project-1772086066067/package.json
    • Removed.
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/README.md
    • Removed.
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/test-feature.js
    • Removed.
  • test/running-task-display-test-805-6c4ockc/test-project-1772088506096/test-feature.test.js
    • Removed.
Activity
  • The pull request title and description indicate this is a direct revert of a previous pull request (Make memory and context views mobile-friendly #813).
  • The changes primarily involve removing code and test files that were introduced to make the UI mobile-friendly, effectively undoing that feature.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gsxdsm gsxdsm merged commit e10c736 into v1.0.0 Feb 26, 2026
5 of 6 checks passed
@gsxdsm gsxdsm deleted the revert-813-fix/memory-and-context-mobile-friendly branch February 26, 2026 15:36
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request reverts a previous change that made the memory and context views mobile-friendly. The changes primarily involve removing responsive layout logic, mobile-specific UI components, and their corresponding tests. While the revert appears to be correctly implemented, it has reintroduced some code duplication for helper functions. I've added comments with suggestions to address this maintainability issue by keeping these helpers in a shared utility file.

Comment on lines +125 to +135
const isMarkdownFile = (filename: string): boolean => {
const ext = filename.toLowerCase().substring(filename.lastIndexOf('.'));
return ext === '.md' || ext === '.markdown';
};

// Determine if a file is an image based on extension
const isImageFile = (filename: string): boolean => {
const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.bmp'];
const ext = filename.toLowerCase().substring(filename.lastIndexOf('.'));
return imageExtensions.includes(ext);
};
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

These helper functions, isMarkdownFile and isImageFile, are also defined in apps/ui/src/components/views/memory-view.tsx. This code duplication was likely reintroduced by this revert. To improve maintainability, it would be better to keep these functions in a shared utility file, like apps/ui/src/lib/image-utils.ts where they were previously. This avoids code duplication and potential logic inconsistencies between views.

Additionally, the current implementation of substring(filename.lastIndexOf('.')) can behave unexpectedly for filenames without an extension. The previous implementation in image-utils.ts handled this edge case more robustly by checking if lastIndexOf('.') returns -1.

Comment on lines +77 to +80
const isMarkdownFile = (filename: string): boolean => {
const ext = filename.toLowerCase().substring(filename.lastIndexOf('.'));
return ext === '.md' || ext === '.markdown';
};
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This isMarkdownFile helper function is also defined in apps/ui/src/components/views/context-view.tsx. This code duplication was likely reintroduced by this revert. To improve maintainability, it would be better to keep this function in a shared utility file, like apps/ui/src/lib/image-utils.ts where it was previously. This avoids code duplication and potential logic inconsistencies between views.

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