Does 'Composer' retain 'Composer Chat' history?

Hello,

I am just wondering how the chat history for ‘Composer Chats’ is handled:

Are the chats somehow ‘linked’ to the file that was open when the Composer chat was initiated? Or are they saved in a general ‘Previous Composer Chats’ area? Or are they not saved at all?

Thank You.

PS - In the Composer window, what do the ‘Save’ and ‘Save All’ buttons do?

I thought perhaps they would save the chat, but when I click ‘Save All’, then close the Composer window, and open it again, the previous chat is not there.

PPS - In the Composer window, what does the ‘Reset Position’ button do?

4 Likes

Curious about this too because once I lost the edits from the composer and was not able to recover them (of course it is easy to do them again though)

2 Likes

Same, very easy to loose the history and hard to revert a step

2 Likes

Currently no, will add!

6 Likes

@shaoruu - i wonder what people think:

Option A: Add ‘Composer Chats’ to the general ‘Chat History’ space

Option B: Add ‘Composer Chats’ to a ‘Composer Chat History’ space

Something else?

Option A - Composer Chats in general Chat History

Option B - Composer Chats in Composer Chat History

Option B - possible conflict with existing buttons

2 Likes

FWIW, I would prefer Option A. I don’t think Composer and Chat should be a separate interface. I think they should both have the same basic interface, and, if anything, the user should just be able to choose whether they prefer a sidebar or a floating chat. I always prefer a sidebar, for example.

6 Likes

I would personally like to have a separate window for chat/composer.

2 Likes

The best would be for composer to be completely integrated into the existing chat, because I like to discuss a solution in the chat before implementing, and after we decide on the perfect solution, I could use composer to implement it instead of clicking apply on several files in the chat.

8 Likes

Woot - ‘Composer History’ feature added in 0.39.0!

Thanks @shaoruu !

‘Composer Control Panel’ feature also added:

https://forum.cursor.com/t/feature-request-composer-layout-expansion/6607/3

@LionSR @tiagoefreitas

3 Likes

FYI @shaoruu

I am not sure if I am doing something wrong, but in 0.39.0:

So it looks like, unfortunately, it didn’t save the most recent Composer Chat in the Composer History area.

It is significant (for me) because some of my prompts have lots of detailed information communicated in a specific way and it takes quite a long time to write them (the process actually helps me identify what my actual problem is, much like the process of writing a good stackoverflow question does).

Cursor > Help > About information:

Version: 0.39.0
VSCode Version: 1.91.1
Commit: 67685f6d849a40497339e3f7bc51bcc54208f410
Date: 2024-08-02T07:37:19.753Z
Electron: 29.4.0
ElectronBuildId: undefined
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22631

1 Like

I’m not sure I understand the history functionality 100% but sometimes I find out the history will get saved for the same set of files to be processed. Is this is this a feature or a bug because I would naïvely think that all histories of the other composer moves will be saved.

Composer history currently is non-persistent, but I plan to add persistence next. Stay tuned!

6 Likes

in 0.39 I worked on a new file with composer, accepted it, and then I reset composer and it deleted the file! was not expecting that and had not commited it yet so I lost it…

also often I can’t paste code or text into composer, restarting cursor fixes it temporarily

Thanks

1 Like

That’s a mistake, only sonnet 3.5 is capable enough for composer.

Hi @leoing ,

Out of interest, why do you say that?

Do you mean in terms of the context-window size or something else?

And why would there be different considerations for model selection in Composer (Ctrl + I) as opposed to model selection in Ctrl + L?

There is some uncertainty around context-window sizes in Cursor which I captured in the post below.

But it seems, when used in Cursor, gpt-4o has a 20k window, whereas claude-3.5-sonnet has a 10k window?

It would be nice if the composer could leave the IDE and be totally separate. It would help save space

1 Like

Other models stray off too easily, sonnet 3.5 was a HUGE HUGE bump for coding.

Context size is handled by cursor (vector database or sth), just limit files to 400 lines (maybe more these days).

1 Like

I hit “Ctrl + R” by accident while in the composer window and the entire history disappeared. Now composer lost all that context and I don’t see any way to recover it. This was going well, was making something from scratch to test out the IDE and was probably 3 hours into making the app and now it’s lost, too bad.

It feels like I was pair programming with someone since yesterday and this person just got hit by a bus, now they sent me a new dev who doesn’t understand anything about the project. Even worse though is that the person was doing 95% of the programming so I don’t even understand the project.

Edit: Just happened again, this time just lost 30 minutes or so of progress. The shorcut is actually “Ctrl + Shift + Backspace”

2 Likes

Just to update this, the closest thing to recovering the quality of the context I had when I started the development of the app from scratch with composer was using the “Create New… New Project” option in composer and then adding all the files from the project using the + sign on the right side of the composer window. Not as good as when I was building the project with composer from scratch but better.

1 Like

a few thoughts

Composer is incredible. Absolutely a game changer.
For me, this is where the longer, deeper, more complex changes/thoughts/refactoring strategies happen.

Given this, it feels like a *must to

  • retain history. If I have a long chat about a difficult thing, I’m losing critical information. @gmurad you said it, I’ve literally spent 1-2 hours in one conversation on why it proposed and implemented a giant change, I absolutely need to save this conversation somewhere. This app cannot lose all of that thought, work, etc

  • have an export chat ability. raw HTML. Md. JSON. plain text. PDF. something. CursorLens is cool, but I don’t tihnk I can use it bc I’m paying for Cursor’s built in token processing, not my own API key

  • a functioning and reliable text form that can cut/copy/paste, where I can page up and down, Home and End, accepts a click mouse to move cursor.
    Why? Because it’s way too easy to press Enter to submit, instead of Shift Enter to give me a new line. So, now I use Notes to prevent this accidental oh shit there go my tokens bc I @ the Codebase. *But then I can’t paste it all back in! So I have to copy paste, paragraph by paragraph. Double whammy and a lose lose for flow

Going one step further- the split between Chat and Composer is puzzling. It feels like it should be one thing, one experience, that scales up and down in capability based on what I need to do at any moment:

  • Oh I need to change this one line, great, Apple K
  • Hmm how would I do this, side panel, short chat
  • Oh crap I gotta refactor this huge part of my codebase, that I’m investing time and tokens… ok let me put this whole thing on my second screen, so it can stay up and be with me while I carefully work through this problem, and see exactly what the 10 files Cursor is recommending I do, without moving, resizing, etc.

This sounds like a big challenge, maybe it’s some companion application, or a chrome Ex that can listen to what happens in Cursor, I dunno… but that’s the holy grail for work flow

Please take this as positive feedback. This is all unbelievable stuff.
It feels like Ive been given a Ferrari and I need to figure out how to drive straight without skidding out and crashing

1 Like