-
Notifications
You must be signed in to change notification settings - Fork 490
V0.10.0rc #405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
V0.10.0rc #405
Changes from all commits
Commits
Show all changes
100 commits
Select commit
Hold shift + click to select a range
eb94e4d
feat: enhance CodexUsageService to fetch usage data from app-server J…
Shironex fc20dd5
refactor: remove AI profile functionality and related components
webdevcody a3ecc6f
Merge pull request #394 from AutoMaker-Org/remove-profiles
webdevcody 99b05d3
feat: update Codex services and UI components for enhanced model mana…
Shironex c5009a0
refactor: remove Codex credits handling from services and UI components
Shironex 604f98b
chore: ignore .codex/config.toml to prevent API key exposure
Shironex c99883e
fix: address PR review comments
Shironex 36ddf05
Merge pull request #400 from AutoMaker-Org/feat/codex-usage
Shironex 543aa7a
chore: update @modelcontextprotocol/sdk in server dep
Shironex fe433a8
Merge pull request #402 from AutoMaker-Org/fix/security-vulnerability…
Shironex 887343d
Merge branch 'main' into v0.10.0rc
webdevcody 134208d
Merge branch 'v0.10.0rc' of github.com:AutoMaker-Org/automaker into v…
webdevcody a67b8c6
feat: implement dashboard view and enhance sidebar navigation
webdevcody dd88213
refactor: streamline feature addition in BoardView and KanbanBoard
webdevcody 555523d
refactor: remove kanbanCardDetailLevel from settings and UI components
webdevcody e64a850
feat: enhance feature dialogs with planning mode tooltips
Shironex 4040bef
feat: Add OpenCode provider integration with official brand icons
DhanushSantosh 1dc843d
Merge upstream/v0.10.0rc into feature/codex-cli
DhanushSantosh 51cd715
test: Update OpenCode provider tests to use new event format
DhanushSantosh 7cc092c
test: Fix remaining OpenCode provider test failures
DhanushSantosh e34e4a5
fix: Resolve TypeScript error assigning part.result to string field
DhanushSantosh 0c19beb
fix: Set OpenCode icon to official brand color (#6366F1 indigo)
DhanushSantosh fa8ae14
feat: enhance worktree listing by scanning external directories
webdevcody 27c6065
Merge branch 'v0.10.0rc' of github.com:AutoMaker-Org/automaker into v…
webdevcody 427832e
fix: Display correct provider icons for all OpenCode/Bedrock models
DhanushSantosh 360cddc
Merge upstream commits including worktree enhancement
DhanushSantosh 41144ff
Merge recovered upstream commits including worktree enhancement
DhanushSantosh 05d96a7
feat: Implement worktree initialization script functionality
Shironex 89a9606
fix: Improve E2E test workflow for better backend debugging
DhanushSantosh 6c412cd
feat: Add run init script functionality for worktrees
Shironex c24e620
feat: Enhance ShellSyntaxEditor and WorktreesSection with new features
Shironex a92457b
fix: Handle Claude CLI unavailability gracefully in CI
DhanushSantosh aeb5bd8
feat: Add Init Script Indicator visibility feature for worktrees
Shironex e902e8e
feat: Introduce default delete branch option for worktrees
Shironex d98ff16
feat: Enhance CreateWorktreeDialog with user-friendly error handling
Shironex 09527b3
feat: Add auto-dismiss functionality for Init Script Indicator
Shironex 861fff1
fix: broken lock file
Shironex 385e7f5
fix: address pr comments
Shironex 8ed2fa0
security: Fix critical vulnerabilities in worktree init script feature
Shironex 4a59e90
chore: format
Shironex da682e3
feat: add memory management feature with UI components
webdevcody cf3ed1d
Merge branch 'v0.10.0rc' of github.com:AutoMaker-Org/automaker into v…
webdevcody 0db8808
Merge branch 'memory-ui' into v0.10.0rc
webdevcody 7115460
feat: add resume interrupted features endpoint and handler
webdevcody 5f3db1f
feat: enhance spec regeneration management by project
webdevcody 2d4ffc7
feat: add accept all functionality in ideation view
Shironex 7f79d96
feat: Add official icons for MiniMax, GLM (Z.ai), and BigPickle models
DhanushSantosh 9c5fe44
feat: add bulk delete functionality for features
Shironex 317c21f
Merge pull request #413 from AutoMaker-Org/feat/bulk-delete-features-…
Shironex 7522e58
Merge remote-tracking branch 'upstream/v0.10.0rc' into feature/codex-cli
DhanushSantosh 6e4b611
refactor: optimize bulk delete handler and UI feedback
Shironex e171b6a
feat: add empty state card component and integrate AI suggestion func…
Shironex f60c18d
Update apps/ui/src/components/views/board-view/constants.ts
Shironex 8321c06
refactor: extract Enhance with AI into shared components
Shironex 7e5d915
fix: address PR review feedback from Gemini Code Assist
Shironex 41a6c7f
fix: address second round of PR review feedback
Shironex 785a4d2
fix: restore auth and auto-open last project
DhanushSantosh 32656a9
feat: add default IDE setting and multi-editor support with icons
stefandevo ac87594
fix: address code review feedback from PR #423
stefandevo 33dd9ae
fix: address nitpick feedback from PR #423
stefandevo fb3a849
fix: address CodeRabbitAI security and UX review comments
stefandevo 2a98de8
fix: improve cache management and editor fallback handling
stefandevo a4a111f
feat: add pre-enhancement description tracking for feature updates
Shironex a266d85
Merge pull request #421 from AutoMaker-Org/refactor/extract-enhance-w…
Shironex d724e78
fix(ui): restore startup project context
DhanushSantosh a046d12
Merge remote-tracking branch 'upstream/v0.10.0rc' into feature/codex-cli
DhanushSantosh 8b0b565
Merge remote-tracking branch 'origin/v0.10.0rc' into stefandevo/main
Shironex 6d267ce
feat(platform): add cross-platform editor utilities and refresh funct…
Shironex 01cf81a
fix(platform): detect Antigravity CLI aliases
DhanushSantosh 1b9acb1
fix(platform): verify full Xcode installation for xed command
Shironex b9b3695
feat(platform): add VS Code Insiders and Kiro editor support
Shironex cbca9b6
fix: correct Kiro CLI command typo (kido -> kiro)
Shironex 80081b6
fix(platform): remove logger import to avoid circular dependency
Shironex 43fc3de
Merge pull request #423 from stefandevo/main
Shironex a48c67d
refactor: update EmptyStateCard component for improved layout and fun…
Shironex 6e13cdd
Merge branch: resolve conflict in worktree-actions-dropdown.tsx
Shironex 53f5c2b
feat(backlog): add branchName support to apply handler and UI components
Shironex 6638c35
refactor(sidebar): enhance sidebar responsiveness and improve layout
webdevcody 6842e4c
refactor: simplify EmptyStateCard and update empty state configurations
Shironex a4a792c
Merge pull request #416 from AutoMaker-Org/feat/emtpy-columns-enhancm…
Shironex a0669d4
feat(board-view): enhance feature and plan dialogs with worktree bran…
Shironex f41a420
fix: address pr comments
Shironex ed65f70
Merge pull request #409 from AutoMaker-Org/feat/worktrees-init-script
Shironex 6c5206d
feat: add dynamic model discovery and routing for OpenCode provider
stefandevo 5e4b422
fix: improve OpenCode error handling and message extraction
stefandevo e38325c
fix: improve dynamic model icons and fix React reference
stefandevo 70204a2
fix: address code review feedback from gemini-code-assist
stefandevo 20cc401
fix: update enhancement test to include ux-reviewer mode
stefandevo edcc4e7
fix: address CodeRabbitAI review feedback
stefandevo b8531cf
fix: add OpenCode settings to migration for persistence
stefandevo 9f936c6
fix(opencode): parse api-key provider models
DhanushSantosh b152f11
fix(ui): refresh OpenCode models on new providers
DhanushSantosh 0cff4cf
feat(ui): add OpenRouter icon
DhanushSantosh 6184440
fix(ui): tie dynamic models to connected providers
DhanushSantosh 9ce3cfe
feat(opencode): drop bedrock defaults
DhanushSantosh 8094941
feat(opencode): persist dynamic model selection
DhanushSantosh 6020219
fix(opencode): address review feedback
DhanushSantosh cebf57f
Merge pull request #426 from stefandevo/opencode-dynamic-providers
DhanushSantosh f50520c
feat(delete): enhance branch deletion handling and validation
Shironex fbab1d3
test: align app-spec and enhancement mode tests
DhanushSantosh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,7 +37,14 @@ jobs: | |
| git config --global user.email "ci@example.com" | ||
|
|
||
| - name: Start backend server | ||
| run: npm run start --workspace=apps/server & | ||
| run: | | ||
| echo "Starting backend server..." | ||
| # Start server in background and save PID | ||
| npm run start --workspace=apps/server > backend.log 2>&1 & | ||
| SERVER_PID=$! | ||
| echo "Server started with PID: $SERVER_PID" | ||
| echo "SERVER_PID=$SERVER_PID" >> $GITHUB_ENV | ||
|
|
||
| env: | ||
| PORT: 3008 | ||
| NODE_ENV: test | ||
|
|
@@ -53,21 +60,70 @@ jobs: | |
| - name: Wait for backend server | ||
| run: | | ||
| echo "Waiting for backend server to be ready..." | ||
|
|
||
| # Check if server process is running | ||
| if [ -z "$SERVER_PID" ]; then | ||
| echo "ERROR: Server PID not found in environment" | ||
| cat backend.log 2>/dev/null || echo "No backend log found" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Check if process is actually running | ||
| if ! kill -0 $SERVER_PID 2>/dev/null; then | ||
| echo "ERROR: Server process $SERVER_PID is not running!" | ||
| echo "=== Backend logs ===" | ||
| cat backend.log | ||
| echo "" | ||
| echo "=== Recent system logs ===" | ||
| dmesg 2>/dev/null | tail -20 || echo "No dmesg available" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Wait for health endpoint | ||
| for i in {1..60}; do | ||
| if curl -s -f http://localhost:3008/api/health > /dev/null 2>&1; then | ||
| echo "Backend server is ready!" | ||
| curl -s http://localhost:3008/api/health | jq . 2>/dev/null || echo "Health check response: $(curl -s http://localhost:3008/api/health 2>/dev/null || echo 'No response')" | ||
| echo "=== Backend logs ===" | ||
| cat backend.log | ||
| echo "" | ||
| echo "Health check response:" | ||
| curl -s http://localhost:3008/api/health | jq . 2>/dev/null || echo "Health check: $(curl -s http://localhost:3008/api/health 2>/dev/null || echo 'No response')" | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Check if server process is still running | ||
| if ! kill -0 $SERVER_PID 2>/dev/null; then | ||
| echo "ERROR: Server process died during wait!" | ||
| echo "=== Backend logs ===" | ||
| cat backend.log | ||
| exit 1 | ||
| fi | ||
|
|
||
| echo "Waiting... ($i/60)" | ||
| sleep 1 | ||
| done | ||
| echo "Backend server failed to start!" | ||
| echo "Checking server status..." | ||
|
|
||
| echo "ERROR: Backend server failed to start within 60 seconds!" | ||
| echo "=== Backend logs ===" | ||
| cat backend.log | ||
| echo "" | ||
| echo "=== Process status ===" | ||
| ps aux | grep -E "(node|tsx)" | grep -v grep || echo "No node processes found" | ||
| echo "" | ||
| echo "=== Port status ===" | ||
| netstat -tlnp 2>/dev/null | grep :3008 || echo "Port 3008 not listening" | ||
| echo "Testing health endpoint..." | ||
| lsof -i :3008 2>/dev/null || echo "lsof not available or port not in use" | ||
| echo "" | ||
| echo "=== Health endpoint test ===" | ||
| curl -v http://localhost:3008/api/health 2>&1 || echo "Health endpoint failed" | ||
|
|
||
| # Kill the server process if it's still hanging | ||
| if kill -0 $SERVER_PID 2>/dev/null; then | ||
| echo "" | ||
| echo "Killing stuck server process..." | ||
| kill -9 $SERVER_PID 2>/dev/null || true | ||
| fi | ||
|
|
||
| exit 1 | ||
|
|
||
| - name: Run E2E tests | ||
|
|
@@ -81,6 +137,18 @@ jobs: | |
| # Keep UI-side login/defaults consistent | ||
| AUTOMAKER_API_KEY: test-api-key-for-e2e-tests | ||
|
|
||
| - name: Print backend logs on failure | ||
| if: failure() | ||
| run: | | ||
| echo "=== E2E Tests Failed - Backend Logs ===" | ||
| cat backend.log 2>/dev/null || echo "No backend log found" | ||
| echo "" | ||
| echo "=== Process status at failure ===" | ||
| ps aux | grep -E "(node|tsx)" | grep -v grep || echo "No node processes found" | ||
| echo "" | ||
| echo "=== Port status ===" | ||
| netstat -tlnp 2>/dev/null | grep :3008 || echo "Port 3008 not listening" | ||
|
|
||
| - name: Upload Playwright report | ||
| uses: actions/upload-artifact@v4 | ||
| if: always() | ||
|
|
@@ -98,3 +166,13 @@ jobs: | |
| apps/ui/test-results/ | ||
| retention-days: 7 | ||
| if-no-files-found: ignore | ||
|
|
||
| - name: Cleanup - Kill backend server | ||
| if: always() | ||
| run: | | ||
| if [ -n "$SERVER_PID" ]; then | ||
| echo "Cleaning up backend server (PID: $SERVER_PID)..." | ||
| kill $SERVER_PID 2>/dev/null || true | ||
| kill -9 $SERVER_PID 2>/dev/null || true | ||
| echo "Backend server cleanup complete" | ||
| fi | ||
|
Comment on lines
+170
to
+178
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Cleanup should terminate the whole server tree (TERM → wait → KILL), not just the captured PID. Line 173–177: Proposed cleanup (kill process group, graceful first) - name: Cleanup - Kill backend server
if: always()
run: |
if [ -n "$SERVER_PID" ]; then
echo "Cleaning up backend server (PID: $SERVER_PID)..."
- kill $SERVER_PID 2>/dev/null || true
- kill -9 $SERVER_PID 2>/dev/null || true
+ # Kill the whole process group (covers child node/tsx processes).
+ kill -TERM "-$SERVER_PID" 2>/dev/null || true
+ sleep 2
+ kill -KILL "-$SERVER_PID" 2>/dev/null || true
echo "Backend server cleanup complete"
fi🤖 Prompt for AI Agents |
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PID capture may not correspond to the actual server process (npm wrapper vs node) — consider process-group management.
Line 43–46:
$!likely tracks thenpmprocess; killing that PID later may leave the real server running, causing flakes/port conflicts.Proposed hardening (capture process group + quote env file)
- name: Start backend server run: | echo "Starting backend server..." - # Start server in background and save PID - npm run start --workspace=apps/server > backend.log 2>&1 & - SERVER_PID=$! + # Start server in its own process group so cleanup can terminate children too. + setsid npm run start --workspace=apps/server > backend.log 2>&1 & + SERVER_PID=$! # PID == PGID for setsid-launched command echo "Server started with PID: $SERVER_PID" - echo "SERVER_PID=$SERVER_PID" >> $GITHUB_ENV + echo "SERVER_PID=$SERVER_PID" >> "$GITHUB_ENV"📝 Committable suggestion
🤖 Prompt for AI Agents