{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":682308998,"defaultBranch":"main","name":"shellChatGPT","ownerLogin":"mountaineerbr","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-23T22:36:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/92537363?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1692830209.402465","currentOid":""},"activityList":{"items":[{"before":"4686613c000a56f3c4d6dbfc4342c59b32012451","after":"0f84fff9d840048711dd4e94c570551fa8945e77","ref":"refs/heads/main","pushedAt":"2024-06-06T04:26:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Remove the backslash \\ shortcut from the end of input prompt.\n\nThis is an old shortcut to enter the CTRL+D prompter, to type a backslash at teh end of input prompt. It will remove the backslash and add a newline, and enter ctrld-d prompter mode.\n\n---\nRemove backslash shortcut for CTRL+D prompter in chatgpt.sh","shortMessageHtmlLink":"Remove the backslash \\ shortcut from the end of input prompt."}},{"before":"4a301f4478272cc1bd8fcbf2059bfed9609ce812","after":"4686613c000a56f3c4d6dbfc4342c59b32012451","ref":"refs/heads/main","pushedAt":"2024-06-04T19:33:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Regression bug fix: chat command \"!url:\", \"!cat:\", and \"!sh:\" to add to buffer as user message.\n\nEven on commit 24dc22b4c072aa1f0492d0dd0c96557b78bb8b5b (from about 2 weeks ago)\nwhen I thought we had corrected these commands (v0.58.4), that update was not good enough.\n\nNow we stream lined \"!url:\", \"!cat:\", and \"!sh:\"\ncommands and simplified how the \":\" operator is processed in these cases\n(buffer output as user message).\n\n---\nFixed regression in \"!url:\", \"!cat:\", and \"!sh:\" commands, streamlining ':' operator processing for user message buffer output. Simplified pattern matching and command parsing logic for better consistency and reliability.","shortMessageHtmlLink":"Regression bug fix: chat command \"!url:\", \"!cat:\", and \"!sh:\" to add …"}},{"before":"2d782fa8cae8d162c5ad15028ea00a75b055becd","after":"4a301f4478272cc1bd8fcbf2059bfed9609ce812","ref":"refs/heads/main","pushedAt":"2024-06-03T22:31:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Documentation sync.\n\n---\nUpdate: Improved API key option documentation and corrected `--keep-alive` syntax in `chatgpt.sh`.","shortMessageHtmlLink":"Documentation sync."}},{"before":"657673a550a30af9dc7b026c752af0498d53f442","after":"2d782fa8cae8d162c5ad15028ea00a75b055becd","ref":"refs/heads/main","pushedAt":"2024-06-03T22:23:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update config file example +++++.\n\n---","shortMessageHtmlLink":"Update config file example +++++."}},{"before":"60035c988f4059f303c6f79535667cad976bb901","after":"657673a550a30af9dc7b026c752af0498d53f442","ref":"refs/heads/main","pushedAt":"2024-06-03T22:22:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update config file example ++++.\n\n---","shortMessageHtmlLink":"Update config file example ++++."}},{"before":"10f10538fc7dbe6e31008d7889dce606f212ed9e","after":"60035c988f4059f303c6f79535667cad976bb901","ref":"refs/heads/main","pushedAt":"2024-06-03T22:20:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update config file example.\n\n---","shortMessageHtmlLink":"Update config file example."}},{"before":"d65d2c536f7adcb28367454420b02e17692fd79b","after":"10f10538fc7dbe6e31008d7889dce606f212ed9e","ref":"refs/heads/main","pushedAt":"2024-06-03T22:16:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update config file example.\n\n---","shortMessageHtmlLink":"Update config file example."}},{"before":"6d6432f06120a21f1fd7ba81a71090ef83a90041","after":"d65d2c536f7adcb28367454420b02e17692fd79b","ref":"refs/heads/main","pushedAt":"2024-06-03T21:04:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Minor adjustment in TTS: initial buffering timeout is now 2 secs (was 3 secs)\n\nActually, now the minimum amount of time if 2 secs but the buffering may go on to as almost 3 seconds.\n\nFunction new_prompt_confirmf() receives improved case statements to check and set up for extra options.\n\nNew \"option whisper_append\" as \"[W]hspr_Add\", to append more input to the previous input in whisper mode.\nType \"W\" or \"A\" to activate it (only for the full verbose interface).\n\nImprove the chat command \"-w\" (or \"/w\") to accept one-shot whisper mode with \"-ww\" and \"/ww\".\n\nOBS: case statements are used because they are faster than [[ test for glob matching.\n\n\n\n---\n```\nUpdate chatgpt.sh to v0.59: optimize whisper mode and TTS buffering\n\n- Reduce initial TTS buffering timeout to 2 secs\n- Improve case statements for new prompt confirmation options\n- Implement \"whisper append\" function activated by \"W\" or \"A\"\n- Enhance one-shot whisper mode with \"-ww\" and \"/ww\" commands\n- Miscellaneous code cleanup and minor bug fixes\n```","shortMessageHtmlLink":"Minor adjustment in TTS: initial buffering timeout is now 2 secs (was…"}},{"before":"744494c9388841791521da3a6435f3b8ddeedc60","after":"6d6432f06120a21f1fd7ba81a71090ef83a90041","ref":"refs/heads/main","pushedAt":"2024-05-17T22:26:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update `~/.chatgpt.conf`, expose `$OPTMD` for markdown option (0,1).\n\n---","shortMessageHtmlLink":"Update ~/.chatgpt.conf, expose $OPTMD for markdown option (0,1)."}},{"before":"79def9be9657a086d4e9149759a650e5e2882a21","after":"744494c9388841791521da3a6435f3b8ddeedc60","ref":"refs/heads/main","pushedAt":"2024-05-17T21:42:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update documentation.\n\nMD code in README.md\n\n---","shortMessageHtmlLink":"Update documentation."}},{"before":"1a68a3cbbb84ea13b54bc4028c44c3a17228b487","after":"79def9be9657a086d4e9149759a650e5e2882a21","ref":"refs/heads/main","pushedAt":"2024-05-17T21:37:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update documentation.\n\nAdd some python modules that are optional.\n\n---","shortMessageHtmlLink":"Update documentation."}},{"before":"f28f801670dfa6738071be4dd70b35c9791a84f8","after":"1a68a3cbbb84ea13b54bc4028c44c3a17228b487","ref":"refs/heads/main","pushedAt":"2024-05-17T21:02:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"if python markdown module is not found, then do not use it and do not print errors\n\nthis is optionally oused for tts function in chat mode.\n\n---\nHere’s a concise commit message for the `bash chatgpt.sh` script update:\n\n```\nHandle missing Python markdown module gracefully.\n```\n\nIn the developer comments: \"if python markdown module is not found, then do not use it and do not print errors\". The diff output shows that instead of printing errors and exiting with a non-zero status (`sys.exit(2)`), it handles the missing module by not using it.\n\nNote: It's important to ensure the implementation aligns with the requirement—handling the exception without exiting and without printing errors. If more adjustments are needed to match this behavior exactly, you might need to adjust the code inside the try-except block accordingly. For instance:\n\n```python\ntry:\n import markdown\n from bs4 import BeautifulSoup\nexcept ImportError:\n markdown = None # or any other appropriate handling\n ```\n\nThis change avoids exiting or printing errors, inline with the developer comments provided.","shortMessageHtmlLink":"if python markdown module is not found, then do not use it and do not…"}},{"before":"7feabf40e6fad3033565f9e00abb001e77dfe65b","after":"f28f801670dfa6738071be4dd70b35c9791a84f8","ref":"refs/heads/main","pushedAt":"2024-05-17T20:17:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update code in ttsf() to split input that is longer than 4096 chars (OpenAI).\n\nThe code for splitting the input in various audio files was just so out-dated! I cannot even believe the code logic with the variables was so astray.. I remember that it worked correctly at one point in time..\n\nWell, I guess it makespart of the recently updating ttsf() fun, which is really a newer function than the other ones.. LOL\n\nAlso, it shall print user feedback \"Max Response / Capacity tokens\" when options -cc are set with -zw when the script is invoked...\n\n---\nCommit Message:\n```\nUpdate ttsf(): Split input longer than 4096 chars and add feedback for -cc with -zw options.\n```\n\nThe updated commit message highlights key areas:\n\n1. Modified `ttsf()` function to handle input string splitting when longer than 4096 characters.\n2. Added user feedback printing \"Max Response / Capacity tokens\" when options -cc are set with -zw during script invocation.\n\nThis concise commit message ensures clarity without repeating what's already in the developer comments and diff output.","shortMessageHtmlLink":"Update code in ttsf() to split input that is longer than 4096 chars (…"}},{"before":"90befa134e70080141718e5f9514ae3a9081242d","after":"7feabf40e6fad3033565f9e00abb001e77dfe65b","ref":"refs/heads/main","pushedAt":"2024-05-17T17:17:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Adjust TTS interface (option -z) with less verbose (option -vv).\n\nMinor adjustments to improve the TTS UX.\n\nAlso, dont edit \"!sh [cmd]\" output by defaults.\n\nAnd change what we record in the shell history. We will not record the output of \"!sh\" command anymore (which may be big!).\n\n---\n```\nImprove TTS interface and update history handling\n\nSimplified TTS options (-z, -vv) for better UX.\nAvoid recording large output of \"!sh\" in shell history.\n```","shortMessageHtmlLink":"Adjust TTS interface (option -z) with less verbose (option -vv)."}},{"before":"9c82412e5ee849ff8ba6f80da8c76dc5d6780457","after":"90befa134e70080141718e5f9514ae3a9081242d","ref":"refs/heads/main","pushedAt":"2024-05-17T02:29:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fix the chat command `-S [PROMPT]` to set the System Prompt.\n\n---\n```\nUpdate bash chatgpt.sh script\n\nDeveloper comments: Fix the chat command `-S [PROMPT]` to set the System Prompt.\n```","shortMessageHtmlLink":"Fix the chat command -S [PROMPT] to set the System Prompt."}},{"before":"ea76ec70c12f7bfefb41ade78d88b3dd5c996c44","after":"9c82412e5ee849ff8ba6f80da8c76dc5d6780457","ref":"refs/heads/main","pushedAt":"2024-05-16T23:12:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fixed regressions: complete refactor of functions to record to history file only after a response is received.\n\nThis code refactoring has begun about 3 months ago and has been improving along the time.\n\nSome bugs were not apparent from the start. We heavily relied on the history file recording and reading system to compose the request blocks, and that means some functions that depended on this system working correctly did not work correctly.\n\nIt is hard to check for issues of this kind because they are only visible in script execution, and afterwards in the history file record (~/.cache/chatgpt.tsv file).\n\nThis was hard work but it is worth the effort because now it would be trivial to have a multi-turn session without recording to disk. Such an implementation is beyond my needs right now, that is just a hypothesis.\n\nNow, the last commit update divides break_sessionf() routines and creates a _break_sessionf(). We actually only record to disk now when we are about to record the first and valid text response.\n\nThis improves how others function work. They expect the last session of a history file to be accessible, meaning that adding a \"SESSION BREAK\" mark in the history file unnecessarily just blocks access to the last session in a clean manner.\n\nThe facility of typing in a new user prompt \": [text]\" and \":: [text]\", to append user or system text without making the request, were broken since the above-mentioned code refactor started (about 3 months ago).\n\nNow that the buffering system is aligned and working properly, these facilities and working again.\n\nHowever, these functions now work a little differently than before. I think that they should work comparably well, with minor diference in how we prepare the request body.\n\nThe \"::: [text]\" syntax is removed because it would only work in text completions mode, anyways, and this was the most code-expensive function with little reward, so just deprecated.\n\nText injection of prompts can be done manually done with \"/hist\" to edit current chat history live.\n\nCommands \"!url: [url]\" and \"!sh: [cmd]\" were also not working correctly before. Now they work and are better implemented a little.\n\nAs these changes are somewhat relevant for some specific (and little used, if I may say so) features, this might not have warranted new big release number, but I thought it appropriate to draw attention to the new version to avoid any possible user prompt not being recorded correctly to the history file anymore...\n\n---\n```txt\nRefactor commit message for bash script update\n\n- Optimized history file recording mechanism.\n- Improved \": [text]\" and \":: [text]\" user/system prompt appending.\n- Deprecated \"::: [text]\" syntax.\n- Enhanced command \"!url: [url]\" and \"!sh: [cmd]\" functionality.\n\nUpdate version to v0.58.4.\n\nDeveloper comments:\n```","shortMessageHtmlLink":"Fixed regressions: complete refactor of functions to record to histor…"}},{"before":"ce6a4dd9bb2ef25508b8b1cf16536cb4de663921","after":"ea76ec70c12f7bfefb41ade78d88b3dd5c996c44","ref":"refs/heads/main","pushedAt":"2024-05-15T22:04:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"This improves printing out the last session option -HH\n\nWhen there is a break session mark but no content afterward. This change has to do with the code refactor of 3 months ago when we set to record to a history file only after a response. This is a leftover adjustment to that.\n\n---\n```\nUpdate chatgpt.sh: Improve session handling by removing break marks\n\nDeveloper comments: This improves printing out the last session option -HH\n\nWhen there is a break session mark but no content afterward. This change has to do with the code refactor of 3 months ago when we set to record to a history file only after a response. This is a leftover adjustment to that.\n```","shortMessageHtmlLink":"This improves printing out the last session option -HH"}},{"before":"8aa0e054466cc21dad946c7f32c564e9f3589f3e","after":"ce6a4dd9bb2ef25508b8b1cf16536cb4de663921","ref":"refs/heads/main","pushedAt":"2024-05-15T21:45:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update glob to match gemini-1.5-flash-latest as multimodal.\n\nIt seems that gemini-1.5-pro-latest sometiems says it doe snot recognise images, although it should. The script code is right, but these models are not stable, it seems.\n\n---\nUpdate glob to match gemini-1.5-flash-latest as multimodal","shortMessageHtmlLink":"Update glob to match gemini-1.5-flash-latest as multimodal."}},{"before":"4f0c9789c5f1f17d403b000b6cb82156978f021e","after":"8aa0e054466cc21dad946c7f32c564e9f3589f3e","ref":"refs/heads/main","pushedAt":"2024-05-15T17:38:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve some internal functions of the script for better UI and UX.\n\nImproved is_txtfilef() to be sure input is a text file. This is needed for something else later.\n\nAdd new is_audiof() function to make pair with other functions of the same type.\n\nIn whisperf(), change ksh glob comparion test [[ ]] with the new is_audiof() function which uses a case glob matching (for pos args 1 and last as input).\n\nThis should make it load a text file as text prompt for Whisper, and also let a filename for the output file to be set without bad interference.\n\nImprove __set_outfmtf() globbing a little more..\n\nImprove start up code that loads the last argument from command line as text prompt if that is a text file. Now, if last argument is not a text file, then try setting the first positional argument as text if that is a vallid text file and path. This should generally improve how the script works in this regard for all functions, I cannot see how it can create a conflict with the other script functions, specially now that is_txtfilef() is improved.\n\n---\n**Commit Message:**\n```\nUpdate bash chatgpt.sh: enhance function checks and improve UI/UX\n\n- Improved is_txtfilef()\n- Added is_audiof() function\n- Updated whisperf() to use is_audiof()\n- Enhanced __set_outfmtf() globbing\n- Refined argument handling for text prompts\n```\n\nThis concise message captures the key changes made to the `chatgpt.sh` script, summarizing the main updates without going into unnecessary detail.","shortMessageHtmlLink":"Improve some internal functions of the script for better UI and UX."}},{"before":"6c2b0488cf7819c76f8e67321fec0ac591a37ec0","after":"4f0c9789c5f1f17d403b000b6cb82156978f021e","ref":"refs/heads/main","pushedAt":"2024-05-15T16:01:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fix setting custom filename for TTS output audio.\n\nWe will only set a new name automatically if there is a file with such a name in the target directory.\n\nImprove how new names are generated in the same function.\n\nImprove the globbing for detecting a filename in user input a little in another function.\n\nAdd a python function to remove markdown from input.\n\nFinally, remove markdown from answer before submitting it to TTS. Because as I am working with GoogleAI and it returns text heavily marked down, OpenAI model stutters a little when there is a lot of markdown.\n\nIf the python function fails, and the user has pandoc, I think most dont, then we shall use pandoc. Pandoc is a little slower than the python function to remove the markdown. Basically, they convert markdown to markup, and then remove html.\n\n---\n### Commit Message\n```\nUpdate bash chatgpt.sh script: Improve TTS filename handling and add markdown removal\n\n- Fix setting custom filename for TTS output audio by auto-generating new names if existing files are found.\n- Enhance filename generation method within existing function.\n- Refine globbing to detect a filename in user input more effectively.\n- Add Python function to strip markdown from input before TTS submission.\n- Default to using pandoc for markdown removal if the Python function fails, improving compatibility.\n```\n\n### Explanation\nHere's a breakdown of the changes:\n1. **Fix for Custom Filename in TTS Output**:\n - Amendments were made to handle cases where there is already a file with the same name in the target directory.\n - Improved filename generation logic ensures that new filenames are automatically created sequentially if needed.\n\n2. **Enhanced Filename Generation Logic**:\n - Optimized the existing function to ensure filenames are generated correctly and consistently.\n\n3. **Better Filename Detection in Inputs**:\n - Updated globbing patterns to improve how filenames in user inputs are identified and handled.\n\n4. **Python Function to Remove Markdown**:\n - A new Python function `unmarkdownf` is introduced that converts markdown to plain text, thus resolving text-to(length)","shortMessageHtmlLink":"Fix setting custom filename for TTS output audio."}},{"before":"097e1a1e48b9770abb77b0559597c7ed325c920b","after":"6c2b0488cf7819c76f8e67321fec0ac591a37ec0","ref":"refs/heads/main","pushedAt":"2024-05-14T20:46:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"2x Improve how the command \"/markdown\" toggles in chat mode.\n\nMake the new function routine to run as a fork to avoid any possible interference with the main environment.\n\nThis is just out of precation code.\n\n---\n### Commit Message\n\n```\nImprove /markdown command toggle in chat mode; isolate routine in a fork to prevent interference\n```\n\n### Explanation\n\nThis commit message concisely summarizes the key changes made:\n\n1. **\"Improve /markdown command toggle in chat mode\"**: Indicates an enhancement in the handling of the `/markdown` command toggle, specifically targeting its behavior within the chat mode.\n\n2. **\"Isolate routine in a fork to prevent interference\"**: Highlights the introduction of a forked process for the new function routine. This ensures that it runs independently, minimizing the risk of affecting the main environment.\n\n### Developer's Comments\n\nThe diff output shows a modification in the code where the command associated with toggling `/markdown` has been altered:\n\n- The original implementation was:\n ```bash\n ((OPTMD)) || OPTMD=1 cmd_runf //\"${args[@]}\"\n ```\n\n- The new implementation is:\n ```bash\n ((OPTMD)) || (OPTMD=1 cmd_runf //\"${args[@]}\")\n ```\n\nThis change emphasizes the encapsulation of `OPTMD=1 cmd_runf` within a subshell (using parentheses), effectively isolating it and preventing potential disruptions to the primary environment.\n\nBy for(length)","shortMessageHtmlLink":"2x Improve how the command \"/markdown\" toggles in chat mode."}},{"before":"54775f936a7ff7737aeb580cc813059bfd8f466d","after":"097e1a1e48b9770abb77b0559597c7ed325c920b","ref":"refs/heads/main","pushedAt":"2024-05-14T20:28:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve how the command \"/markdown\" toggles in chat mode.\n\nAs I am working with Google-gemini a lot, many of its responses are in markdown, and Ifound it would better if /md can toggle markdown on AND also print the last response in markdown in case this option was not set before.\n\n---\nCertainly! Here's a concise commit message that encapsulates the changes made, along with developer comments:\n\n```\nImprove /markdown toggle and response output\n\nUpdated chatgpt.sh to enhance the /markdown toggle command. If not\npreviously activated, /md now enables markdown and prints the last\nresponse in markdown format.\n\nDeveloper Comments: As I frequently use Google-gemini, which often\nreturns markdown responses, this update allows /md to toggle markdown\non and display the last response if the option wasn't already set.\n```","shortMessageHtmlLink":"Improve how the command \"/markdown\" toggles in chat mode."}},{"before":"4ce10564fb5df8d0029e82e3afbc147c9b1133a3","after":"54775f936a7ff7737aeb580cc813059bfd8f466d","ref":"refs/heads/main","pushedAt":"2024-05-14T17:00:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Minor improvements. Documentation minor improvement.\n\nAfter dumping an URL text in chat with \"!url [url]\", when asked if user wants to edit buffer, TAB and SPACE will also lead to text editor, and ESC will skip editing, going to request.\n\n---\nHere is a concise commit message that includes important changes made to the `bash chatgpt.sh` script:\n\n```\nUpdate chatgpt.sh script\n\n- Updated version to v0.57.14\n- Rearranged API keys for better clarity\n- Enhanced buffer edit prompt:\n - TAB and SPACE now lead to text editor\n - ESC skips editing and proceeds to request\n- Minor documentation improvements\n```\n\nThis commit message captures the essence of the changes made without omitting any critical pieces of information.","shortMessageHtmlLink":"Minor improvements. Documentation minor improvement."}},{"before":"b29dce80897dd93f693e14923e796c41a8910809","after":"4ce10564fb5df8d0029e82e3afbc147c9b1133a3","ref":"refs/heads/main","pushedAt":"2024-05-14T00:03:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve handling the -v (less verbose) option in chat mode.\n\nSet ttsf() function to timeout on 2 seconds to repeat the response playback when less verbose option -v is set in chat mode.\n\nAlso, reset colour after response is print completed\n\n---\nHere is a concise yet descriptive commit message that covers the main changes mentioned in the developer comments and the provided DIFF output:\n\n```\nUpdate chatgpt.sh: Improved -v handling, added ttsf timeout, reset color\n\n- Improved handling of -v (less verbose) option in chat mode.\n- Set ttsf() function to timeout on 2 seconds for response playback when -v.\n- Reset color after response print completion.\n\n# v0.57.13 may/2024 by mountaineerbr GPL+3\n- Adjusted _p_suffixf to include reset.\n- Refined verbose option handling and chat environment checks.\n- Added condition to set var=1 when OPTV is true.\n- Removed unnecessary OPTV assignment in MOD_SPEECH section.\n```","shortMessageHtmlLink":"Improve handling the -v (less verbose) option in chat mode."}},{"before":"92f69f88a7bcb45a38a2abf63e289ae662d1444b","after":"b29dce80897dd93f693e14923e796c41a8910809","ref":"refs/heads/main","pushedAt":"2024-05-13T23:23:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve GoogleAI multimodality with gemini-1.5-pro models.\n\nGoogle gemini-pro-vision cannot accept multi-turn request blocks, whereas gemini-1.5-pro models can.\n\nAdjusting that!\n\nAlso, optimise jq code for recent fix of finish-reson comining with an empty string rather than null from LocalAI and Ollama servers...\n\nMake sure GoogleAi users see error message that URL of images are not supported in any models at the moment. Only if they are stored in Google Cloud, but I dont use that!\n\n---\n**Commit Message:**\n```\nUpdate bash chatgpt.sh script to improve multimodality with gemini-1.5-pro models and optimize jq code\n\nImproved GoogleAI handling by allowing multi-turn requests for gemini-1.5-pro models, which are different compared to gemini-pro-vision. Optimized the jq expression to handle finish-reason coming as an empty string. Added error message for unsupported image URLs in GoogleAI.\n\nComments:\n\n- Adjusted error messages for GoogleAI users on unsupported image URLs.\n- Included gemini-1.5-pro* and multimodal* in model conditions.\n- Refined finish_reason check for recent fix integration.\n\nDetails:\n\nDiff Output:\n\n 3c3\n< # v0.57.11 may/2024 by mountaineerbr GPL+3\n---\n> # v0.57.12 may/2024 by mountaineerbr GPL+3\n902c902\n< \t + if .finish_reason? != \\\"stop\\\" then (if .finish_reason? != null then (if .finish_reason? != \\\"\\\" then red+\\\"(\\\"+.finish_reason+\\\")\\\"+byellow else null end) else null end) else null end,\n(length)","shortMessageHtmlLink":"Improve GoogleAI multimodality with gemini-1.5-pro models."}},{"before":"77d7207f76a8cdca412ae347e70aa084f9a1ed76","after":"92f69f88a7bcb45a38a2abf63e289ae662d1444b","ref":"refs/heads/main","pushedAt":"2024-05-13T18:48:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Add better gpt-4o compatibility.\n\nImprove globs for future \"gpt-4[a-z]\" models, and possibly gpt-5\n\n---\nHere's a concise and complete commit message considering the important changes:\n\n```\nUpdate chatgpt.sh script to v0.57.11: Enhance model compatibility\n\n- Improved glob patterns for gpt-4[a-z]* and future gpt-[5-9]* models.\n- Changed multimodal format in model-name presentation.\n- Improved model checks for GPT versions.\n\nDeveloper notes:\nAdd better gpt-4o compatibility.\nImprove globs for future \"gpt-4[a-z]\" models, and possibly gpt-5.\n```","shortMessageHtmlLink":"Add better gpt-4o compatibility."}},{"before":"0d32c24e6e6b457a9dac80b7d2abb38cc03153d8","after":"77d7207f76a8cdca412ae347e70aa084f9a1ed76","ref":"refs/heads/main","pushedAt":"2024-05-13T18:36:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update to have gpt-4o set maxa model capacity to 128K.\n\nAlso, update Tiktoken to have the new o-token counting...\n\n---\nCommit Message:\n```\nUpdate bash chatgpt.sh to v0.57.10: Set gpt-4o max model capacity to 128K; Update Tiktoken for new o-token counting.\n```\n\nDescription:\n- `bash chatgpt.sh` script is updated to version 0.57.10.\n- Added support for model `gpt-4o` with a maximum capacity of 128,000 tokens by modifying the regex match pattern.\n- Updated Tiktoken functionality to handle the new o-token counting methodology.","shortMessageHtmlLink":"Update to have gpt-4o set maxa model capacity to 128K."}},{"before":"423e62c225ef00210c01d83b3035c0cf79adf613","after":"0d32c24e6e6b457a9dac80b7d2abb38cc03153d8","ref":"refs/heads/main","pushedAt":"2024-05-13T17:22:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Just a small speed improvement in the code for loading image / url on error printing when input has tab substitutions for the shell to perform.\n\n---\nHere is a suggested concise commit message that captures the essence of the changes based on the provided developer's comment and the diff output:\n\n```\nOptimize image/URL error handling in chatgpt.sh by streamlining tab substitution logic\n\n- Bump version from 0.57.8 to 0.57.9.\n- Refine the process of tab substitutions in error printing to improve speed.\n```\n\nThis commit message starts with a brief summary of the change, focusing on the functionality affected (image/URL error handling) and the nature of the improvement (optimization and streamlining). It then succinctly lists the specific changes, including the version increment and a detailed note on the adjustment made for tab substitutions. Such a message is useful in clearly communicating the intent and scope of the update to other developers and stakeholders who may be reviewing the commit history.","shortMessageHtmlLink":"Just a small speed improvement in the code for loading image / url on…"}},{"before":"bf238afda47f4cc3abf283eda184d57d6f5ea302","after":"423e62c225ef00210c01d83b3035c0cf79adf613","ref":"refs/heads/main","pushedAt":"2024-05-13T15:55:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve Whisper options while recoding voice input.\n\nSome features were being tested for a long time, and it should now be time to expose these features to the user.\n\nSo, we can press r while recording to restart recording, w to turn whisper off, and e to edit as text one-shot.\n\nAlso change the error message when using multimodal models and just say multimodal function found an invalid input to load as object, which then will prevent it from trying to continue loading further images / urls from user input..\n\n---\nHere is a concise and informative commit message that highlights significant changes made to the `chatgpt.sh` script based on the diff output provided:\n\n```\nUpdated chatgpt.sh to enhance voice control and error handling\n\n- Incremented version number to v0.57.8\n- Enhanced Whisper mode options, allowing users to toggle whisper by pressing 'w' and reset record using 'r'\n- Introduced editing text via pressing 'e' without breaking recording flow\n- Refined error messages for multimodal function to better handle invalid inputs and prevent unwanted loading of further data\n- Streamlined user interface prompts for recording states\n```\n\nThis commit message accurately summarizes the major modifications including feature additions and improvements to user interactions while clarifying error handling adjustments.","shortMessageHtmlLink":"Improve Whisper options while recoding voice input."}},{"before":"f11d6454cf7a917fb395dba84ee5b9362a4852d8","after":"bf238afda47f4cc3abf283eda184d57d6f5ea302","ref":"refs/heads/main","pushedAt":"2024-05-13T14:34:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve how $REPLY_OLD is set. *Unescape the function json output*.\n\nIf the Continue option -C is set, we will set $REPLY_OLD from the last Question recorded in the history file. This improves using the regenerate response functions when running the script on different history files (sessions from different history files).\n\nNote that we will load the the last Question from the history file even if that is a killed line (starts with a comment \"#\").. This should be a little better than grepping `grep -ve \"^#\"` to get the last uncommented Question entry, I reckon, for some user interface behaviours on regenerate...\n\n---\nCommit Message:\n\n```\nUpdate setting of $REPLY_OLD and enhance JSON output unescaping\n\n- Improve setting of $REPLY_OLD by utilizing the last recorded question from history files, accommodating sessions with different history inputs.\n- Modify JSON output handling by integrating unescape functionality to provide cleaner data processing.\n- Maintain functionality even for lines commented out in session histories, enhancing UI behaviors on regeneration responses.\n```\n\n### Description of the Changes:\n1. The selected code snippet adjustments address both usability improvements and technical enhancements:\n - By changing how `$REPLY_OLD` is set, it allows the script to better manage and utilize previous session data even from commented lines which may be a more optimal approach than filtering out such lines.\n - The addition of an `unescapef function` wrapped around the `hist_lastlinef` output ensures that any special characters or structured data in JSON format are correctly interpreted, improving the robustness of data handling.\n\n2. The version bump in the header from `v0.57.6` to `v0.57.7` indicates a minor revision, appropriate for the scope of changes that refine functionality without introducing major new features.\n\nThis commit message and the corresponding code updates should succinctly convey the essence of the modifications ensuring all significant adjustments(length)","shortMessageHtmlLink":"Improve how $REPLY_OLD is set. *Unescape the function json output*."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXcYOBwA","startCursor":null,"endCursor":null}},"title":"Activity · mountaineerbr/shellChatGPT"}