{"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":"67823ac7f07665520594c6be172b4bbd6327bb82","after":"08c827975c5f30319f86e15b2a29c3b0fa1eb69d","ref":"refs/heads/main","pushedAt":"2024-06-10T02:36:53.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":"Dont remove leading newlines from stop sequences for chat mode.\n\nThe example I was using came from OpenAI Playground, but it has caused some problems lately in which generation would halt, and the problem is the too short stop sequences \"Q:\" and \"A:\", now they are \"\\nQ:\" and \"\\nA:\".\n\n---\nFix: Stop sequences for chat mode\n\nThis commit fixes an issue where chat generation would halt due to too short stop sequences. The stop sequences \"Q:\" and \"A:\" have been changed to \"\\nQ:\" and \"\\nA:\" to ensure proper generation.","shortMessageHtmlLink":"Dont remove leading newlines from stop sequences for chat mode."}},{"before":"c810f98aa8eced25aa0dd6a600112afbf69327e4","after":"67823ac7f07665520594c6be172b4bbd6327bb82","ref":"refs/heads/main","pushedAt":"2024-06-10T00:45:33.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 improve one line in the last code update.\n\n---\nFix: Correctly pass the FIFO file path to the session\n\nThis commit fixes an issue where the FIFO file path was not being correctly passed to the session. The issue was caused by a missing `$` before `FILEFIFO` in the `session_sub_printf` command. This commit adds the missing `$` to ensure that the correct file path is passed to the session.","shortMessageHtmlLink":"Just improve one line in the last code update."}},{"before":"f5bcb32be2b98eaee45d54c25f794e79546708a9","after":"c810f98aa8eced25aa0dd6a600112afbf69327e4","ref":"refs/heads/main","pushedAt":"2024-06-10T00:36: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":"Optimise start-up time in some circunstances.\n\nOnly preview input prompt tokens when that is not a session nor a chat command. For that, we were able to change the code position in the script so that is only activated when we are certain of user input from the command line.\n\nAlso, move the block of warning and tips with that.\n\nRevert a change in recognising session commands from the command line input I had dome as an experiment but forgot to remove in the last update.\n\n---\nfeat: optimise start-up time\n\nRefactor code to optimise start-up time.\n\nMove token preview to only activate for input from the command line.\n\nMove warnings and tips to the correct place.\n\nRevert a change in recognising session commands from the command line input.","shortMessageHtmlLink":"Optimise start-up time in some circunstances."}},{"before":"5de2d15efaea11f683d306d729c2983a6611d788","after":"f5bcb32be2b98eaee45d54c25f794e79546708a9","ref":"refs/heads/main","pushedAt":"2024-06-10T00:07: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":"Print session context on -C (continue), aglutinate code of session and chat commands.\n\nThe session commands can now be aglutinated with the chat commands becase they dont break the session in a history file before the end of the loop now!\n\nHowever, to kep the old behavior to change to a history file as a positional parameter `/[histfile]` shortcut for `/session [histfile]`, we dont remove the old code.\n\n---\nfeat: aglutinate session and chat commands\n\nThe session commands can now be aglutinated with the chat commands because they don't break the session in a history file before the end of the loop now!\n\nHowever, to keep the old behavior to change to a history file as a positional parameter `/[histfile]` shortcut for `/session [histfile]`, we don't remove the old code.","shortMessageHtmlLink":"Print session context on -C (continue), aglutinate code of session an…"}},{"before":"8c873a1ddb5e11dccc9470cda54a7114d94dd2e2","after":"5de2d15efaea11f683d306d729c2983a6611d788","ref":"refs/heads/main","pushedAt":"2024-06-09T22:44: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":"Optmise _mediachatf() function (in multimodal).\n\nThis function worked with slow bash glob substitutions on long strings only. Now use of sed to speed everything up...\n\n---\nchore(multimodal): Optimize _mediachatf() function\n\nThis commit optimizes the `_mediachatf()` function by using `sed` instead of bash glob substitutions for faster string manipulation. This improves the performance of the multimodal feature.","shortMessageHtmlLink":"Optmise _mediachatf() function (in multimodal)."}},{"before":"60da0a449242a6582146ffb6826f9f183e26930c","after":"8c873a1ddb5e11dccc9470cda54a7114d94dd2e2","ref":"refs/heads/main","pushedAt":"2024-06-09T16:54: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":"Regression: fix retry whisper API request on error.\n\nThe retry mechanism had been restricted since\n\nd4d0b458dd490ba80021f6cfcbde8619473ec552 (gitlab)\n17 February 2024\n\nSo it was not working correctly anymore.\n\nNow it is fixed.\n\n---\nFix: Retry whisper API request on error\n\nThis commit fixes a regression introduced in commit d4d0b458dd490ba80021f6cfcbde8619473ec552 where the retry mechanism for whisper API requests was restricted.","shortMessageHtmlLink":"Regression: fix retry whisper API request on error."}},{"before":"0f84fff9d840048711dd4e94c570551fa8945e77","after":"60da0a449242a6582146ffb6826f9f183e26930c","ref":"refs/heads/main","pushedAt":"2024-06-09T16:05: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":"Regression: fix session management commands\n\nSession management commands (`!session`, `!copy`, and `!fork`),\nwere not working correctly since at least commit\n7b94eab386185cefb5286727e8590582007c9f5e (at gitlab)\non 15 May 2024 at 19:04:30 GMT-3 (3 weeks ago).\n\nThis is due to how the history recording system has changed since the start of this year,\nwhich in retrospective I did not think this refactoring would change almost all\nfunctions dealing with session and history!\n\nI reckon that the change was good because it stopped littering the history file\nwith unecessary buffers but breaking a session now has become much of a larger problem.\n\nAlso, add some more examples of how these commands may be used to copy an older session to the current (tail) session of the history file. Not so straightforwards but the simplest I can think of, anyways.\n\n---\nFix: session management commands\n\nThis commit fixes session management commands (`!session`, `!copy`, and `!fork`), which were broken since commit 7b94eab386185cefb5286727e8590582007c9f5e.\n\nThe issue was caused by changes to the history recording system, which inadvertently broke session management functionality. This commit fixes the issue by restoring the correct behavior.\n\nAdditionally, this commit adds examples of how to copy older sessions to the current session.","shortMessageHtmlLink":"Regression: fix session management commands"}},{"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."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYKftyQA","startCursor":null,"endCursor":null}},"title":"Activity · mountaineerbr/shellChatGPT"}