Prototyper Was a Gamechanger — But Context Loss Is a Dealbreaker

Hey everyone,

Just wanted to share some thoughts and frustrations after spending the past couple of days deep inside Firebase Studio’s Prototyper. Honestly, when I first started using it, it felt like a total gamechanger. I was able to go from concept to near-production with incredible speed — I built a full-scale app complete with:

  • An admin dashboard
  • User upload features
  • A marketplace system
  • Dual-role login (user and merchant)
  • Custom flows and iterations that felt seamless inside the Prototyper environment

The pace, iteration speed, and overall fluid experience of building through Prototyper blew traditional IDEs out of the water — especially for starting from scratch and evolving as I built.

But now… I’ve hit a wall.

The Problem

Twice now, my Prototyper history has been reset, and currently, I’m stuck with this error:

[GoogleGenerativeAI Error]: Error fetching from https://monospace-pa.googleapis.com/v1/models/gemini-2.5-pro-preview-03-25:streamGenerateContent?alt=sse: [400 Bad Request] The input token count (1052841) exceeds the maximum number of tokens allowed (1048576).

I understand the limits — and I can shift to Code View (which I’m doing) — but Code View lacks undo/restore history like Prototyper, and the overall experience just doesn’t match the creative flow I had before.

The Bigger Concern

The real bummer is this: if Prototyper loses context like this every time there’s a hiccup or token overload, it essentially forces a full reset. That’s two weeks of contextual refinement, dynamic system evolution, and real momentum — gone. Sure, I could rebuild it faster the second time, but it feels like a broken trust in the tooling.

Feature Request: Prototyper History Backup?

If I could make one solid suggestion: it would be incredible if Firebase Studio could allow us to persist Prototyper history/logs, maybe committed alongside source control. That way, even if Gemini crashes or the token limit is hit, we could “revive” or reload that context and not lose all progress.

I don’t know the technical details of how Gemini context flows through the Prototyper engine, but this feels like a must-have for anyone working at scale.


Just sharing in case others have experienced similar issues. Would love to hear how you’ve dealt with it — or if anyone has found a way to export/save context in a way that survives these kinds of resets.

Cheers

4 Likes

I’m right there with you!! This is a bummer, and engineering is taking their time to address it for now, so my project velocity has come to a grinding halt.

I do apologize for this issue, and our team is looking into how to resolve this. In the interim, does this suggestion from Roman help: Firebase Studio: Gemini History Reset Unexpectedly – How to Recover? - #5 by kirupa

1 Like

Apologies for the issue. As Kirupa mentioned, the team is looking into the issue and it would greatly help us if you can share logs and the workspace slug (found from the grey dot on the lefthand corner below the preview panel) with our engineering team.

You can use Get help with Firebase Studio or DM one of us.

cc: @ksat

Nope. I find the file but the history is empty :frowning:

Hey, sorry to hear you are running into issues. To help us debug, can you share a list of files on your workspace? (just need the list of files and folders, not the contents)

Something like an output of the tree command?

studio-6043658995:~/studio{master}$ tree -I 'node_modules'
tree is not installed, but available in the following packages, pick one to run it, Ctrl+C to cancel.
> 
busybox
fltk.bin
fltk14.bin
tree

Choose the last one and hit enter

Facing the same issue. Right when product is live, can not commit any more changes because it “hit a snag”

I have posted a temporary solution (unofficial) for errors that occur when the number of input tokens exceeds the limit.

Please check:

1 Like

I will do this Monday evening. I’m traveling and will likely only get to this later that day (possibly only Tue morning). Thanks for looking into this. I am glad to assist anyway I can.

