Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
516bafa
docs: replace hardcoded image SHA with :latest in README (#208)
chaodu-agent Apr 11, 2026
8831890
feat: resize and compress images before base64 encoding (#210)
chaodu-agent Apr 11, 2026
3e7f39d
release: v0.6.5-beta.1 (#211)
openab-app[bot] Apr 11, 2026
668219d
release: v0.6.5 (#221)
openab-app[bot] Apr 11, 2026
48299a5
fix: dedupe tool call display by toolCallId and sanitize titles (#138)
marvin-69-jpg Apr 11, 2026
794d7c8
fix: prevent Discord message fragmentation during streaming (fixes #8…
Apr 11, 2026
3489d74
release: v0.6.6-beta.1 (#222)
openab-app[bot] Apr 11, 2026
8a9924a
release: v0.6.6 (#223)
openab-app[bot] Apr 11, 2026
45f8b9d
feat: support voice message STT (Speech-to-Text) for Discord (#225)
chaodu-agent Apr 11, 2026
3d6951c
release: v0.6.7-beta.1 (#226)
openab-app[bot] Apr 11, 2026
41d052c
helm: add first-class STT config to chart (#228)
chaodu-agent Apr 11, 2026
a94000a
release: v0.6.8-beta.1 (#229)
openab-app[bot] Apr 11, 2026
8fbbcc5
release: v0.7.0 (#230)
openab-app[bot] Apr 11, 2026
c3d7a58
release: v0.7.0-beta.1 (#231)
openab-app[bot] Apr 11, 2026
d553ed9
fix: remove hardcoded image.tag to use Chart.AppVersion (#239)
JARVIS-coding-Agent Apr 12, 2026
0c58668
release: v0.7.1-beta.1 (#248)
openab-app[bot] Apr 12, 2026
13cc314
release: v0.7.1 (#249)
openab-app[bot] Apr 12, 2026
6d079d1
fix(acp): implement dynamic permission selection and outcome wrapper …
chenjian-agent Apr 13, 2026
9f49d1f
docs: optimize README — keep minimal quick start, move agent guides t…
chaodu-agent Apr 13, 2026
46761c4
release: v0.7.2-beta.1 (#267)
openab-app[bot] Apr 13, 2026
6e52dd7
feat: add GitHub Copilot CLI support (#265)
chaodu-agent Apr 13, 2026
d5993f2
fix: release-pr auto-bump now increments beta instead of bumping patc…
chaodu-agent Apr 13, 2026
c67401c
release: v0.7.2-beta.2 (#274)
openab-app[bot] Apr 13, 2026
4719839
ci: add Dockerfile.copilot to build matrix (#276)
chaodu-agent Apr 13, 2026
d268c60
release: v0.7.2-beta.3 (#277)
openab-app[bot] Apr 13, 2026
025d19a
release: v0.7.2 (#278)
openab-app[bot] Apr 13, 2026
d244a6e
feat: update issue templates and add completeness check workflow (#202)
ChunHao-dev Apr 13, 2026
920ae7e
feat: Add markdown table conversion pipeline with pulldown-cmark (#180)
JARVIS-coding-Agent Apr 13, 2026
b41b71c
chore: bump chart to 0.7.3-beta.56 (#279)
openab-app[bot] Apr 13, 2026
fce63a9
Revert "feat: Add markdown table conversion pipeline with pulldown-cm…
thepagent Apr 13, 2026
7193372
Merge pull request #284 from openabdev/revert/pr-180
thepagent Apr 13, 2026
f42e177
Revert "chore: bump chart to 0.7.3-beta.56 (#279)"
chaodu-agent Apr 13, 2026
37afa15
Merge pull request #303 from chaodu-agent/revert/chart-bump-b41b71c
thepagent Apr 13, 2026
2d89dce
release: v0.7.3-beta.1
openab-app[bot] Apr 13, 2026
e989d82
Merge pull request #308 from openabdev/release/v0.7.3-beta.1
thepagent Apr 13, 2026
a021a42
fix: process group kill + session suspend/resume via session/load
Apr 13, 2026
cd26be9
fix: remove no-op stdin.clone() drop in kill_process_group
Apr 13, 2026
1866a11
fix: address review feedback — lock ordering, pid safety, SIGKILL rel…
Apr 13, 2026
fe160ff
Merge pull request #310 from chaodu-agent/fix/session-pool-process-gr…
thepagent Apr 13, 2026
c5bfbe8
release: v0.7.3-beta.2
openab-app[bot] Apr 13, 2026
5f21b43
Merge pull request #311 from openabdev/release/v0.7.3-beta.2
thepagent Apr 13, 2026
fca740d
release: v0.7.3
openab-app[bot] Apr 14, 2026
ac5a8a5
Merge pull request #317 from openabdev/release/v0.7.3
thepagent Apr 14, 2026
4115f19
feat: add allow_bot_messages config (off/mentions/all)
chaodu-agent Apr 14, 2026
9ca3afb
docs: add bot-to-bot communication section to multi-agent.md
chaodu-agent Apr 14, 2026
7e88199
fix: pin CLI versions in all Dockerfiles using ARG for reproducible b…
chaodu-agent Apr 14, 2026
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
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,15 @@ body:
description: What did you expect to happen?
validations:
required: true
- type: textarea
attributes:
label: Environment
description: "OS, browser, Node version, or any relevant environment info"
validations:
required: false
- type: textarea
attributes:
label: Screenshots / Logs
description: Any screenshots or error logs that might help
validations:
required: false
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Documentation
description: Report a documentation issue or request new documentation
labels: [documentation, needs-triage]
body:
- type: textarea
attributes:
label: Description
description: What's wrong or missing in the documentation?
validations:
required: true
- type: textarea
attributes:
label: Suggested Change
description: How do you think it should be improved?
validations:
required: false
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,9 @@ body:
description: Why do you need this?
validations:
required: true
- type: textarea
attributes:
label: Proposed Solution
description: Do you have any ideas on how this could be implemented?
validations:
required: false
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/guidance.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Guidance
description: Ask a question or request guidance
description: Ask a question, request guidance, or report something you're unsure about
labels: [guidance, needs-triage]
body:
- type: textarea
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ jobs:
- { suffix: "-codex", dockerfile: "Dockerfile.codex", artifact: "codex" }
- { suffix: "-claude", dockerfile: "Dockerfile.claude", artifact: "claude" }
- { suffix: "-gemini", dockerfile: "Dockerfile.gemini", artifact: "gemini" }
- { suffix: "-copilot", dockerfile: "Dockerfile.copilot", artifact: "copilot" }
platform:
- { os: linux/amd64, runner: ubuntu-latest }
- { os: linux/arm64, runner: ubuntu-24.04-arm }
Expand Down Expand Up @@ -129,6 +130,7 @@ jobs:
- { suffix: "-codex", artifact: "codex" }
- { suffix: "-claude", artifact: "claude" }
- { suffix: "-gemini", artifact: "gemini" }
- { suffix: "-copilot", artifact: "copilot" }
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down Expand Up @@ -176,6 +178,7 @@ jobs:
- { suffix: "-codex" }
- { suffix: "-claude" }
- { suffix: "-gemini" }
- { suffix: "-copilot" }
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
122 changes: 122 additions & 0 deletions .github/workflows/issue-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Issue Completeness Check

on:
issues:
types: [opened, edited]

concurrency:
group: issue-check-${{ github.event.issue.number }}
cancel-in-progress: true

jobs:
check:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const body = issue.body || '';
const labels = issue.labels.map(l => l.name);
const marker = '<!-- openab-issue-check -->';

const rules = {
bug: ['Description', 'Steps to Reproduce', 'Expected Behavior'],
feature: ['Description', 'Use Case'],
documentation: ['Description'],
guidance: ['Question']
};

const type = Object.keys(rules).find(k => labels.includes(k));

// Find old check comment
const comments = await github.rest.issues.listComments({
...context.repo,
issue_number: issue.number
});
const old = comments.data.find(c => c.body.includes(marker));

if (!type) {
// No template label — skip if already flagged
if (old && labels.includes('incomplete')) return;

const msg = `${marker}\n⚠️ Could not detect an issue template. Please make sure this issue was created using one of the available templates and that the corresponding label (\`bug\`, \`feature\`, \`documentation\`, \`guidance\`) is present.\n\nAvailable templates: Bug Report, Feature Request, Documentation, Guidance`;

if (old) {
await github.rest.issues.deleteComment({
...context.repo,
comment_id: old.id
});
}
await github.rest.issues.createComment({
...context.repo,
issue_number: issue.number,
body: msg
});

if (!labels.includes('incomplete')) {
await github.rest.issues.addLabels({
...context.repo,
issue_number: issue.number,
labels: ['incomplete', 'needs-triage']
});
}
return;
}

const missing = rules[type].filter(field => {
const regex = new RegExp(
`###\\s*${field.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\s*\\n+([\\s\\S]*?)(?=\\n*###|$)`
);
const match = body.match(regex);
if (!match) return true;
const content = match[1].trim();
return !content || content === '_No response_';
});

if (missing.length > 0) {
const list = missing.map(f => `- [ ] **${f}**`).join('\n');
const msg = `${marker}\n⚠️ This issue is missing the following required information and will not be processed until completed:\n\n${list}\n\nPlease edit this issue to fill in the missing fields. Thank you!\n\n> **Note:** Please do not modify the section headings (\`### ...\`) as they are used for automated validation.`;

// Delete old, create new (so user gets notified)
if (old) {
await github.rest.issues.deleteComment({
...context.repo,
comment_id: old.id
});
}
await github.rest.issues.createComment({
...context.repo,
issue_number: issue.number,
body: msg
});

if (!labels.includes('incomplete')) {
await github.rest.issues.addLabels({
...context.repo,
issue_number: issue.number,
labels: ['incomplete', 'needs-triage']
});
}
} else {
// All filled: remove comment + label
if (old) {
await github.rest.issues.deleteComment({
...context.repo,
comment_id: old.id
});
}
if (labels.includes('incomplete')) {
try {
await github.rest.issues.removeLabel({
...context.repo,
issue_number: issue.number,
name: 'incomplete'
});
} catch (e) {
if (e.status !== 404) throw e;
}
}
}
19 changes: 12 additions & 7 deletions .github/workflows/release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,18 @@ jobs:
else
CURRENT=$(grep '^version:' charts/openab/Chart.yaml | awk '{print $2}')
BASE="${CURRENT%%-*}"
IFS='.' read -r major minor patch <<< "$BASE"
case "${{ inputs.bump }}" in
major) major=$((major + 1)); minor=0; patch=0 ;;
minor) minor=$((minor + 1)); patch=0 ;;
patch) patch=$((patch + 1)) ;;
esac
VERSION="${major}.${minor}.${patch}-beta.1"
if [[ "$CURRENT" == *-beta.* ]]; then
BETA_NUM="${CURRENT##*-beta.}"
VERSION="${BASE}-beta.$((BETA_NUM + 1))"
else
IFS='.' read -r major minor patch <<< "$BASE"
case "${{ inputs.bump }}" in
major) major=$((major + 1)); minor=0; patch=0 ;;
minor) minor=$((minor + 1)); patch=0 ;;
patch) patch=$((patch + 1)) ;;
esac
VERSION="${major}.${minor}.${patch}-beta.1"
fi
fi
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "::notice::Release version: ${VERSION}"
Expand Down
Loading