Skip to content

Commit 7d6f53d

Browse files
authored
Merge pull request #156 from dwash96/v0.88.20
V0.88.20
2 parents a67f75b + 0608525 commit 7d6f53d

7 files changed

Lines changed: 71 additions & 8 deletions

File tree

aider/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from packaging import version
22

3-
__version__ = "0.88.19.dev"
3+
__version__ = "0.88.20.dev"
44
safe_version = __version__
55

66
try:

aider/commands.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,9 +1257,9 @@ async def cmd_exit(self, args):
12571257
except Exception:
12581258
sys.exit()
12591259

1260-
def cmd_quit(self, args):
1260+
async def cmd_quit(self, args):
12611261
"Exit the application"
1262-
self.cmd_exit(args)
1262+
await self.cmd_exit(args)
12631263

12641264
def cmd_context_management(self, args=""):
12651265
"Toggle context management for large files"

aider/helpers/similarity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def create_bigram_vector(texts):
7979
chars = np.array(list(text_lower))
8080

8181
# Create bigrams by combining consecutive characters
82-
bigrams = np.core.defchararray.add(chars[:-1], chars[1:])
82+
bigrams = np.char.add(chars[:-1], chars[1:])
8383

8484
# Filter only alphabetic bigrams
8585
mask = np.array([bg.isalpha() for bg in bigrams])

aider/io.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ def __init__(
154154
self.command_completions = dict()
155155
if commands:
156156
self.command_names = self.commands.get_commands()
157+
else:
158+
self.command_names = []
157159

158160
for rel_fname in addable_rel_fnames:
159161
self.words.add(rel_fname)

aider/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
from aider.models import ModelSettings
3838
from aider.onboarding import offer_openrouter_oauth, select_default_model
3939
from aider.repo import ANY_GIT_ERROR, GitRepo
40-
from aider.report import report_uncaught_exceptions
40+
from aider.report import report_uncaught_exceptions, set_args_error_data
4141
from aider.versioncheck import check_version, install_from_main_branch, install_upgrade
4242
from aider.watch import FileWatcher
4343

@@ -576,6 +576,7 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
576576

577577
# Parse again to include any arguments that might have been defined in .env
578578
args = parser.parse_args(argv)
579+
set_args_error_data(args)
579580

580581
if args.debug:
581582
global log_file

aider/report.py

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
from aider.urls import github_issues
1111
from aider.versioncheck import VERSION_CHECK_FNAME
1212

13+
# Global variable to store resolved args data for error reporting
14+
resolved_args_data = None
15+
1316
FENCE = "`" * 3
1417

1518

@@ -34,6 +37,54 @@ def get_git_info():
3437
return "Git information unavailable"
3538

3639

40+
def format_args_for_reporting(args):
41+
"""
42+
Format args data for error reporting, removing sensitive keys and collapsing MCP servers.
43+
"""
44+
if not args:
45+
return "No args data available"
46+
47+
# Create a copy of the args namespace as a dictionary
48+
args_dict = vars(args).copy()
49+
50+
# Remove any keys containing "key" (case insensitive)
51+
keys_to_remove = [key for key in args_dict.keys() if "key" in key.lower()]
52+
for key in keys_to_remove:
53+
args_dict.pop(key, None)
54+
55+
# Handle mcp_servers - collapse into just a list of server names
56+
if "mcp_servers" in args_dict:
57+
mcp_servers = args_dict["mcp_servers"]
58+
if isinstance(mcp_servers, str):
59+
try:
60+
import json
61+
62+
config = json.loads(mcp_servers)
63+
if "mcpServers" in config:
64+
server_names = list(config["mcpServers"].keys())
65+
args_dict["mcp_servers"] = server_names
66+
except (json.JSONDecodeError, AttributeError):
67+
# If parsing fails, keep the original value
68+
pass
69+
70+
# Format the output line by line
71+
lines = ["Configuration:"]
72+
for key, value in sorted(args_dict.items()):
73+
lines.append(f"{key}: {value}")
74+
75+
return "\n".join(lines)
76+
77+
78+
def get_args_error_data():
79+
global resolved_args_data
80+
return resolved_args_data
81+
82+
83+
def set_args_error_data(args):
84+
global resolved_args_data
85+
resolved_args_data = args
86+
87+
3788
def report_github_issue(issue_text, title=None, confirm=True):
3889
"""
3990
Compose a URL to open a new GitHub issue with the given text prefilled,
@@ -50,9 +101,18 @@ def report_github_issue(issue_text, title=None, confirm=True):
50101
python_info = get_python_info() + "\n"
51102
os_info = get_os_info() + "\n"
52103
git_info = get_git_info() + "\n"
104+
args_info = format_args_for_reporting(get_args_error_data()) + "\n"
53105

54106
system_info = (
55-
version_info + python_version + platform_info + python_info + os_info + git_info + "\n"
107+
version_info
108+
+ python_version
109+
+ platform_info
110+
+ python_info
111+
+ os_info
112+
+ git_info
113+
+ "\n"
114+
+ args_info
115+
+ "\n"
56116
)
57117

58118
issue_text = system_info + issue_text

aider/versioncheck.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async def install_upgrade(io, latest_version=None):
3232
"""
3333

3434
if latest_version:
35-
new_ver_text = f"Newer aider version v{latest_version} is available."
35+
new_ver_text = f"Newer aider-ce version v{latest_version} is available."
3636
else:
3737
new_ver_text = "Install latest version of aider?"
3838

@@ -50,7 +50,7 @@ async def install_upgrade(io, latest_version=None):
5050
io,
5151
None,
5252
new_ver_text,
53-
["aider-chat"],
53+
["aider-ce"],
5454
self_update=True,
5555
)
5656

0 commit comments

Comments
 (0)