Giter VIP home page Giter VIP logo

ai-prompt-genius's People

Contributors

benf2004 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ai-prompt-genius's Issues

Buttons not always loading.

ChatGPT's main page is getting beefy, and consequently, our main load delay just ain't cutting it anymore. In fact, on my lower end machine, it's causing quite a few hits and misses (like a new prompt being reset before it can be deployed) or the fact that some buttons just aren't added consistently.

I suspect the problem is that THEY are also bodging it on their end, loading THEIR chats dynamically. Which causes problems for us.

This has nothing to do with the fact that our buttons get cleared when user clicks on a chat history button and their buttons get killed. That's another bug.

[QoL] Thread Viewer doesn't open to last viewed page.

Expected Behaviour:
In the main ChatGPT proper, you can pick off where you left off.
Ie, if you generated 5 responses, and decided one of the middle responses were best, ChatGPT opens to the same page.
Behaviour:
Thread viewer always opens up to last response. Ie, if your tree is as follows, where the first response is a dead end, the second response is a huge tree, and the third response is also dead end, thread viewer opens up to the third response, every time.
Workarounds:
Flicking < and > to match, although that gets quite annoying.
Solution:
Save currentLeafIndex as well, either that, or have a parallel array called "currentLeafIndices" or something like that.

[BUG] Scraper not scrapping data?

Behaviour:
image
Expected Behaviour:
image
Steps to Reproduce:
No idea.
These bugs are most prevalent when there is an error on the main chat page itself, but that's just anecdotal for now.
Wait a long time (ie, go take a nap) and see what happens in the morning, because that usually causes weirdness.

Notes
For some reason, the scraper has kind of bugged out. I regret not saving any logs initially, but I just noticed it. The following are logs from when I opened it again. And now, it is still refusing to save the old logs.

image

There are probably at least two bugs here.

  1. Scarper isn't properly saving new chats.
  2. Scraper is being weird with recognizing and saving over old chats.

PS: Oh, and whitespace for humans are still wrong. Tabs and indents are not displayed correctly, ugh.

Branching Threads Support

As you know, many times, we ask for a new response, and many times we go back and change an old request in the current thread
Therese a lot of data there

please have it so that in the history, i will be able to see on which branch i am on (like 3/3 etc) same as the chatgpt site

I hope this is clear enough :)
Thanks a lot (hope you like getting flooded with Issues and Feature Requests haha)
Have a good one!

[Minor Suggestion] Themes

Hi there,
this is honestly not a high priority for me, but just for the backlog,
it would be really nice to be able to change the theme, of both your history page, and the original chatgpt site

to take it a step further, when you load bookmarks, you can choose a color palette to them,
then when you load them , its like a personalized familar scope.
for example ill have a dark-terminal inspired theme for when loading the "linux machine" prepormpt
and use the warm pallete for my fined tuned pyschologist
and so on

