This doesn't actually cover the most important part, which is where the response to a chat shows up. Has anyone figured this out? I only looked briefly, but AFAICT, it doesn't show up in the response data in Chrome or Firefox DevTools. I figured it was maybe using WebSockets or Server Sent Events, which apparently don't show up in DevTools in some cases (?). I think this is a Chrome bug [0] [1] and also a Firefox bug [2].
EDIT: It's using EventSource. If you open the debugger and Cmd+Shift+F for `onmessage`, you'll find where it receives the message, and you can add a breakpoint, which you can then right click and change to a logpoint, to log the contents of the message. There is probably a one-liner you could paste into devtools to do some prototype hacking of window.EventSource, but I don't have time to figure that out atm, and can't find anything in a few quick searches of GitHub code.
EDIT EDIT: Just tried Safari, it does indeed show up as a spinner, but I still can't see the actual messages in DevTools.
> If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message. See the OpenAI Cookbook for example code.
And that's because the native EventStream API only supports GET requests, so if you want to use a POST request (which make more sense in this context) you have to use a custom implementation...
(Creator of the repo here) That is somewhat present in the `/backend-api/moderations` endpoint where the app sends your question + ChatGPT's response to (first time just your question, second time both)
In some of the ChatGPT client-side JS (visible in the Debugger tab of DevTools), I could see references like `\triangle`. However, asking ChatGPT to print either as it is just prints the text itself.
Is anyone else hit by the Cloudflare "Confirm you are a human" captcha everytime they try to access ChatGPT? It's the only website where it happens to me: and I have to try several times before I get access.
I've not tested it further, but I wondered what happened when I saw a "Plus subscriber login link" input field - resulted in that. In fact, I wonder if one could automate the request to the API endpoint (all headers, authorization and everything) when the browser sees a "ChatGPT down" message. (Of course, you have to click the link in the email, but if you grant the tool access to your email to automate that, that probably isn't the best thing for "principle of least privilege")
> When you click Delete on a conversation, a PATCH request is made to /backend-api/conversation/05[redacted]2d with the body is_visible: false and gets a response of success: true back. This implies that a conversation is being soft-deleted, not deleted on their systems.
Ah yes, lying to the users by showing them a "trash" icon and actually just hiding the conversation from them.
What a superb way to build trust from your ivory tower of moral self-righteousness about how you've decided an language model can and cannot be used (which includes such hilarious bullshit as the model declaring it cannot make jokes about any particular group when asked to make a joke about women, but happily making jokes about men all day long.)
Why would anyone expect that their conversations with ChatGPT are confidential to the point where you could just delete the logs and pretend you never asked?
Trash is just to drop it from your history, I don't care to keep every conversation, and I also don't care if OpenAI keeps a copy, why should I?
(Creator of the repo here) Likely ONLY due to HN, the stats for the repo have BLOWN UP in the last day. It went from ~200 unique visitors and visits in one day to 8,689 unique visitors with 10,000+ total visits!
The website also calls the moderation API from the client side with the response returned from its conversation API. So if you simply block the request to the moderation endpoint in dev tools, do they still have additional built-in monitoring?
EDIT: It's using EventSource. If you open the debugger and Cmd+Shift+F for `onmessage`, you'll find where it receives the message, and you can add a breakpoint, which you can then right click and change to a logpoint, to log the contents of the message. There is probably a one-liner you could paste into devtools to do some prototype hacking of window.EventSource, but I don't have time to figure that out atm, and can't find anything in a few quick searches of GitHub code.
EDIT EDIT: Just tried Safari, it does indeed show up as a spinner, but I still can't see the actual messages in DevTools.
[0] https://github.com/Yaffle/EventSource/issues/79
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=102589...
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1405706