mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-03 08:53:36 +00:00
feat: move "Report Bug / Feature Request" button to header for improved accessibility
- Relocated the button from the bottom sidebar to the header next to the AutoMaker logo. - Updated the button to be a compact icon-only version with a tooltip on hover. - Adjusted the header layout to accommodate the new button placement. - Removed the old button from the sidebar to streamline the UI.
This commit is contained in:
@@ -10,5 +10,29 @@
|
||||
"role": "assistant",
|
||||
"content": "Hello! This is a test response. I'm working correctly and ready to help you with your software development projects.\n\nIs there something specific you'd like to work on today? I can help you with:\n\n- **Planning a new project** - Define requirements, architecture, and technical approach\n- **Writing code** - Create new files, implement features, or build components\n- **Editing existing code** - Modify, refactor, or fix bugs in your codebase\n- **Running commands** - Execute tests, builds, or other terminal commands\n- **Exploring your codebase** - Search for patterns, understand existing code structure\n\nJust let me know what you need!",
|
||||
"timestamp": "2025-12-12T07:12:14.075Z"
|
||||
},
|
||||
{
|
||||
"id": "msg_1765524006202_3d2cuya6b",
|
||||
"role": "user",
|
||||
"content": "test",
|
||||
"timestamp": "2025-12-12T07:20:06.202Z"
|
||||
},
|
||||
{
|
||||
"id": "msg_1765524011389_sdfbuai3k",
|
||||
"role": "assistant",
|
||||
"content": "Hello! I'm here to help you build software. How can I assist you today?\n\nI can help you with:\n\n- **Planning** - Define requirements, discuss architecture, and design your project\n- **Coding** - Write, edit, and modify code files\n- **Debugging** - Analyze issues and fix bugs\n- **Testing** - Run tests and verify functionality\n- **Exploring** - Search and understand existing codebases\n\nWhat would you like to work on?",
|
||||
"timestamp": "2025-12-12T07:20:11.389Z"
|
||||
},
|
||||
{
|
||||
"id": "msg_1765524491273_7ocghnbb5",
|
||||
"role": "user",
|
||||
"content": "test",
|
||||
"timestamp": "2025-12-12T07:28:11.273Z"
|
||||
},
|
||||
{
|
||||
"id": "msg_1765524498237_x8b4148gc",
|
||||
"role": "assistant",
|
||||
"content": "Hello! I'm here to help you build software. How can I assist you today?\n\nI can help you with:\n- **Planning** - Define requirements, architecture, and technical approaches\n- **Coding** - Write, edit, and modify code files\n- **Debugging** - Find and fix issues in your codebase\n- **Testing** - Run tests and help improve test coverage\n- **Exploring** - Search and analyze your existing codebase\n\nWhat would you like to work on?",
|
||||
"timestamp": "2025-12-12T07:28:18.237Z"
|
||||
}
|
||||
]
|
||||
@@ -5,6 +5,6 @@
|
||||
"projectPath": "/Users/webdevcody/Workspace/automaker",
|
||||
"workingDirectory": "/Users/webdevcody/Workspace/automaker",
|
||||
"createdAt": "2025-12-12T07:12:04.582Z",
|
||||
"updatedAt": "2025-12-12T07:12:14.382Z"
|
||||
"updatedAt": "2025-12-12T07:28:18.571Z"
|
||||
}
|
||||
}
|
||||
@@ -80,6 +80,7 @@ export function createSetupRoutes(): Router {
|
||||
// Not in PATH, try common locations
|
||||
const commonPaths = [
|
||||
path.join(os.homedir(), ".local", "bin", "claude"),
|
||||
path.join(os.homedir(), ".claude", "local", "claude"),
|
||||
"/usr/local/bin/claude",
|
||||
path.join(os.homedir(), ".npm-global", "bin", "claude"),
|
||||
];
|
||||
@@ -90,6 +91,14 @@ export function createSetupRoutes(): Router {
|
||||
cliPath = p;
|
||||
installed = true;
|
||||
method = "local";
|
||||
|
||||
// Get version from this path
|
||||
try {
|
||||
const { stdout: versionOut } = await execAsync(`"${p}" --version`);
|
||||
version = versionOut.trim();
|
||||
} catch {
|
||||
// Version command might not be available
|
||||
}
|
||||
break;
|
||||
} catch {
|
||||
// Not found at this path
|
||||
@@ -110,10 +119,55 @@ export function createSetupRoutes(): Router {
|
||||
// Additional fields for detailed status
|
||||
oauthTokenValid: false,
|
||||
apiKeyValid: false,
|
||||
hasCliAuth: false,
|
||||
hasRecentActivity: false,
|
||||
};
|
||||
|
||||
// Check for credentials file (OAuth tokens from claude login)
|
||||
const credentialsPath = path.join(os.homedir(), ".claude", "credentials.json");
|
||||
const claudeDir = path.join(os.homedir(), ".claude");
|
||||
|
||||
// Check for recent Claude CLI activity - indicates working authentication
|
||||
// The stats-cache.json file is only populated when the CLI is working properly
|
||||
const statsCachePath = path.join(claudeDir, "stats-cache.json");
|
||||
try {
|
||||
const statsContent = await fs.readFile(statsCachePath, "utf-8");
|
||||
const stats = JSON.parse(statsContent);
|
||||
|
||||
// Check if there's any activity (which means the CLI is authenticated and working)
|
||||
if (stats.dailyActivity && stats.dailyActivity.length > 0) {
|
||||
auth.hasRecentActivity = true;
|
||||
auth.hasCliAuth = true;
|
||||
auth.authenticated = true;
|
||||
auth.method = "cli_authenticated";
|
||||
}
|
||||
} catch {
|
||||
// Stats file doesn't exist or is invalid
|
||||
}
|
||||
|
||||
// Check for settings.json - indicates CLI has been set up
|
||||
const settingsPath = path.join(claudeDir, "settings.json");
|
||||
try {
|
||||
await fs.access(settingsPath);
|
||||
// If settings exist but no activity, CLI might be set up but not authenticated
|
||||
if (!auth.hasCliAuth) {
|
||||
// Try to check for other indicators of auth
|
||||
const sessionsDir = path.join(claudeDir, "projects");
|
||||
try {
|
||||
const sessions = await fs.readdir(sessionsDir);
|
||||
if (sessions.length > 0) {
|
||||
auth.hasCliAuth = true;
|
||||
auth.authenticated = true;
|
||||
auth.method = "cli_authenticated";
|
||||
}
|
||||
} catch {
|
||||
// Sessions directory doesn't exist
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
// Settings file doesn't exist
|
||||
}
|
||||
|
||||
// Check for credentials file (OAuth tokens from claude login) - legacy/alternative auth
|
||||
const credentialsPath = path.join(claudeDir, "credentials.json");
|
||||
try {
|
||||
const credentialsContent = await fs.readFile(credentialsPath, "utf-8");
|
||||
const credentials = JSON.parse(credentialsContent);
|
||||
|
||||
Reference in New Issue
Block a user