this would be coupled great with live/continues threads (i'll write about it in another Feature Request)
now that i wrote it down it suddenly feels like this has potential

hope you like the idea
thanks a lot and have a good one!

Export and Import doesn't save all data

Putting this here before I forget, the export function doesn't export all data.
Ie, it doesn't save settings or prompts.

Ditto for the import function.

In the end, probably should move export and import to settings (manage your data) and export EVERYTHING in the extension itself (add another button just to export and import old threads to placate old users though).

Also, probably add an export all threads function as a zip (like google drive download folder as zip [and now I know why they have to do that instead of allowing you to just download 40 different files]).

When user opens Save&Submit, it overrides the previous value

image

So just a quick summary for future reference, when you click on the edit button, the text becomes a TEXTBOX.
image

image

This means that the .innerText function returns nothing, cause <textarea>.innerText is empty, you have to query its VALUE.
Writing a naive workaround now. If innerText is "Save & Submit\nCancel" then query textarea instead.

Normally, this isn't a problem... unless the user leaves the page before they click save and submit. However with the new branch scraping algorithm, this breaks that.

[Enhancement and Suggestions] 'Save-As' Buttons on the Page and Similar Extensions

Similar extensions like ChatGPT-pdf inject buttons to save the conversation on the original page itself. This is much more convenient when one wants to save only one conversation.

This extension still has unique value in that it is the only one that allows the user to save their bookmark within the browser itself, and it does so silently and automatically.

Therefore, it would make sense to add those features in order to keep the project alive.

Move content.js buttons elsewhere?

If we're being honest, the buttons on the main page are probably much more important now.

image

They're taking up a lot of space though (I know I cheated by zooming in, but that's the point. We'll have more buttons are screensizes get smaller).

image

Plus, the buttons get autodeleted whenever the user is scrolling on a new page, so it has to be moved somewhere else at least for that reason. Maybe a popup menu if we get desperate?

Incomplete Scraping breaks the thread.html viewer

Behaviour
When partial data (ie, as part of a historical convo) is scraped, the viewer in thread.js can't handle it.
Expected Behaviour
Upon unexpected nulls, it should infer as best as it can.
Ie, say that leaves are like this [null, null, data]. The < > arrows must work. The user should be able to navigate to saved branches, but otherwise, the leaf should say "Data not found" in a similar way to the content warning, only blue, from the main chat site.
Obviously, the leaf viewer can't infer future branches.
Workarounds
Only viewing fully saved branches and or new chats.
Solutions
Implementing expected behaviour.

[Bug] Export MD is broken again

Before I forget, export to MD is broken again because of context. get_current_chat_text() is not available within its main function (we should really factor out a utility.js for content scripts as well)

However, I'm planning on migrating export.js to injected js instead to see if that can slay the beast called CORS and make it work for images again.

[BUG] Title editor breaks with searches.

Behaviour:
When you edit a title using searches, the title that is loaded is wrong, and I suspect when it saves, it'll save to the wrong thread as well.
Expected Behaviour:
Editing the title of that specific title in searches.
Workarounds:
Don't use search for now?
Solutions:
all functions in the do_something(i, row) has to be refactored, most likely.
The way that I've done it in the past is adding the data directly to the DOM, ie,let thread = createThreadElement(), thread.insertMyDataHere = UUID, and the onclick takes target.UUID. It's a messy solution but it works unless there's namespace overlap, though that can be solved by naming the variable something specific (ChatGTP_history_uuid, for example).
I suggest we refactor [i] to .getObjectByID whereever possible; even if more computationally expensive, it's more robust and performance in that particular area is no concern for now (as it's DOM which is slow, as usual).

Notes
Probably also breaks with bookmarks as well, or anything that doesn't load every thread in the right sequence.
Double check if this thing breaks the delete button as well.

[Optimization] Explorer.js is starting to chug with a large file

After a week of continuous, yet somewhat conservative usage (I'm mostly only using to generate short stories), explorer.js is starting to chug with noticeable lag when I open the page, though it is not so serious for now.

I'm pretty sure that this is due to loading all the HTML for the new page. While that's perfectly normal, perhaps there's no need to load everything all at once. We might want to introduce pages, or at most, a simple "load 20 most recent threads, and a load more button that loads everything else".

[BUG] Last AI response in content.js is not saved

The most recent AI response is not saved.

image

However, if Human makes a new prompt, then it saves everything perfectly, up and until the last prompt again.

This seems to be most prevalent if I step away from the page for a while (say to file a GitHub issue). I'm suspecting stop_saving is doing something weird. I doubt performance is an issue and having autosave continue is the safer bet.

The easiest way to do it, I think, is to have a main loop, and then to have a secondary flag; something like "isDOMTreeModifiedFlag".

Ironically, errors seem to be saved just fine.
image

Buttons getting flushed when user interacts with history.

Behaviour:
Buttons disappear.
image
Expected Behaviour:
That they do not.
Workarounds:
Refreshing every time, though that gets quite annoying.
image
I'm refreshing so often that cloudflare thinks I'm DDoSing them, lol.
Solutions:
Something to detect when its URL changes, it completely reloads the page (and yet does not reload content.js), do not affect the main scraper until that is fixed, and then add the buttons.

[BUG] Scraper is double saving.

It looks like the IDs are the same too; I had the chat window open for a while as well.
This rarely happens and the bug is fairly hard to reproduce.

image

image

image

Despite the times being different, the content is still the same.

[Leap] Integrated History in the chatgpt site

Hello :)
Not really sure how easy it will be to do,
but just a wish, I would love if if all my history was always in a Side Panel to the Right of the chat
This will really save me alot of going back and forth between the chat and history ( and we can always minimize the panel when we like)
in this mode, loading or importing , chats or files, will be sent in the same chat thread that we're currently in (instead of a new tab)

