Skip to content

Commit

Permalink
feat: 🎸 testing fix for unusual activity
Browse files Browse the repository at this point in the history
  • Loading branch information
saeedezzati committed Jun 15, 2023
1 parent b0ac73d commit d3e60ad
Show file tree
Hide file tree
Showing 8 changed files with 66 additions and 39 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ https://user-images.githubusercontent.com/574142/232172841-50f1b114-ef47-4533-a6

🔄 Smart Replace: Automatically replace pre-defined phrases with longer text as you type prompts

🖱️ Auto Click: Automatically click on the defaul custom prompt button at the end of each response
🖱️ Auto Click: Automatically click on the default custom prompt button at the end of each response

👉 Custom Instruction: Don't epeat yourself. Automatically add a custom instruction to the end of each prompt
👉 Custom Instruction: Don't repeat yourself. Automatically add a custom instruction to the end of each prompt

📊 Word and Character Count: Add the word and character counters to both the user input and the ChatGPT responses

Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "Superpower ChatGPT",
"version": "3.5.0",
"version": "3.6.0",
"description": "ChatGPT with superpowers! Sync/search history locally, create folders, export all chats, pin messages, access thousands of prompts",
"icons": {
"16": "images/icon-16.png",
Expand Down
4 changes: 2 additions & 2 deletions popup.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<a target="_blank" href="https://www.superpowerdaily.com/">
<button id="newsletter">Newsletter <span>&#8594;</span></button>
</a>
<a target="_blank" href="https://sponsor.superpowerdaily.com/">
<button id="sponsorship">Sponsorship
<a target="_blank" href="https://www.passionfroot.me/superpower">
<button id="sponsorship">Advertise with us
<span>&#8594;</span></button>
</a>
<a href="https://ezi.notion.site/Superpower-ChatGPT-FAQ-9d43a8a1c31745c893a4080029d2eb24">
Expand Down
2 changes: 1 addition & 1 deletion scripts/content/announcement.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ function addSponsorElement(sponsor) {
sponsorImage.style = 'border-radius: 3px;margin:0 !important;';
sponsorLink.appendChild(sponsorImage);
const sponsorTag = document.createElement('a');
sponsorTag.href = 'https://ezi.notion.site/Sponsorship-3d0442f1e8634978902cf366c44be016';
sponsorTag.href = 'https://www.passionfroot.me/superpower';
sponsorTag.target = '_blank';
sponsorTag.rel = 'noopener noreferrer';
sponsorTag.style = 'background-color:#595959;color:darkgrey;padding:0px 2px;border-radius: 0px 3px 0px 3px;font-size:10px;position:absolute;top:2px;right:2px;';
Expand Down
23 changes: 21 additions & 2 deletions scripts/content/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,30 @@ chrome.storage.local.get(['environment'], (result) => {
const defaultHeaders = {
'content-type': 'application/json',
};
function generateChat(message, conversationId, messageId, parentMessageId, saveHistory = true, role = 'user', action = 'next') {
function arkose() {
return fetch('https://tcr9i.chat.openai.com/fc/gt2/public_key/35536E1E-65B4-4D96-9D97-6ADB7EFF8147', {
headers: {
accept: '*/*',
'accept-language': 'en-US,en;q=0.9,fa;q=0.8',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'sec-ch-ua': '"Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"macOS"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
},
referrer: 'https://tcr9i.chat.openai.com/v2/1.5.2/enforcement.64b3a4e29686f93d52816249ecbf9857.html',
referrerPolicy: 'strict-origin-when-cross-origin',
body: 'bda=eyJjdCI6IloyWURjNmZhTnhHUFAxYWJKN0cydUxkVFNITDRzdTRhYkh4dXY2WXB4WmlIMnVNaC9PUi90cDgvVDJlRnRsNVZkTkhTRjlGa3JPT2JYdnBoY1lrOUtzeUFJTk5lU2ZNV250T1hOYkVCOFBzOGMrdHgzUEh5SEtNMktIZ0ZNa05aZXJFbGdkYUV1aUJoWU1UaWFzR0dZb1pLVVkzdnVnUW11TUc3NklsQk9VK2xvbnFsNXFWK3ZJVEwrSjVCZERGd0xpK2oxUTRRZlVHbWFvSkk1eWplaW5NcSt5ZnBlbW5vMUdIYUljSmNzenB0Z0RHSkdiaEt6UHAxR3hpeExPL2xtTFdxZnpIZmcwWlptdU9LMEt2ODUyZ1gxcW5PNjRlM1FHc3Rvb0ZmMXloMitkNmFIZWQvL3kwV24xL0VhYTRnYXdWbmEwRllzV0xOditFR3FTWjI5eHdLazN5d281cmlyeDNHK2k0Rkx4bWY5MzNLNkZvVEtjckFFcWhMNndzSkhkcUlDblIzVGFTYS9ram5IdFczUVl1WjlnK2dlck82WGZQTndHaE5KVFdGdDZkdUNzMDNEUUdQT1ZBMk1pcXpFZ3JDeSs4dkwram9CZG5RcHhFcEw1Q0R0U09HR0ZEQ21nLzVXRGZ4NWN3WGJ6dStmRDZHSkRTUkV5b1dQS2NaaVlMUjkvRmczZ1NYNllLVXV3LzEyWW5BK2JieTVnbWc3a2pOdmVPRkthQnhkR0J3NHU0bWhVY1N5Z1NpZ0I1VEZEV1NwTWxoenk0MFdmaE1zQlBwQStWQVQyQlN3eGh0bXBUUDJncTlBUWtqdnJSMlk0SjlTRVY4ZlpoRHdST3o0OXdXeWN1Vm85Wm1HTUxyWG4rc1pDSStFOTlhZ0FiSytFUU1zNi8zY1JrZzBLRUwwaXkrREp1YmJCN1F5c2EvQkdrOWY5azA4UGg1Wm5xcUprTy9zQ3hBWHRJMm5IYk1jTjJzVFNGUXBBS1dxbDBBMUI4azJIMzV5ZFZjVnEwck8ycyt5QzZCOVFjd0tlYjZVWmlRTU9hZkR5cmQyRG5JN0hlR2J2UU5ualhnVDRyZ1pYWUpIMVpzUGtwWlZRamtlanlEcVNybWw2UjlnSzNsb09ncm9iNTI1NGdqWHBpRkVjcTdsYlc5NHE1WVA4MVBzYnI4UGdXVHlmUHVDNkdCMVFOUERYUVlpc3ZGekRNTlh1cmFhNzRldnFhVGpEb1kwczUxRUNweU4vSlZESDJ3QjFwTVVZTHA5b3ZNUEZwbDNxd0JndG54YmF6YnFpeWlRV1JpVVlMZ1JSZzJzVzlNeS92aUVVMnk5ZnVUanBqU1dTdjhPUlJBQnBmWE11Nys5T3lkc3JHMklHTkFyaDVPTDJoN3ZmS2FqV0tPckp1NmltNFUvQ0lweVdydVN6OGszMDlXdEpMWTA3dnVnV0ZGY0VMVHdvTXRzdUNWZzh5ZGt4VXNzYTdmeEVlUE5zY2o0T2duRE1FQi8rR2dpUE9aY2FCWEp3Y0tUOHJKbGw1ZDVJWDdWckRoRktINzlZL3lXVWdJMllZSGk2OUU3L2VQM3RFMkhWaEZJUUlpclZ0S29KZlFxWlBXeHBCZ3NTY3VneGlWQ04va2NJUDVrVzcxa3pIZFIyZ1p2VTY3b2QyM1VremxqUzZjeWVwOHhZOW5ubERFaEdEcnlBb1Frd2hLa3FBb055R3gxMUVyWEZQeklFT0E1am1EUkMzK0RWdWhDUXE2RDZnUEZFbHAxUWMyN01tZUIxd21RaUhoM2F1U24wV0VZVmt5aUU1ZmZzbDlFTDVnRFdvZDgwSmhSU3dhRllwdmZPbnVseC9MQ2xHNGJySTVyTnFRTWh1YVprZEZFbEFEL3NVbkJZNEZjazVERTgwL3N3Z2pvUlh0U1YyT0dCWkJxNksvekgxRnNMR3Vld2FaQnh2RExNZDk0NkFDTEhNZTVYd1lWcytPNEk2ZSswVjkvTWZMOTI0cnBmMnA1emt3TEwzNFovSUd5ZVBxUndIdVBTdkVGV3pHNVdld0pWM0x2SEFya3ByeUF0T0UrU1VQQzVRaHFWT2thWDZvMG5JZzkxRTM5ZGNmVEw1eGNBQm1EVVdXV1NMZzlIems2ZDc1eDBKelJmYXAwbitWVDJLUzdxaVRxQVUvVVJialRTelNyQ3BGK0w4NjBzWkFSb0h2bXpXRjhyRkZ0R3RZTjhXYXlYWHgrdlF0MTBxVmcwQWtTTEwrRUZqUkNpMGhuN1ZCa3h0K1FrcVEzQTNEcDdiODJYRVUyTzRWK2tTMGhwRDlaUUxDakdyWmVYYlVweUFBZmh2NnJHVEp6Zk9scWhybTBjUVlRVndFY3lrSkZwQk90VU9ReGNSemwrbzVKaHNUZFpubWZRZU05ZEpCRnF0YTRyaUlGYVd5eFFTT3NqSVFzM1AvWmw0emQ2bUZoRkp0ZzdISjlLMHYwd0tua0ZPWTk0VmxQa3BvV2hZUGtQdEZjQ2VHQ3VwQXZORTVRY2MwNTlvMGF5VkJpa1JHRjY4ZmxTMlVocmJURGF4VVFldjNBSWt3VnFEbXZPTkg1V0pXbkJjVGN3ZWFSdFlHYXZqdGRtRmVtUjlnVm1JQStycy92SE5sWGFOUWM4eDd2TFZYalBsTnJ0NldYdStGeTZsUkRkNk1NWllSQmd0cHpWRzRnZTN2WGE0NFBsaE56dTFWd0l0d3JjNlRjQWc1RXVMeFRvZ3gzOVBUYWxlSnVSemN1dXlDeGlOUGlzVlRwYjQ4T0pUNC9rWkwxMDRvbS9vK2R5YjNSOCtVYmpLU3dXWGJ3bkUzRE5oZDN0VTFGdS9KT2lMRmJtc0V3aksvY0ErODUveXQ2YmhadFluZ09ETm85QytRTzY3WHJ3UmNNN1BVbWFzVFNoajF5Y1JUSis0dEFNOFd5VWhDSkVtVXlpQUJqSEpJd1BwUVlROXpzU3pVZEJtN0Rra09JcGZzNVBFaGlGeXBIYzJoZ3ZHZ2VMYnRQRXVnUS9McDZpek1yL0wzTXNjNmlEaW1hMDlvNE05aDhLQmJiRGR2YkdjVjk4T2xPY1JvS3dYN3ZnK01zZG8zYS82UFJhVE56bGxEendoUXozcGh1cE5xNnJYRGVGazhPZ3RCK2FpL3JkOWtXYUN2MHl3V01XN1JlS2F2T0cva2JpK2Z3bUYwQWFPckhkVXZNdU51TXhBaWhDa0l4ZkpNTC9xSXJRZGZmbmJFSlJFN1VzR0ZJZjB2UnI4REhGVXlKUDFJUXdEeXpkYUs5K2RDK3c3ZHBNR2NFanpXOWZuU09iWXpmZXZkekw3YkxuMW1GcGduVWlINVBHdXpQVkdTeXdqeHdFMjhCM1ZOemdXVGI4bjlsY3FidUhPVFdYWlBzY05WcTVZd1JGSzI1d3lmc2xkdnVjUUNmSjhWdlJpTzBuN2pTdmpOaEZmbWVCNDhCaGI0bkhuVWxmRFJhN2xMYnlVV0hHcDJ2NWpwbVpWc003NUdLLzUwRGNFRFEvLzdSUUJmV0l5d1ZJa1dFM1ZaTGl4Wlc4NDFhSGYvdXpnZElkU2IvSHEyTDB5bHZqRkZ3M1BJSjFNWHV0WDkvZU5CbHpwSHBsNUJlM2VQbTNwS1BsbC9oMHRQVnZKWUMwVHF2YU9WMEFmMDU2dlREajdva2RsalF6UWhYQUZyY0R6MTAzaG5MbUU3bFhFS01FUVFiK3d2MWpMTXk5U09qT2xvM2JCaEhlSU5MQjFhaG1RektWNWx5Y1V2Z3VsNEl2eGlKY0VJcFRMYWtRK25xUVRkclBTM0ZHTHM1MW92K1dwNWxiUkRHZjBXTjVaMVJ2QzdhN0NnSjJGcU8vNlRVNkhLcTFzdkVqeForN2JnS3BnYk83N2V4RXhScC9qaEZ4dmdOY3BGQU96UmhqY3cxb3dYdldUcFNIK0FHeW9kT0VYSkI5VWcwM09lMU0xc2tNTytTcEFoczAvbFlUeTFTUFZpOHRQTUdHSG01dnVPYllrdytxcXVTK3lOZVZRY3AzOXVGbFlqQjhwaEhNWi94MUJjWkg3Z1Exem5xWU96VVBQeUFVQXJrMnpSZThFam1SWjYrSHhJcnVPZDFmMFZabGdjZEZWenJKcEIwbVNrQXllNmdZUGY4bm9OajZDZExuMnAxRVVjR0oreHBibStiR1I3bjNpdHpJSlFwMTRBbEZRMG53R1RiVFcwcEtBTzg1V2FKMUMwUDVrT1hVSkNOYXU0d3cwSTFIYmZRTTV5SmMvSGFBbTA0UHloMy8zdFJaWktKbWdMemQ4Szc2cUlMQ2wvVUpLTmVxbTVGM2pvTEdjL1EwUDZTaldMZmVUMUtTQ2hqWFBOQXlkdlE3WUt6Q0drUjhGZy9yc0RaNjQvamM3dS90SVRoeFJFelJZQlJsWTNjSGdLTk9DRjd1ZnlMdHZkckk4TDh2L3hEejM2SU1KeTYrdUwweEZpcmZBcTdHcGxtNk11TXk3QVYwWEtOZGNtUlJHQ05rcTRtNzZWR29tRWJiaENZU29TV01lUWcrTlE0MGZrT0cwTnhVTzkvTzVBUnRQVEl6OHh2VXBodENxQ3doWGFiandaY004ODVCWjZjOVludVVobSs5dTUxR0ppeFQ2UStPSXplWlpDL1cyZFd4SzY4UWJjcFJIcktweGV3YlpoZkpOVWRhZFZ6RzNQMERWYVp5dVhORGdHSjlERVQ5dmJPdGgxWnp1bEZrNzhQQzFsaDZXT1NmTnhlM0FJNmQ3RWN6eTFEV1NIYlRjL25nU1NJd08rUHZQUm8yajlzOWcvV1BXYU9tUzIvZ3Nvdmt6d2ZuTmJ6YWwxU2J4eElJOTYwRy9Bbjg4ZEFoeWxkTnE1RytJUHpJMWRuYnZwZmhLeFd4d0IzQlpkTCsxVE43blk2TUJGdEtSbWF1QXREYzBmRTRkUHdlMTE2MGtDUlNtUkNIeWNndy9hZ0c2amRyU3Vlbjg4RURUT1F6Rmc0SzcyY3BncXJuOC91OGhDNnBDMzQvZzQ0QjBYNnJrdmFNNFlhblVVaXQ0TlJqYndxeUVBb28wMU1UMTM1MElKZE9lYkk3N3RRZGRkL2VmOW4vbG9VSUV0ZmU0cTRUeDU3T0dkMzlqTU5lRHhHS2tKQSs3STlUU2JYVVpkOUh3aFptVEhaRmtpZGl5WThrdFdDenpZYlRsMlFpT242blBLZzRSVGhROUdUVWp1aDg3dzZFcU5lTHF4d1Vhck0zQmFFa1NOQ244blRQOFh6SXl0enRLT1Btd0orTitJeW9majNEZzVIUjBLd1RtTmpob0FYZXpjTW5LRzB1d3BlOFBHaytnVFgzd2V5Rk9Gem9JNWtrK1V4bEg2V0FGdmc2LzZRT0o3Z1NKRGRqQnE3VkR3TnZvczFjNDlaUGNPME16ZjRRbFpQbHBqZXlDd0tnMllXd3NtNlZPbmdYdVVCcm5ldHgwVVBKakRrbTE3VmhJU3NFR3MvWU83TGpwNmdZOThmT0pPL0pqOHpqd3U1em82MHVLNnd4dEs3bDNwVWs3R2kxcjNxeEpVSGQrMWtYakhrOW9uZzc0VU1INUttRkZYMTNiTXNWL085cE1VbHhYQ01KWWxGY1pndjZ1S2E2Yi9WbU9hWnY3SHRyOFR5NTBZQVFRZ1BvRUFJQzlHWng3eUxxYitrcnkwMzBvaE1mcmVWTjd0VFNnenpNVUd5RXR2d3hlVnRGY3I5YnpQclBlZmdSWlpDVm1DYnRxd3c0OXFoeGJGV1ZSd0xRbzI1cWY0NkJ2UmlOZm9QU2c5aHFMa3Frb2Y1SzJkQ1Rlcm5ubjZNdHN0T0ZLcUhHaFhOQlFLaTlzaStLOTZsUUNLQVplMWtFSlE2MllzSk80bk44SXkrc3lmU25aa3J3dnBQakY1LzdNOWRGT3RWaXZyYXdBakJvanZLSTMvSldETGNIZ0k3Z09sS1R4Ri9lZnd1VnlxaFVNNDVJL0pWeXNjNHU0ellic3FLWjhLL3pWdGplcVd1VlhuUmhOSkZoS2dzVDl1aFFiV29sYm1vM2RZdGlQVXFEeURkUGtPYzRzbGg5Rm8yV3MwVmhhemcvUk5qL3VXVTJFVWtFSS9jUzlrN1dqTXVjYUt2cFFFMXZscHJaS04xbFpNMUZzMy9aUG4vS2lBNmlLc0MxaWJxd0hoRzViWXRDaEs4dXgyZTRtVkFXSXVvdEdsNmdFUHZvSGtncWJYNjRsS1ZvSENsdWt0ZUJrVFJhY1dCbkQyOVZ2c2FBbU9RZXJsN3FvZnhCTHhpNXM0ZUxybVptMzU0OG45VUIvckNsa3ZKY015SGxGZlFUaWQ1TlF1bnRaTkN3K0VNRDBmUmF6SWsyYkZBYUlrRWUzK0R0ejZYeFVta1JUUHcxczRpZTh6MkQwZjR0eVYyaHZxZUFMYW42d1BuVktBcUEwVWE5NHJ1T0FhK0FNYmY2WXd0TzUyRVRzdHR5QnltWmUvb0xJbEJXcHVETm1iUEhYd252ZUtyd3J1d2FtTXNieitkOEthUEx5N0RFRkY3amN5bjZLSmVCMVU4L0QwUFVMd3d2YlJrN0VUT21OMlVWWEhDK2Z6NCtjeVI5eE9YMWl2dHhZdWVhamtoeEtGY1dwUXY2a241VmFqa1ZaMEg5OEl1eUhYRUprVVQ0SHErTkFDcEtsb2pvZGV6VTdQNWVkUVdEbkM3UnArZXQzUjJCdG1qalk1dG5vVVRyWlo1RkcydkJIMUVIYjlyK0RudElobC90RWxRTWh4cWRJQ1VGVVI1N0dpRFVkRUxBWDZjK3hyeVFqZUpjcUdHelErT3g0WnBKbXVPNUVrYU1sNXFnM1E5bncwcVFTOFBnVjg1a3BkMmliYkk4OWY3cmRHeUVYbXFJRUxFemlYWXZpNE43U3ZlOFhBN1ZBbnpLZFY3Z0gyRkVjYXEwZDZSNHpjNG9VTllBT0NKSVVON25DS25rWGdDNGNGRmFkZ1FqOFFFaWkzcjhMekZFWFBhMVNpYmVKbkpLc2JCbVhnNTZ6UGVtY1psOHpHeG1LeXdzQWt6dmxtRXdkbDZRQTdRWWlwL1o4Qyt5eUh3aXN4dkNYdDVtem1WNFJVVXFiMjdJenFCWDF1K0piSDUwU2h3bWFJWjRyL1BCU2lmVUlXaDRlOGU0eEV2aTRVS3pVRzl4dXdZTTN6bG1YK0RyenBSTWVDcC94SFNFbXdQa0daQkJWb0JYZHNGbE1mczFkcFg4anB5NytEck14bzZiQ0R6UlRJd2V2ZEZNUmpYR3JDMW1KUllVMENDQzFvNWduSUNKczB1ZWdWanluL1Z5RFZiVE1XM2YzcSs2UVRpOGhsdE5iSmZlWkZGNHU2bVdRenB4NUtIUDN6SGg4R1R1MnlnemF1azU1Rzd5L1RCTXZDdlRHcWhCUWt1WWhieXJYV3VORWFJVnJHck1yRGlDdld4Qi9Zb1U3T2UrWHBBekYxUTJqYnArdDZVWC9RVmpiSHZ6ZnM5NkNIUFBPQ0J2OUFOTUNoR3JjK29LanoxV2ZNZ1REbFJTK0JsdGdNbkVYVy8vN0hhd3BBdDRGaVkvREMvVjc1ekNHdSt5MUNqQmpEcDRROTZjMnUzK0hkbFgrWWMvL1lzUW1WTnhEQUhLTmNsTlV2ZktIb1dKeFBsRzlMdEpYNFZlZ0o4NGU4VlhTUllPRVh3c013UjZkcDV4Q2pUU2lNK1hrUW5NV1A4MTNncldVMmM0YVdLQnhsSzdZRmVSSGMrVXEwREFvOUdCWEJWdVI4Q3dMRmwvVFlhSzM1eSswNFlXRVhIWTgxa3FCT2s3S2k3WU9SemhCeU45UitnTFY4eHdBUnYyWUs0YlhuQ0NnWkNxeEtCc25NNzRCZjZtekozamFveHNlU1JrSVJXaTVkU1JrVy9FNkk4TnV2QnF3R3BRV2xacHpnSnRpd0tLT2EwWlZUY2RMaXF1KytHT3FFcFZnSDVJTWxORjZlOGxyNUthR2t6MVYyK0JUY0NwVTh3cGtnUDdOR25TaFRweEswT3BwdDB1cDdYZ0hnUUo2dEswNllBU1VRNlFmY2pObzhwcGNKcm9Wbk13emIxZXZSR2VVb3hxdzdIcCtiRm42ZDRrckhmVXR4Y3d2VXNCQzV0TEtxQWZNMDgrRFd3dUdTeGloYkU4MWlNczNDZmZxZ3ZRU3o5NS9iY2huWmNhWnBabnMxc1BSQ1BudGY1WXQyNGJHb2s0TjRnanVlY3BjempIMjhEVWxPZnh6NkUwWHNEVjVpdEwxT1hLNjZRSWdVT1ZIaU9ZTjhzV1l0UWxtRXJ6MnF3cWVMV1NUMWczY0RZaTA2bThtbHZjc3FndTg5S25wSU1WSGVrVVhCdS9weVVFdVdveVl0b0F5blUyNHQzN2hwZlpWbXZaRUk1T3FoSE5BMFFyNk5VZFNIM3JkakJ5czNXUS9jWWFDQ2pSRzFlYVRtRStMRnNmZXZSeEJReWREWnc5SmhFbTI5bFhNVmpRS3ZvK1dMZm1mR1daYkM0Q2RmT21FWlBLQUEybWhlVlNBWGVsV1M0aTlIUEJpdWFacWkxRGY0cVg1NmxqYTRocTJ5YkJmY3lUVU80NWlvWDI5WXV5MnIxNDZ3UktyV1lTeFFqdFV2RVhpVUQzR1JKanhCZVI1Q0hmMnN4YW5KRUF4eUNnZkJkUXZPdkI5alMzZDlnQm1LZ01JVFJKY1gweDY3cGVISU4zRjBreE9pYUU0ODJpL2g4ZzRFWnJVeDlMNHo4RGpYYlBJYWZsb21NYkNRMldIQlhZM0dXcUJjcjNXM1VhV3B0Y0czcG44VzF2WCtqVnR2UTd6TTMrY093NE5kYXVuc0oxZTZjandVM1d1RFZTbmtGTVNOYkxjVHdyamtDdz09IiwiaXYiOiJiOTFmMzc0MGEyNWFjMmViYWJiMTVkNzhjZDQxN2ZkYSIsInMiOiI0Y2NmOTA3MTk2YTBhY2IyIn0%3D&public_key=35536E1E-65B4-4D96-9D97-6ADB7EFF8147&site=https%3A%2F%2Fchat.openai.com&userbrowser=Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F113.0.0.0%20Safari%2F537.36&capi_version=1.5.2&capi_mode=lightbox&style_theme=default&rnd=0.4708405773111748',
method: 'POST',
}).then((response) => response.json());
}
function generateChat(message, conversationId, messageId, parentMessageId, token, saveHistory = true, role = 'user', action = 'next') {
return chrome.storage.local.get(['settings', 'enabledPluginIds']).then((res) => chrome.storage.sync.get(['auth_token']).then((result) => {
const payload = {
action,
arkose_token: null,
arkose_token: token,
model: res.settings.selectedModel.slug,
parent_message_id: parentMessageId,
history_and_training_disabled: !saveHistory,
Expand Down
2 changes: 1 addition & 1 deletion scripts/content/autoSave.js
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ function initializeAutoSave(skipInputFormReload = false, forceRefreshIds = []) {
if (result.conversations && Object.keys(result.conversations).length > 0) {
localConversations = result.conversations;
}
const oldConversationsOrder = conversationsOrder && (conversationsOrder?.findIndex((f) => f.id === 'trash') !== -1)
const oldConversationsOrder = conversationsOrder && (conversationsOrder?.findIndex((f) => f && f.id === 'trash') !== -1)
? conversationsOrder
: [{
id: 'trash',
Expand Down
57 changes: 30 additions & 27 deletions scripts/content/conversationList.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* eslint-disable no-restricted-globals */
// eslint-disable-next-line no-unused-vars
/* global markdown, markdownitSup, initializeNavbar, generateInstructions, generateChat, SSE, formatDate, loadConversation, resetSelection, katex, texmath, rowUser, rowAssistant, updateOrCreateConversation, replaceTextAreaElemet, highlight, isGenerating:true, disableTextInput:true, generateTitle, debounce, initializeRegenerateResponseButton, initializeStopGeneratingResponseButton, toggleTextAreaElemet, showNewChatPage, chatStreamIsClosed:true, addCopyCodeButtonsEventListeners, addScrollDetector, scrolUpDetected:true, Sortable, updateInputCounter, addUserPromptToHistory, getGPT4CounterMessageCapWindow, createFolder, getConversationElementClassList, notSelectedClassList, selectedClassList, conversationActions, addCheckboxToConversationElement, createConversation, deleteConversation, handleQueryParams, addScrollButtons, updateTotalCounter, isWindows, loadSharedConversation, createTemplateWordsModal */
/* global markdown, markdownitSup, initializeNavbar, generateInstructions, generateChat, SSE, formatDate, loadConversation, resetSelection, katex, texmath, rowUser, rowAssistant, updateOrCreateConversation, replaceTextAreaElemet, highlight, isGenerating:true, disableTextInput:true, generateTitle, debounce, initializeRegenerateResponseButton, initializeStopGeneratingResponseButton, toggleTextAreaElemet, showNewChatPage, chatStreamIsClosed:true, addCopyCodeButtonsEventListeners, addScrollDetector, scrolUpDetected:true, Sortable, updateInputCounter, addUserPromptToHistory, getGPT4CounterMessageCapWindow, createFolder, getConversationElementClassList, notSelectedClassList, selectedClassList, conversationActions, addCheckboxToConversationElement, createConversation, deleteConversation, handleQueryParams, addScrollButtons, updateTotalCounter, isWindows, loadSharedConversation, createTemplateWordsModal, arkose */

// Initial state
let userChatIsActuallySaved = false;
Expand Down Expand Up @@ -438,7 +438,7 @@ function submitChat(userInput, conversation, messageId, parentId, settings, mode
if (!regenerateResponse) initializeRegenerateResponseButton();
chatStreamIsClosed = false;
const saveHistory = conversation?.id ? conversation.saveHistory : settings.saveHistory;
generateChat(userInput, conversation?.id, messageId, parentId, saveHistory).then((chatStream) => {
arkose().then((arkoseRes) => generateChat(userInput, conversation?.id, messageId, parentId, arkoseRes.token, saveHistory).then((chatStream) => {
userChatIsActuallySaved = regenerateResponse;
let userChatSavedLocally = regenerateResponse; // false by default unless regenerateResponse is true
let assistantChatSavedLocally = false;
Expand Down Expand Up @@ -667,33 +667,36 @@ function submitChat(userInput, conversation, messageId, parentId, settings, mode
const submitButton = inputForm.querySelector('textarea ~ button');
// submitButton.disabled = false;
submitButton.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" class="h-4 w-4" stroke-width="2"><path d="M.5 1.163A1 1 0 0 1 1.97.28l12.868 6.837a1 1 0 0 1 0 1.766L1.969 15.72A1 1 0 0 1 .5 14.836V10.33a1 1 0 0 1 .816-.983L8.5 8 1.316 6.653A1 1 0 0 1 .5 5.67V1.163Z" fill="currentColor"></path></svg>';
const error = JSON.parse(err.data);
const errorCode = error?.detail?.code;
let errorMessage = typeof error.detail === 'string' ? error.detail : error.detail.message;
if (errorCode === 'model_cap_exceeded') {
// seconds until cap is cleared
const clearsIn = error?.detail?.clears_in;
const date = new Date();
date.setSeconds(date.getSeconds() + clearsIn);
// print expire hour minute from local time
const hour = date.getHours();
const minute = date.getMinutes();
const ampm = hour >= 12 ? 'pm' : 'am';
const hour12 = hour % 12;
const hour12Display = hour12 || 12;
const minuteDisplay = minute < 10 ? `0${minute}` : minute;
const capExpiresAt = `${hour12Display}:${minuteDisplay}${ampm}`;
chrome.storage.local.set({ capExpiresAt });
errorMessage = `You've reached the current usage cap for this model. You can continue with the default model now, or try again after ${capExpiresAt}.`;
} else {
chrome.storage.local.set({ capExpiresAt: '' });
console.warn(err);
if (err.data) {
const error = JSON.parse(err.data);
const errorCode = error?.detail?.code;
let errorMessage = typeof error.detail === 'string' ? error.detail : error.detail.message;
if (errorCode === 'model_cap_exceeded') {
// seconds until cap is cleared
const clearsIn = error?.detail?.clears_in;
const date = new Date();
date.setSeconds(date.getSeconds() + clearsIn);
// print expire hour minute from local time
const hour = date.getHours();
const minute = date.getMinutes();
const ampm = hour >= 12 ? 'pm' : 'am';
const hour12 = hour % 12;
const hour12Display = hour12 || 12;
const minuteDisplay = minute < 10 ? `0${minute}` : minute;
const capExpiresAt = `${hour12Display}:${minuteDisplay}${ampm}`;
chrome.storage.local.set({ capExpiresAt });
errorMessage = `You've reached the current usage cap for this model. You can continue with the default model now, or try again after ${capExpiresAt}.`;
} else {
chrome.storage.local.set({ capExpiresAt: '' });
}
const conversationBottom = document.querySelector('#conversation-bottom');
const errorMessageElement = `<div style="max-width:400px" class="py-2 px-3 my-2 border text-gray-600 rounded-md text-sm dark:text-gray-100 border-red-500 bg-red-500/10">${errorMessage}</div>`;
conversationBottom.insertAdjacentHTML('beforebegin', errorMessageElement);
conversationBottom.scrollIntoView({ behavior: 'smooth' });
}
const conversationBottom = document.querySelector('#conversation-bottom');
const errorMessageElement = `<div style="max-width:400px" class="py-2 px-3 my-2 border text-gray-600 rounded-md text-sm dark:text-gray-100 border-red-500 bg-red-500/10">${errorMessage}</div>`;
conversationBottom.insertAdjacentHTML('beforebegin', errorMessageElement);
conversationBottom.scrollIntoView({ behavior: 'smooth' });
});
});
}));
}
function submitFinalSummary() {
if (!shouldSubmitFinalSummary) return;
Expand Down
Loading

0 comments on commit d3e60ad

Please sign in to comment.