- Removed explicit language parameter for commit commands
- Introduced language detection and bilingual messages
- Deleted specific Chinese command file for streamlined approach
- Add validation for content length before sending to LLM
- Display an error message if the modified content exceeds the model's length limit
- Exit the program if the content length exceeds the limit
- Refactored language_prompt to handle Chinese characters
- Updated model_token_limit_error message formatting
- Modified function signature for chat_completion_stream
- Updated commit/command.yml to use "en" language code
- Updated commit/commit.py to handle model's maximum context length error
- Updated commit/zh/command.yml to use "zh" language code
- Updated libs/llm_api/openai.py to ignore tokens limit error
Closesdevchat-ai/devchat#189
- Added a letter before each modified file to indicate the modification status
- Updated the workflow to display file deletion flag in 'Staged' files
- Fixed the issue where staged files did not display the git status
- Change error message when no files to commit are found
- Update commit aborted message to be more explicit
- Improve user experience by providing helpful warnings
- Form and TextEditor classes now accept submit_button_name and cancel_button_name
- Widget's chatmark header updated with customizable submit and cancel labels
- Adjusted initialization of Checkbox and Radio classes with button label parameters
- Ensure the commit prompt correctly handles when no files are staged
- Clean up excessive whitespace in code for readability
- Simplify the creation of the Form object by removing unnecessary newlines
- Fix variable naming consistency in get_marked_files
- Ensure selections are stored even when unstaged file list is empty
- Combine staged and unstaged files correctly to avoid errors
- Omit displaying emptiness for staged and unstaged file sections
- Use conditional checks to append file lists and checkboxes
- Ensure selections are retrieved even if no files are staged/unstaged
- Update print statements for Step 1/2 and Step 2/2 in commit.py
- Modify the formatting for better readability in the code
- Ensure consistent use of escape characters for line breaks
- Simplify and clarify user prompts and output messages
- Remove unnecessary print statements and text
- Handle commit abort and errors more gracefully
- Improve error logging in OpenAI chat stream handler
- Added function to extract the first Markdown code block from the given text
- Updated the get_current_branch function to include the current repo branch name in the user input
- Enhanced the commit message generation process by extracting the markdown block content
- Updated the prompt_commit_message_by_diff_user_input_llm_config to use the "gpt-3.5-turbo-1106" model
- Refactored the print statement in the display_commit_message_and_commit function for better readability
- Updated llm_api import to chat_completion_stream
- Updated llm_api config with environment variable
- Improved user prompt for file selection
- Revised user message for commit editing
- Enhanced user guidance in main function
- Updated import from `chat_completion_no_stream` to `chat_completion_stream`
- Updated requirements file name from `requirements.txt` to `requirements-test.txt`
- Renamed requirements file in `run.sh` from `requirements.txt` to `requirements-test.txt`
- Update commit message description to provide guidance on writing a well-formatted commit message for selected code changes and committing them via Git. Include an issue number if desired (e.g., input "/commit to close#12").
- Update commit message description in Chinese to provide guidance on generating a well-formatted submission message for the selected code changes and committing them via Git. If necessary, it can include the corresponding issue number (e.g., input "/commit to close#12").
- Remove unused List import from typing module
- Reformat Checkbox and Form instantiation for clearer code structure
- Enhance step description in the commit process output
- Replace ui_utils with chatmark module for better UX in file selection
- Implement TextEditor class to handle commit message editing
- Switch from ui_checkbox_select to Checkbox and Form classes for file staging
- Add run.sh to configure and run test environment
- Ensure Node.js and Python 3 are installed before proceeding
- Install JavaScript and Python dependencies and run test cases
- Remove the 'Closes #IssueNumber' placeholder in the commit message
- Ensure commit messages are generated without closing reference by default
- Implement code to strip the specific placeholder text
- Reformatted multiline strings for clarity in commit.py
- Applied consistent quotation marks for string literals in commit.py
- Introduced newlines between rpc_call decorator functions in services.py
- Enhance read_prompt_from_file with a detailed docstring
- Specify parameters, return type, and possible raised exceptions
- Improve function's usability and maintainability with clear documentation
- Added a new file `diffCommitMessagePrompt.txt` that provides guidelines for creating commit messages based on the provided diff.
- The guidelines include the structure of the commit message, summary of changes, and optional closing reference.
- The commit message should adhere to best practices, such as keeping the title under 50 characters and each summary line under 72 characters.
- Removed unused imports and updated file reading functionality
- Set prompt from the diffCommitMessagePrompt.txt file
- Added error handling for file not found and reading exceptions
- Removed unused functions `gpt_file_summary`, `gpt_file_group`, `get_file_summaries`, `get_file_summaries_and_groups`, `get_marked_files`, `generate_commit_message_base_file_summaries`
- Updated function `get_marked_files` to accept only `modified_files` and `staged_files`
- Updated function `generate_commit_message_base_diff` to provide a more descriptive start message for the commit workflow