Hope you like it, I really think this can supercharge the chatgpt experience (which you're in the business of ๐Ÿ˜‹ )
Thank you guys so so much and have a wonderful week !

Content warning message not being ignored for humans

Current Behaviour:
It appears that the content warning message is being scraped along with everything else if it's displayed as a warning for humans. However, there is no such problem for AI responses which are flagged.
image

Expected Behaviour:
Content warning should be ignored for humans as well, or at the very least, be kept and made visually distinct from the rest of the box.

Steps to Reproduce:
Generate a flagged prompt, optionally receive a flagged response, and read the results using the extension.

Branch scraper not scraping every branch

Behaviour:
image
The scraper has returned an object with one leaf being null. This is not normal.

This is a symptom of the bug. Paranoid checking lets us detect that somehow, not every branch is picked up by the scraper. Something has gone terribly wrong.

image

Most of the branches however, are clearly scraped. Cursory testing and I can't tell what's missing. Most of the branch data is fine, it's only being triggered in one thread out of like ten.

Expected Behaviour:
Under normal circumstances, there should be NO cases with a null object.
There is an undetected edge case in the branch scraper.

Workarounds:
convo still works. And to be honest, branch scraper still mostly works. This is more about a leak that seems to be happening.

Solutions:
I'm suspecting the 2000ms delay belay saving might be a culprit, though I'm not sure. Further testing is needed. I am putting this issue here as a heads up.
I'm also wondering if the JSON is tripping up to .toJSON, since this was a continued conversation.

Images not formatted correctly.

The images are saved correctly, but the sizing is a bit... off. As far as weird bugs go, this one probably tops the list.

image

image

(Oh, and of course the image is different every time due to a quirk of unsplash, not us).

Get ChatID directly from fetch Request instead of assigning our own

For many different reasons, it is desirable to sync our IDs with that of ChatGPT.

(On a related unrelated note, currently working on loading user prompts. Note that the way that EnhancedGPT works is that it literally intercepts the fetch request and splices the new prompt into the message like a CRISPR. Anyways, so I'm working on replicating this from a content script.
(On an unrelated note, I think it is somewhat undesirable to do this because it's hiding the real prompt from the user, but that's anther story).).

image

So, these are the intercepted requests for reference, and as you can see, there is the text and the ID right there. I think we may have also obsoleted the scraper possibly...

ChatGPT History Button in the site

Hi there,

I'd love it if you add a button in the side panel to open the history

I have enabled ctrl+shift+H to open ChatGPT-History (setup in chrome://extensions/shortcuts )
But i still would like a button to open you guys,
The icons in my extensions are already too packed,

Please have your nice green logo on that button ๐Ÿ˜„ ๐Ÿ‘
Thanks! :)

Empty screen is displayed when open a thread

Hi,
When I open my thread, the page is just empty. In the console, I see the following error:

thread.js:35 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'convo')
    at thread.js:35:19

image
Here's the file with the thread:
chatgpt_thread.txt
The thread was saved on December 14th.
I think the data structure might be corrupted since all other threads created after this thread are displayed without problems.

Thanks

Editing stuff on explorer.js while keeping chat.openai.com/chat open will cause content.js to overrwrite changes sometimes

Problem:
There is weird stuff going on since content.js and explorer.js will sometimes overwrite each other.
Expected Behaviour:
It shouldn't.
Workarounds:
The way I've been working around this is never editing stuff on explorer.js (ie, importing) when I have ChatGPT opened. Possibly warn users that they shouldn't do that for now?
Solutions:
Well, now we get into multi-threading and race conditions. I honestly don't know how to fix this, considering that there is no "global" locking file tracking both scripts.

