Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
dd927de
refactor: modularize forge-app router into domain-specific modules
claude Nov 28, 2025
4c6fb80
chore: update Cargo.lock with version changes
claude Nov 28, 2025
877e28e
feat: add dark mode toggle to navbar
claude Nov 27, 2025
1a38782
feat: add forge cleanup command for stale worktrees
claude Nov 28, 2025
17b4532
fix: address code review feedback for cleanup command
claude Nov 28, 2025
940a93e
feat: add github_issue_id field to tasks for issue tracking
claude Nov 28, 2025
2a342d0
perf: add React.memo to heavy components for performance optimization
claude Nov 27, 2025
a359a55
fix: remove lodash dependency from frontend to reduce bundle size
claude Nov 27, 2025
724b54b
fix: add circular reference protection to isEqual and deepMerge
jmanhype Nov 28, 2025
1e47ea7
fix: re-fetch task after github_issue_id update to prevent stale data
jmanhype Nov 28, 2025
bf6266c
fix: make getResolvedTheme SSR-safe to prevent crashes
jmanhype Nov 28, 2025
8a9e214
fix: add stale data protection to forge_create_task as well
jmanhype Nov 28, 2025
94f4185
Merge PR 258 fixes: circular ref protection + Set deep equality
jmanhype Nov 28, 2025
b6a026f
Merge PR 277 fixes: forge cleanup error handling
jmanhype Nov 28, 2025
43c8f35
Merge PR 280 fixes: stale data protection (both functions)
jmanhype Nov 28, 2025
fafc76e
Merge PR 272 fixes: SSR-safe theme handling
jmanhype Nov 28, 2025
74a273f
chore: update lockfile after initial merges
jmanhype Nov 28, 2025
13ab270
Merge PR 259: React.memo optimization
jmanhype Nov 28, 2025
2057bfb
fix: apply PR 280 github_issue_id fixes to modularized router
jmanhype Nov 28, 2025
decf8c6
fix: Compilation errors in tasks.rs after PR merges
jmanhype Nov 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 36 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions forge-app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ path = "src/main.rs"
name = "generate-forge-types"
path = "src/bin/generate_forge_types.rs"

[[bin]]
name = "forge-cleanup"
path = "src/bin/cleanup.rs"

[lib]
name = "forge_app"
crate-type = ["cdylib", "rlib"]
Expand Down
17 changes: 17 additions & 0 deletions forge-app/build.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
use std::{fs, path::Path};

fn main() {
// macOS framework linking
if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") {
println!("cargo:rustc-link-lib=framework=AppKit");
println!("cargo:rustc-link-lib=framework=Foundation");
}

// Create frontend/dist directory if it doesn't exist
let dist_path = Path::new("../frontend/dist");
if !dist_path.exists() {
println!("cargo:warning=Creating dummy frontend/dist directory for compilation");
fs::create_dir_all(dist_path).unwrap();

// Create a dummy index.html
let dummy_html = r#"<!DOCTYPE html>
<html><head><title>Build frontend first</title></head>
<body><h1>Please build the frontend</h1></body></html>"#;

fs::write(dist_path.join("index.html"), dummy_html).unwrap();
}
}
17 changes: 17 additions & 0 deletions forge-app/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,12 @@ paths:
base_branch:
type: string
example: main
github_issue_id:
type: integer
format: int64
nullable: true
description: GitHub issue ID linking this task to its originating issue (enforces "No Wish Without Issue" rule)
example: 123
required: [task, executor_profile_id, base_branch]
responses:
'200':
Expand Down Expand Up @@ -899,6 +905,11 @@ components:
type: string
format: uuid
nullable: true
github_issue_id:
type: integer
format: int64
nullable: true
description: GitHub issue ID linking this task to its originating issue (enforces "No Wish Without Issue" rule)
created_at:
type: string
format: date-time
Expand Down Expand Up @@ -926,6 +937,12 @@ components:
type: string
format: uuid
nullable: true
github_issue_id:
type: integer
format: int64
nullable: true
description: GitHub issue ID linking this task to its originating issue (enforces "No Wish Without Issue" rule)
example: 123
required: [project_id, title]

UpdateTask:
Expand Down
Loading