5a12718566
Merge pull request 'fix(test): await async data in auditLog test' ( #51 ) from fix/audit-log-test into master
Auto Tag / autotag (push) Successful in 15s
Auto Tag / wiki-sync (push) Successful in 15s
Test / rust-fmt-check (push) Successful in 1m4s
Test / frontend-typecheck (push) Successful in 1m22s
Auto Tag / changelog (push) Successful in 53s
Test / frontend-tests (push) Successful in 1m29s
Test / rust-clippy (push) Successful in 8m5s
Test / rust-tests (push) Successful in 11m30s
Auto Tag / build-linux-amd64 (push) Successful in 16m13s
Auto Tag / build-linux-arm64 (push) Successful in 17m54s
Auto Tag / build-windows-amd64 (push) Successful in 18m51s
Auto Tag / build-macos-arm64 (push) Failing after 11m59s
2026-04-20 01:21:55 +00:00
Shaun Arman
4a0c7957ec
fix(test): await async data in auditLog test to prevent race condition
Test / rust-fmt-check (pull_request) Successful in 1m11s
Test / frontend-typecheck (pull_request) Successful in 1m23s
Test / frontend-tests (pull_request) Successful in 1m33s
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
2026-04-19 20:21:37 -05:00
12a76b4dd8
chore: update CHANGELOG.md for v0.2.66 [skip ci]
2026-04-20 00:47:35 +00:00
Shaun Arman
0e6fd09455
chore: retrigger auto-tag pipeline
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 5s
Auto Tag / changelog (push) Successful in 51s
Test / rust-fmt-check (push) Successful in 1m10s
Test / frontend-typecheck (push) Successful in 1m28s
Test / frontend-tests (push) Failing after 1m38s
Auto Tag / build-macos-arm64 (push) Successful in 4m18s
Test / rust-clippy (push) Successful in 7m56s
Test / rust-tests (push) Has been cancelled
Auto Tag / build-linux-amd64 (push) Successful in 19m44s
Auto Tag / build-linux-arm64 (push) Successful in 22m7s
Auto Tag / build-windows-amd64 (push) Successful in 23m18s
2026-04-19 19:46:34 -05:00
Shaun Arman
b7f348bf34
chore: retrigger build pipeline
2026-04-19 19:42:39 -05:00
Shaun Arman
7234704636
chore: trigger build pipeline
2026-04-19 19:40:02 -05:00
06b0c10b17
Merge pull request 'docs: add v0.2.66 changelog entry' ( #50 ) from chore/trigger-build-2 into master
2026-04-20 00:34:55 +00:00
Shaun Arman
ab231b6564
docs: add v0.2.66 changelog entry
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
2026-04-19 19:33:52 -05:00
8b828fe4c3
Merge pull request 'docs: clarify changelog exclusion criteria' ( #49 ) from chore/trigger-build into master
...
Reviewed-on: #49
2026-04-20 00:29:55 +00:00
Shaun Arman
27193c91e6
docs: clarify changelog exclusion criteria
Test / rust-fmt-check (pull_request) Successful in 1m5s
Test / frontend-typecheck (pull_request) Successful in 1m15s
Test / frontend-tests (pull_request) Successful in 1m22s
PR Review Automation / review (pull_request) Successful in 3m46s
Test / rust-clippy (pull_request) Successful in 4m17s
Test / rust-tests (pull_request) Successful in 5m29s
2026-04-19 19:20:57 -05:00
cb542d7f22
Merge pull request 'fix(ci): switch PR review to liteLLM + add push trigger to tests' ( #46 ) from fix/litellm-pr-review into master
...
Reviewed-on: #46
2026-04-19 23:56:22 +00:00
Shaun Arman
d066e71eeb
fix(ci): switch PR review from Ollama to liteLLM (qwen2.5-72b)
...
Test / rust-fmt-check (pull_request) Successful in 1m9s
Test / frontend-typecheck (pull_request) Successful in 1m17s
Test / frontend-tests (pull_request) Successful in 1m22s
Test / rust-clippy (pull_request) Successful in 4m19s
Test / rust-tests (pull_request) Successful in 5m46s
PR Review Automation / review (pull_request) Failing after 1m15s
Replace direct Ollama API calls with liteLLM proxy at
172.0.0.29:11434 using qwen2.5-72b (72B VLLM model). Increase
timeouts to 300s for larger model inference. Reuses existing
OLLAMA_API_KEY secret for liteLLM auth.
Also add push-to-master trigger on test.yml so merges to master
run the full CI suite (previously only pull_request events triggered).
2026-04-19 18:41:54 -05:00
257b2fb9c5
Merge pull request 'feat: incident response methodology + UTC timeline tracking' ( #45 ) from feat/incident-response-timeline into master
...
Reviewed-on: #45
2026-04-19 23:34:34 +00:00
Shaun Arman
d715ba0b25
docs: update wiki for timeline events and incident response methodology
...
Test / rust-fmt-check (pull_request) Successful in 1m12s
Test / frontend-typecheck (pull_request) Successful in 1m17s
Test / frontend-tests (pull_request) Successful in 1m25s
PR Review Automation / review (pull_request) Failing after 2m45s
Test / rust-clippy (pull_request) Successful in 4m26s
Test / rust-tests (pull_request) Successful in 5m42s
- Database.md: document timeline_events table (migration 017), event
types, dual-write strategy, correct migration count to 17
- IPC-Commands.md: document get_timeline_events, updated
add_timeline_event with metadata, chat_message system_prompt param
- Architecture.md: document incident response methodology integration,
5-phase framework, system prompt injection, correct migration count
2026-04-19 18:26:21 -05:00
Shaun Arman
8b0cbc3ce8
fix: harden timeline event input validation and atomic writes
...
Address security review findings:
- Validate event_type against whitelist of 7 known types (M-3)
- Validate metadata is valid JSON and under 10KB (M-2, M-4)
- Include metadata in audit log details (M-2)
- Wrap timeline insert + audit write + timestamp update in a
SQLite transaction for atomicity (M-5)
- Fix TypeScript TimelineEvent interface: add issue_id, metadata
fields and correct created_at type to string (L-3)
- Add timeline_events to IssueDetail TypeScript interface (L-4)
2026-04-19 18:25:53 -05:00
Shaun Arman
13c4969e31
feat: wire incident response methodology into AI and record triage events
...
Add INCIDENT_RESPONSE_FRAMEWORK to domainPrompts.ts and append it to
all 17 domain prompts via getDomainPrompt(). Add system_prompt param
to chat_message command so frontend can inject domain expertise. Record
UTC timeline events (triage_started, log_uploaded, why_level_advanced,
root_cause_identified, rca_generated, postmortem_generated,
document_exported) at key moments with non-blocking calls.
Update tauriCommands.ts with getTimelineEventsCmd, optional metadata on
addTimelineEventCmd, and systemPrompt on chatMessageCmd.
12 new frontend tests (9 domain prompts, 3 timeline events).
2026-04-19 18:13:47 -05:00
Shaun Arman
79a623dbb2
feat: populate RCA and postmortem docs with real timeline data
...
Add format_event_type() and calculate_duration() helpers to convert
raw timeline events into human-readable tables and metrics. RCA now
includes an Incident Timeline section and Incident Metrics (event
count, duration, time-to-root-cause). Postmortem replaces placeholder
timeline rows with real events, calculates impact duration, and
auto-populates What Went Well from evidence.
10 new Rust tests covering timeline rendering, duration calculation,
and event type formatting.
2026-04-19 18:13:30 -05:00
Shaun Arman
107fee8853
feat: add timeline_events table, model, and CRUD commands
...
- Add migration 017_create_timeline_events with indexes
- Update TimelineEvent struct with issue_id, metadata, UTC string timestamps
- Add TimelineEvent::new() constructor with UUIDv7
- Add timeline_events field to IssueDetail
- Rewrite add_timeline_event to write to new table + audit_log (dual-write)
- Add get_timeline_events command for ordered retrieval
- Update get_issue to load timeline_events
- Update delete_issue to clean up timeline_events
- Register get_timeline_events in generate_handler
- Add migration tests for table, indexes, and cascade delete
- Fix flaky derive_aes_key test (env var race condition in parallel tests)
2026-04-19 18:02:38 -05:00
6d105a70ad
chore: update CHANGELOG.md for v0.2.66 [skip ci]
2026-04-15 02:11:31 +00:00
ca56b583c5
Merge pull request 'feat: implement dynamic versioning from Git tags' ( #42 ) from fix/version-dynamic-build into master
...
Auto Tag / autotag (push) Successful in 12s
Auto Tag / wiki-sync (push) Successful in 13s
Auto Tag / changelog (push) Successful in 41s
Auto Tag / build-linux-amd64 (push) Successful in 13m51s
Auto Tag / build-linux-arm64 (push) Successful in 15m41s
Auto Tag / build-windows-amd64 (push) Successful in 16m36s
Auto Tag / build-macos-arm64 (push) Successful in 2m22s
Reviewed-on: #42
2026-04-15 02:10:10 +00:00
Shaun Arman
8c35e91aef
Merge branch 'master' into fix/version-dynamic-build
Test / rust-fmt-check (pull_request) Successful in 1m8s
Test / frontend-typecheck (pull_request) Successful in 1m17s
Test / frontend-tests (pull_request) Successful in 1m23s
PR Review Automation / review (pull_request) Failing after 2m11s
Test / rust-clippy (pull_request) Successful in 6m11s
Test / rust-tests (pull_request) Successful in 9m7s
2026-04-14 21:09:11 -05:00
Shaun Arman
1055841b6f
fix: remove invalid --locked flag from cargo commands and fix format string
...
Test / rust-fmt-check (pull_request) Successful in 1m3s
PR Review Automation / review (pull_request) Successful in 2m54s
Test / frontend-typecheck (pull_request) Successful in 1m14s
Test / frontend-tests (pull_request) Successful in 1m25s
Test / rust-clippy (pull_request) Successful in 8m1s
Test / rust-tests (pull_request) Successful in 10m11s
- Remove --locked flag from cargo fmt, clippy, and test commands in CI
- Update build.rs to use Rust 2021 direct variable interpolation in format strings
2026-04-14 20:50:47 -05:00
f38ca7e2fc
chore: update CHANGELOG.md for v0.2.63 [skip ci]
2026-04-15 01:45:29 +00:00
a9956a16a4
Merge pull request 'feat(integrations): implement query expansion for semantic search' ( #44 ) from feature/integration-search-expansion into master
...
Auto Tag / autotag (push) Successful in 7s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / changelog (push) Successful in 43s
Auto Tag / build-linux-amd64 (push) Successful in 15m51s
Auto Tag / build-linux-arm64 (push) Successful in 18m51s
Auto Tag / build-windows-amd64 (push) Successful in 19m44s
Auto Tag / build-macos-arm64 (push) Has been cancelled
Reviewed-on: #44
2026-04-15 01:44:42 +00:00
Shaun Arman
bc50a78db7
fix: correct WIQL syntax and escape_wiql implementation
...
Test / rust-fmt-check (pull_request) Successful in 10s
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m12s
PR Review Automation / review (pull_request) Successful in 3m6s
Test / rust-clippy (pull_request) Successful in 3m49s
Test / rust-tests (pull_request) Successful in 5m4s
- Replace CONTAINS with ~ operator (correct WIQL syntax for text matching)
- Remove escaping of ~, *, ? which are valid WIQL wildcards
- Update tests to reflect correct escape_wiql behavior
2026-04-14 20:38:21 -05:00
Shaun Arman
e6d1965342
security: address all issues from automated PR review
...
Test / rust-fmt-check (pull_request) Successful in 10s
Test / frontend-typecheck (pull_request) Successful in 1m9s
Test / frontend-tests (pull_request) Successful in 1m13s
PR Review Automation / review (pull_request) Successful in 2m58s
Test / rust-clippy (pull_request) Successful in 3m50s
Test / rust-tests (pull_request) Successful in 5m12s
- Add missing CQL escaping for &, |, +, - characters
- Improve escape_wiql() to escape more dangerous characters: ", \, (, ), ~, *, ?, ;, =
- Sanitize HTML in excerpts using strip_html_tags() to prevent XSS
- Add unit tests for escape_wiql, escape_cql, canonicalize_url functions
- Document expand_query() behavior (always returns at least original query)
- All tests pass (158/158), cargo fmt and clippy pass
2026-04-14 20:26:05 -05:00
Shaun Arman
708e1e9c18
security: fix query expansion issues from PR review
...
Test / rust-fmt-check (pull_request) Successful in 12s
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m16s
PR Review Automation / review (pull_request) Successful in 3m0s
Test / rust-clippy (pull_request) Successful in 3m50s
Test / rust-tests (pull_request) Successful in 5m0s
- Use MAX_EXPANDED_QUERIES constant in confluence_search.rs instead of hardcoded 3
- Improve escape_wiql() to escape more dangerous characters: ", \, (, ), ~, *, ?, ;, =
- Fix logging to show expanded_query instead of search_url in confluence_search.rs
All tests pass (142/142), cargo fmt and clippy pass.
2026-04-14 20:07:59 -05:00
Shaun Arman
5b45c6c418
fix(integrations): security and correctness improvements
...
Test / rust-fmt-check (pull_request) Successful in 12s
Test / frontend-typecheck (pull_request) Successful in 1m18s
Test / frontend-tests (pull_request) Successful in 1m21s
Test / rust-clippy (pull_request) Successful in 3m56s
PR Review Automation / review (pull_request) Successful in 4m20s
Test / rust-tests (pull_request) Successful in 5m22s
- Add url canonicalization for deduplication (strip fragments/query params)
- Add WIQL injection escaping for Azure DevOps work item searches
- Add CQL injection escaping for Confluence searches
- Add MAX_EXPANDED_QUERIES constant for consistency
- Fix logging to show expanded_query instead of search_url
- Add input validation for empty queries
- Add url crate dependency for URL parsing
All 142 tests pass.
2026-04-14 19:55:32 -05:00
Shaun Arman
096068ed2b
feat(integrations): implement query expansion for semantic search
...
Test / rust-fmt-check (pull_request) Successful in 12s
Test / frontend-typecheck (pull_request) Successful in 1m11s
Test / frontend-tests (pull_request) Successful in 1m15s
PR Review Automation / review (pull_request) Successful in 3m13s
Test / rust-clippy (pull_request) Successful in 3m45s
Test / rust-tests (pull_request) Successful in 5m9s
- Add query_expansion.rs module with product synonyms and keyword extraction
- Update confluence_search.rs to use expanded queries
- Update servicenow_search.rs to use expanded queries
- Update azuredevops_search.rs to use expanded queries
- Update webview_fetch.rs to use expanded queries
- Fix extract_keywords infinite loop bug for non-alphanumeric endings
All 142 tests pass.
2026-04-14 19:37:27 -05:00
Shaun Arman
9248811076
fix: add --locked to cargo commands and improve version update script
...
Test / rust-fmt-check (pull_request) Failing after 1m11s
Test / frontend-typecheck (pull_request) Successful in 1m18s
Test / frontend-tests (pull_request) Successful in 1m21s
Test / rust-clippy (pull_request) Failing after 3m25s
PR Review Automation / review (pull_request) Successful in 3m37s
Test / rust-tests (pull_request) Successful in 5m9s
- Add --locked to fmt, clippy, and test commands in CI
- Remove updateCargoLock() and rely on cargo generate-lockfile
- Add .git directory existence check in update-version.mjs
- Use package.json as dynamic fallback instead of hardcoded 0.2.50
- Ensure execSync uses shell: false explicitly
2026-04-13 17:54:16 -05:00
Shaun Arman
007d0ee9d5
chore: fix version update implementation
...
PR Review Automation / review (pull_request) Successful in 2m18s
- Replace npm ci with npm install in CI
- Remove --locked flag from cargo clippy/test
- Add cargo generate-lockfile after version update
- Update update-version.mjs with semver validation
- Add build.rs for Rust-level version injection
2026-04-13 16:34:48 -05:00
Shaun Arman
9e1a9b1d34
feat: implement dynamic versioning from Git tags
...
Test / rust-clippy (pull_request) Failing after 15s
Test / rust-tests (pull_request) Failing after 19s
Test / rust-fmt-check (pull_request) Successful in 55s
Test / frontend-typecheck (pull_request) Successful in 1m22s
Test / frontend-tests (pull_request) Successful in 1m26s
PR Review Automation / review (pull_request) Successful in 2m57s
- Add build.rs to read version from git describe --tags
- Create update-version.mjs script to sync version across files
- Add get_app_version() command to Rust backend
- Update App.tsx to use custom version command
- Run version update in CI before Rust checks
2026-04-13 16:12:03 -05:00
cdb1dd1dad
chore: update CHANGELOG.md for v0.2.55 [skip ci]
2026-04-13 21:09:47 +00:00
6dbe40ef03
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 20:25:56 +00:00
Shaun Arman
75fc3ca67c
fix: add Windows nsis target and update CHANGELOG to v0.2.61
...
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / changelog (push) Successful in 43s
Auto Tag / build-macos-arm64 (push) Successful in 3m0s
Auto Tag / build-linux-amd64 (push) Successful in 11m29s
Auto Tag / build-linux-arm64 (push) Successful in 13m31s
Auto Tag / build-windows-amd64 (push) Successful in 14m10s
- Update CHANGELOG to include releases v0.2.54 through v0.2.61
- Add 'nsis' to bundle targets in tauri.conf.json for Windows builds
- This fixes Windows artifact upload failures by enabling .exe/.msi generation
The Windows build was failing because tauri.conf.json only had Linux bundle
targets (['deb', 'rpm']). Without nsis target, no Windows installers were
produced, causing the upload step to fail with 'No Windows amd64 artifacts
were found'.
2026-04-13 15:25:05 -05:00
fdae6d6e6d
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 19:58:25 +00:00
Shaun Arman
d78181e8c0
chore: trigger release with fix
Auto Tag / autotag (push) Successful in 7s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / changelog (push) Successful in 43s
Auto Tag / build-macos-arm64 (push) Successful in 4m25s
Auto Tag / build-linux-amd64 (push) Successful in 11m27s
Auto Tag / build-linux-arm64 (push) Successful in 13m25s
Auto Tag / build-windows-amd64 (push) Failing after 13m38s
2026-04-13 14:57:35 -05:00
Shaun Arman
b4ff52108a
fix: remove AppImage from upload artifact patterns
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / changelog (push) Has been cancelled
Auto Tag / build-linux-arm64 (push) Has been cancelled
Auto Tag / build-windows-amd64 (push) Has been cancelled
Auto Tag / build-macos-arm64 (push) Has been cancelled
Auto Tag / build-linux-amd64 (push) Has been cancelled
2026-04-13 14:57:14 -05:00
29a68c07e9
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 18:43:07 +00:00
Shaun Arman
40a2c25428
chore: trigger changelog update for AppImage removal
Auto Tag / autotag (push) Successful in 9s
Auto Tag / wiki-sync (push) Successful in 8s
Auto Tag / changelog (push) Successful in 44s
Auto Tag / build-macos-arm64 (push) Successful in 3m8s
Auto Tag / build-linux-amd64 (push) Successful in 11m29s
Auto Tag / build-linux-arm64 (push) Successful in 13m28s
Auto Tag / build-windows-amd64 (push) Failing after 7m46s
2026-04-13 13:42:15 -05:00
Shaun Arman
62e3570a15
fix: remove AppImage bundling to fix linux-amd64 build
...
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 6s
Build CI Docker Images / windows-cross (push) Successful in 7s
Build CI Docker Images / linux-arm64 (push) Successful in 6s
Auto Tag / changelog (push) Has been cancelled
Auto Tag / build-windows-amd64 (push) Has been cancelled
Auto Tag / build-linux-amd64 (push) Has been cancelled
Auto Tag / build-macos-arm64 (push) Has been cancelled
Auto Tag / build-linux-arm64 (push) Has been cancelled
Build CI Docker Images / linux-amd64 (push) Successful in 2m37s
- Remove appimage from bundle targets in tauri.conf.json
- Remove linuxdeploy from Dockerfile
- Update Dockerfile to remove fuse dependency (not needed)
2026-04-13 13:41:56 -05:00
41e5753de6
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 18:18:07 +00:00
Shaun Arman
25201eaac1
chore: trigger changelog update for latest fixes
Auto Tag / autotag (push) Successful in 5s
Auto Tag / wiki-sync (push) Successful in 5s
Auto Tag / changelog (push) Successful in 1m37s
Auto Tag / build-macos-arm64 (push) Successful in 2m21s
Auto Tag / build-linux-amd64 (push) Failing after 13m17s
Auto Tag / build-windows-amd64 (push) Successful in 15m20s
Auto Tag / build-linux-arm64 (push) Successful in 13m46s
2026-04-13 13:16:23 -05:00
618eb6b43d
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 18:07:19 +00:00
Shaun Arman
5084dca5e3
fix: add fuse dependency for AppImage support
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 5s
Build CI Docker Images / windows-cross (push) Successful in 6s
Build CI Docker Images / linux-arm64 (push) Successful in 6s
Auto Tag / changelog (push) Successful in 37s
Build CI Docker Images / linux-amd64 (push) Successful in 1m56s
Auto Tag / build-macos-arm64 (push) Successful in 2m27s
Auto Tag / build-linux-amd64 (push) Has been cancelled
Auto Tag / build-windows-amd64 (push) Has been cancelled
Auto Tag / build-linux-arm64 (push) Has been cancelled
2026-04-13 13:06:33 -05:00
Shaun Arman
6cbdcaed21
refactor: revert to original Dockerfile without manual linuxdeploy installation
...
- CI handles linuxdeploy download and execution via npx tauri build
2026-04-13 13:06:33 -05:00
Shaun Arman
8298506435
refactor: remove custom linuxdeploy install per CI CI uses tauri-downloaded version
2026-04-13 13:06:33 -05:00
412c5e70f0
chore: update CHANGELOG.md for v0.2.53 [skip ci]
2026-04-13 17:01:51 +00:00
05f87a7bff
Merge pull request 'fix: add missing ai_providers columns and fix linux-amd64 build' ( #41 ) from fix/ai-provider-migration-issue into master
...
Auto Tag / autotag (push) Successful in 14s
Auto Tag / wiki-sync (push) Successful in 14s
Build CI Docker Images / windows-cross (push) Successful in 11s
Build CI Docker Images / linux-arm64 (push) Successful in 10s
Auto Tag / changelog (push) Successful in 54s
Auto Tag / build-macos-arm64 (push) Successful in 2m57s
Auto Tag / build-linux-amd64 (push) Failing after 13m36s
Auto Tag / build-linux-arm64 (push) Successful in 15m7s
Auto Tag / build-windows-amd64 (push) Successful in 15m35s
Build CI Docker Images / linux-amd64 (push) Failing after 7s
Reviewed-on: #41
2026-04-13 17:00:50 +00:00
Shaun Arman
8e1d43da43
fix: address critical AI review issues
...
Test / rust-fmt-check (pull_request) Successful in 28s
Test / frontend-typecheck (pull_request) Successful in 1m29s
Test / frontend-tests (pull_request) Successful in 1m31s
PR Review Automation / review (pull_request) Successful in 3m28s
Test / rust-clippy (pull_request) Successful in 4m29s
Test / rust-tests (pull_request) Successful in 5m42s
- Fix linuxdeploy AppImage extraction using --appimage-extract
- Remove 'has no column named' from duplicate column error handling
- Use strftime instead of datetime for created_at default format
2026-04-13 08:50:34 -05:00