At the very least though, the following line probably needs to be rewritten to take advantage of UUIDs and dynamically find the thread again from local storage (or simply pushing if it cannot find it) since this causes weird behaviour if you delete from explorer.html while you're also on the chat page (like I often absentmindedly do)

image

Updating / Continues Threads

Hi!
I was wondering if would be possible to have some sort of tracking for continues threads,
i see alot of duplications in my history, most of them started from the same prompts
maybe this has more to do with the branching feature (which i will open soon)
but just to be specific, when that is available (branches), then id like you to make sure that when we hit the replay button
and load a chat from history, you will recognize that and continue the same thread in your history
basically i mean to exclude the preprompt that helps resume the conversation, and attach the current thread history to the tail end of the one that i pressed play/continue on :)

thanks a lot!

[Enhancement] Save all of the thread branches, not just the current one

Current Behaviour:
Right now, our scraper only scrapes the current branch. Ie, using the < or > buttons will cause the old prompt/response to be overwritten.

Expected Behaviour:
However, ideally it should scrape every branch and save for further use.

Proposed Solution:
Mirroring state using a non-binary tree.
Every tree will have its data text, and leaf nodes, which adequately represents how the state looks in practice.

At present, I propose this be introduced gradually. The data structure in local storage threads will look something like this:
{id, date, time, favourite, convo, conversation_tree}
With conversation_tree being a tree that looks something like this:
{ data: "<p>...</p>", children: [ { data: "<p>...</p>", children:[] ] }

I am working on this right now.

Notes:
Notes on how nodes work: it looks like the tree is automatically rebuilt whenever the < or > buttons are pressed. It's not stateful in that way, but that doesn't written matter for our purposes.

Ie, say in the middle of such a tree, you click the < and the > button successively, which brings you back to where you started.
All of the subsequent nodes will say something like 1/2 or 1/n.

The only things that change state seems to be the Try Again button, entering a new prompt, and Save and Submit.

Instant type (search) + [Option in Settings] Full Top Banner Searchbar + Hotkey

Hi there,
Just wanted to say that i came here to ask for a searchbar, didn't even see it
luckily i searched the issues before opening one, so i saw some mentions of it moving to the side panel, so i check and found it

not sure if i'm the only one, but i think the searchbar should be more apparent at the top center
if you guys think otherwise, atleast consider having an option for this in the settings

Also, it would be cool if you can listen for key events, and move the focus to the search bar
for example I would love "q" to be my shortcut, to go fast to the searchbar
in the current form even one key (no ctrl shift etc) because there's not another bar

Come to think of it, Since This is the only input bar, I think just directly typing should go straight to the searchbar
That just means that you put the focus there on page load, and if some clicks were happening and it lost focus, typing again will move the focus to the searchbar

I really like that the search is already instant (no pressing enter)
but if you can change the place holder text to a bit grayer, and not have it dissapear when in focus, only after first letter, that would be nice :)

Thank you so much
Keep up your amazing work
I'm not sure how or why you guys aren't already super well known
im sure more people will catch on real soon
All the best!

Import Button -> Chats, Files, URLs, Repos

Imagine just above the Export Chat button,
You'll have an Import Button

This button can import various things, such as,

  • a previously exported conversation, it will load it into the current chat
  • a text file from my computer (opens file chooser window)
  • a url -> This will be sent to another service api (which i can provide if you'd like) which will gather all the text from a page
  • a repo url -> my (or other) service will clone, convert the whole repo into a gist (using repo-gist) and return it to you . (this can be done in a couple of methods)
  • an entire folder (not sure if this is easy, but just a wish)

Generally this will empower chatgpt greatly,
If you can, please just start with loading a file, that by itself will be incredible, (the others can be added later on)

hope you like it :)

PS - Congradulations on the recent update, really shows how much effort you put in this, i think this is the best extension i've seen yet, much love and support

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.