@Prakhar here is the output (found a bit of time after all :slight_smile:
..
.
├── components.json
├── docs
│ └── blueprint.md
├── firestore.rules
├── Firestore Rules
├── Firestore security rules
├── next.config.ts
├── next-env.d.ts
├── package.json
├── package-lock.json
├── postcss.config.mjs
├── README.md
├── src
│ ├── ai
│ │ ├── dev.ts
│ │ └── genkit.ts
│ ├── app
│ │ ├── admin
│ │ │ └── dashboard
│ │ │ └── page.tsx
│ │ ├── auth
│ │ │ └── login
│ │ │ └── page.tsx
│ │ ├── customers
│ │ │ ├── [id]
│ │ │ │ ├── edit
│ │ │ │ │ └── page.tsx
│ │ │ │ └── page.tsx
│ │ │ ├── new
│ │ │ │ └── page.tsx
│ │ │ └── page.tsx
│ │ ├── dashboard
│ │ │ └── page.tsx
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── orders
│ │ │ └── new
│ │ │ ├── giclee
│ │ │ │ └── page.tsx
│ │ │ ├── page.tsx
│ │ │ └── serigraph
│ │ │ └── page.tsx
│ │ └── page.tsx
│ ├── components
│ │ ├── auth
│ │ │ └── LoginForm.tsx
│ │ ├── customers
│ │ │ ├── CompanyDefinitionForm.tsx
│ │ │ ├── CompanyPricingTab.tsx
│ │ │ ├── CustomerDetails.tsx
│ │ │ ├── CustomerForm.tsx
│ │ │ ├── CustomerListItem.tsx
│ │ │ ├── CustomerList.tsx
│ │ │ ├── CustomerTable.tsx
│ │ │ ├── CustomerUsersTab.tsx
│ │ │ └── PricingConfigForm.tsx
│ │ ├── dashboard
│ │ │ ├── OrderItem.tsx
│ │ │ └── OrderList.tsx
│ │ ├── layout
│ │ │ ├── AppLayout.tsx
│ │ │ ├── AuthGuard.tsx
│ │ │ └── Header.tsx
│ │ ├── orders
│ │ │ ├── GicleeOrderForm.tsx
│ │ │ ├── GicleePrintVisualizer.tsx
│ │ │ └── OrderForm.tsx
│ │ └── ui
│ │ ├── accordion.tsx
│ │ ├── alert-dialog.tsx
│ │ ├── alert.tsx
│ │ ├── avatar.tsx
│ │ ├── badge.tsx
│ │ ├── button.tsx
│ │ ├── calendar.tsx
│ │ ├── card.tsx
│ │ ├── chart.tsx
│ │ ├── checkbox.tsx
│ │ ├── dialog.tsx
│ │ ├── dropdown-menu.tsx
│ │ ├── form.tsx
│ │ ├── input.tsx
│ │ ├── label.tsx
│ │ ├── menubar.tsx
│ │ ├── popover.tsx
│ │ ├── progress.tsx
│ │ ├── radio-group.tsx
│ │ ├── scroll-area.tsx
│ │ ├── select.tsx
│ │ ├── separator.tsx
│ │ ├── sheet.tsx
│ │ ├── sidebar.tsx
│ │ ├── skeleton.tsx
│ │ ├── slider.tsx
│ │ ├── switch.tsx
│ │ ├── table.tsx
│ │ ├── tabs.tsx
│ │ ├── textarea.tsx
│ │ ├── toaster.tsx
│ │ ├── toast.tsx
│ │ └── tooltip.tsx
│ ├── contexts
│ │ └── AuthContext.tsx
│ ├── hooks
│ │ ├── use-mobile.tsx
│ │ └── use-toast.ts
│ ├── lib
│ │ ├── firebase
│ │ │ ├── authService.ts
│ │ │ ├── config.ts
│ │ │ └── firestoreService.ts
│ │ └── utils.ts
│ └── types
│ └── index.ts
├── tailwind.config.ts
└── tsconfig.json

Thank you Jose! that is indeed very helpful. QQ: Did you at any time upload any image attachments in your chat? (either via uploading images, or using annotation tool?)

Yes, I did. I had a few instances where I did upload images of UI functionality (it helped BTW). And I really only used the annotation feature a couple times to try it out. Let me know what else I can do to assist.

Ok, thank you. That confirms our suspicion that this is caused by image attachments in chat history. We have a fix ready and it should be released by EOW. Hopefully, that should fix the problem you are seeing.

Thank you so much again for helping us debug and your patience with Firebase Studio!

4 Likes

When you say it will fix it. You mean my history will be back to where it was before the update took it out? Or does it mean it will be fixed for new projects? (hoping for the former, of course)