Commit Graph

81 Commits

Author SHA1 Message Date
insleker cbd0305a39 Merge branch 'feat/copilot' 2026-04-14 14:46:33 +08:00
insleker 5297251e00 feat: ask CLI respond in plain text rather than json 2026-04-14 14:44:30 +08:00
insleker ed94fde9e7 feat: patial copilot support 2026-04-14 12:37:28 +08:00
insleker 035e44998f chore: add post-checkout lefthook 2026-04-14 11:55:00 +08:00
insleker 81d56f999d docs: improve docs of config and readme 2026-04-13 11:26:28 +08:00
insleker 4d2ced2b96 fix: update request body encoding to use utf-8 for JSON payloads 2026-04-13 09:48:57 +08:00
insleker 6931b85682 chore: add hook which check rebased before push 2026-04-12 02:54:59 +08:00
insleker cf908184c7 chore: add python installer script `install.py` 2026-04-11 23:16:54 +08:00
insleker c3789536d8 ci: fix release upload job and add manual dispatch 2026-04-11 21:48:03 +08:00
existedinnettw 1e2852eac4
ci: switch release workflow to Linux cross-compilation (#50)
* ci: cross-compile release assets on Linux

* ci: use OS runners and Linux-only cross-arch builds

* ci: sanitize non-release artifact version tags
2026-04-11 21:31:13 +08:00
existedinnettw e92b8b970c Merge pull request #49 from existedinnettw/feat/webhook_dtor
fix: unregister gosmee webhooks on forced shutdown
2026-04-11 21:03:59 +08:00
insleker a1d0ffe8f3 refactor: deduplicate gosmee event source and test scaffolding 2026-04-11 19:50:27 +08:00
existedinnettw 3eed7772ef
feat: add release workflow and binary installer (#48)
* feat: add multi-arch release workflow and installer
2026-04-11 19:39:32 +08:00
insleker 22f2ad9c9d fix: unregister gosmee webhooks on forced shutdown (#47) 2026-04-11 18:08:45 +08:00
insleker 0e9bd11d5c feat: improve emoji reaction to no-reply comment in issues 2026-04-11 17:28:16 +08:00
insleker da3b15fdd7 feat: improve debug logging 2026-04-11 16:38:58 +08:00
existedinnettw 566c9defa0
Merge pull request #46 from existedinnettw/feat/windows 2026-04-11 15:41:35 +08:00
insleker c55643337c refactor: remove shell-dependent test seams from CLI integration paths
The Windows process launcher no longer needs Bash/PowerShell mediation, and the event-source tests now exercise CLI boundaries through an injectable executor instead of generated scripts. This keeps production behavior on real external commands while letting tests model long-running process streams and kill semantics in Dart.

Constraint: Tests must not mock CLIs by writing generated Dart or shell scripts and executing them.
Rejected: Use generated Dart script fixtures | still depends on subprocess execution for mocks.
Rejected: Use only mocktail mocks for process handles | stream, kill, and exit behavior are clearer as a small stateful fake.
Confidence: high
Scope-risk: moderate
Directive: Keep long-running CLI test behavior behind ExternalCommandExecutor rather than reintroducing script fixtures.
Tested: dart analyze; dart run tool\\validate_gherkin_test_format.dart; dart test
Not-tested: Real gh/gosmee webhook forwarding against live services
2026-04-11 15:36:39 +08:00
insleker 041225b2aa fix: `tea` CLI call hang in windows by replaced it with direct http API called 2026-04-11 05:35:47 +08:00
insleker b14bbe5d0a feat: react to no-reply decisions for issue comments (#43) 2026-04-10 16:06:43 +08:00
insleker 0fb68c886b chore: cleanup deprecated `IssueAssistantEventSourceDocument` 2026-04-10 15:37:02 +08:00
insleker 34330d9b7a fix: stop forcing mention replies (#41)
Stop overriding responder no_reply decisions for mention-triggered comments so automation mentions do not loop indefinitely. Update the default prompt to encourage mention handling without forcing replies and add regression coverage for no_reply mention flows.
2026-04-10 15:37:02 +08:00
insleker cf93e054c3 fix: detect Gitea API error objects before list-casting 2026-04-10 13:12:12 +08:00
existedinnettw 4da82d7d49
Merge pull request #40 from existedinnettw/feat/37
feat: add glab/gosmee GitLab channel support
2026-04-10 11:43:21 +08:00
insleker bf082115ba test: stabilize parallel event-source coverage (#37) 2026-04-10 11:39:54 +08:00
insleker 1790de1f08 feat: add glab/gosmee GitLab channel support (#37) 2026-04-10 11:12:14 +08:00
insleker 19af0bbd1b refactor: improve repo structure 2026-04-10 10:45:48 +08:00
insleker 2bdf75d2ad chore: remove tracking to `lib\src\database.g.dart` 2026-04-10 09:57:21 +08:00
insleker da256d068c fix: infer tracker provider from event source (#38) 2026-04-10 09:55:16 +08:00
existedinnettw f1eea7abd8
Merge pull request #36 from existedinnettw/feat/35
feat: add GitLab tracker and SCM support
2026-04-10 02:32:03 +08:00
insleker d18bbaed88 feat: add GitLab tracker and SCM support (#35)
Add glab-backed GitLab issue polling, login lookup, and comment posting so GitLab projects can be handled alongside GitHub, Gitea, and OpenProject. Also wire GitLab through SCM selection, config defaults, docs, and examples so issue #35 can be configured end to end.
2026-04-10 02:25:06 +08:00
existedinnettw df54c8ec5f
Merge pull request #34 from existedinnettw/feat/32
feat: support OpenProject issue tracker
2026-04-10 01:32:59 +08:00
insleker 58b7d333cb feat: add OpenProject issue tracker support for #32 2026-04-10 01:30:37 +08:00
existedinnettw 11ad744067
Merge pull request #31 from existedinnettw/feat/30
feat: add SCM provider config to projects
2026-04-09 16:10:40 +08:00
insleker c10b55db20 feat: add project scm configuration (#30) 2026-04-09 16:05:42 +08:00
existedinnettw 1c2e7f5e49
Merge pull request #29 from existedinnettw/refactor/layout 2026-04-09 11:40:55 +08:00
insleker 2d5900b118 chore: adjust test files layout 2026-04-09 11:38:38 +08:00
insleker b121a2544b chore: support windows OS 2026-04-09 11:26:35 +08:00
insleker 1b0daff98a feat: load dotenv runtime config for #27
Load .env files beside the selected config so env interpolation, subprocesses, and logger verbosity work without exporting every variable manually.
2026-04-09 01:40:28 +08:00
insleker dd6cdde8a5 chore: stop tracking 2026-04-09 00:28:07 +08:00
existedinnettw 508cbf5913
Merge pull request #26 from existedinnettw/feat/25 2026-04-09 00:12:13 +08:00
insleker 5992ca1810 fix: send GitHub webhook active flag as boolean (#25)
GitHub rejects webhook creation when gh api serializes active as a string. Use a typed field so gh sends a real boolean, and lock the gh/gosmee integration test harness to catch regressions.
2026-04-09 00:08:02 +08:00
existedinnettw 4df29b1508
Merge pull request #24 from existedinnettw/feat/21
Refactor polling config for channel event sources
2026-04-08 22:33:39 +08:00
insleker 5d0fbcc7f9 feat: refactor channel reconciliation config for #21 2026-04-08 22:27:16 +08:00
existedinnettw 479f44e4b4
Merge pull request #23 from existedinnettw/feat/22
feat: switch logging to logger
2026-04-08 22:03:51 +08:00
insleker 9ae02a6f4b feat: switch logging to logger for #22
Replace the plain logging backend with a color-capable logger adapter so CLI output is easier to scan, and add richer gosmee/webhook-forward diagnostics so tracker and forwarding failures can be debugged from logs.
2026-04-08 21:59:47 +08:00
existedinnettw 64901a348a
Merge pull request #20 from existedinnettw/feat/19
feat: add gh/gosmee event source
2026-04-08 20:42:11 +08:00
insleker 0a63cc7e7d refactor: group issue event source tests into a subfolder for #19
Keep the transport-specific run tests alongside each other under test/issue_assistant_app_run to match the source layout and reduce top-level clutter.
2026-04-08 20:37:29 +08:00
insleker 737c62c6d9 refactor: move issue event sources into a subfolder for #19
Group issue event source implementations under lib/src/issue_event_source so the transport-specific files are easier to navigate and extend.
2026-04-08 20:35:03 +08:00
insleker 0d538b962e feat: add gh gosmee event source for #19
Add a GitHub gosmee transport so long-running sessions can use temporary webhooks without the single-forward limitation of gh webhook forward.
2026-04-08 19:45:19 +08:00