Claudio Ortolina
0ac27565f4
fix(ci): rename HURL_api_token to HURL_VARIABLE_api_token in verify workflow
...
Matches the variable naming convention used in test_and_deploy.yml so
the manual verification workflow can read the API token correctly.
2026-05-04 14:17:22 +01:00
Claudio Ortolina
c24e4e8a59
fix(prod-errors): security, dedup, and correctness fixes for TUI and tools
...
- buildUrl: detect localhost/loopback addresses and default to http://
instead of silently upgrading everything to https://
- formatRelativeTime: guard against NaN for invalid ISO8601 inputs
- Fix 'q' key silently ignored in detail mode — now closes from any mode
- Extract shared retoggleFilter() to eliminate ~50 lines of duplication
between toggleResolved() and toggleMuted()
- Extract shared formatDetailLines() used by both formatErrorDetail()
(LLM tool) and buildDetailLines() (TUI) — removes ~60 duplicate lines
- Extract shared fetchApi<T>() to deduplicate HTTP error handling
between fetchErrors() and fetchError()
- renderLoading: use visibleHeight instead of full terminal rows
- List empty-state padding: name chromeLines constant
- Fix double buildDetailLines() call in detail scroll clamping
2026-05-04 14:12:15 +01:00
Claudio Ortolina
93ac86f748
fix(errors): LIKE wildcard escaping, memory-efficient counts, context tests
...
- Escape LIKE wildcards (% and _) in search queries using fragment ESCAPE
to prevent accidental pattern expansion and potential DoS vectors
- Use Repo.aggregate for occurrence_count instead of loading all
occurrences into memory in get_error/1
- Use Repo.aggregate(:min, :inserted_at) for first_occurrence_at instead
of fragile List.last/1 that depends on query ordering
- Add MusicLibrary.ErrorsTest with 15 tests covering list_errors/1
(default, status/muted/search filters, wildcard escaping, pagination,
empty results) and get_error/1 (with/without occurrences, not_found)
2026-05-04 14:11:46 +01:00
Claudio Ortolina
26a9469b3f
ML-164: implementation
2026-05-04 13:47:34 +01:00
Claudio Ortolina
904f540031
ML-163: implementation
2026-05-04 13:25:08 +01:00
Claudio Ortolina
51bd24d5b4
ML-162: enable /api/v1/errors endpoint
2026-05-04 13:14:40 +01:00
Claudio Ortolina
213ca31a42
Fix parent task IDs
2026-05-04 11:04:47 +01:00
Claudio Ortolina
2bf943a206
ML-163: plan
2026-05-04 10:33:08 +01:00
Claudio Ortolina
85275cb88b
Ml-162: plan
2026-05-04 10:13:09 +01:00
Claudio Ortolina
7b7309b38f
Add template to work on task implementation
2026-05-04 09:46:09 +01:00
Claudio Ortolina
3d7e076906
Streamline backlog task tags
2026-05-04 09:20:11 +01:00
Claudio Ortolina
50b9023707
ML-161 (and subtasks): research and plan
2026-05-04 09:17:16 +01:00
Claudio Ortolina
4f167c4f8f
Use dedicated token for pi logs access
2026-05-04 08:42:53 +01:00
Claudio Ortolina
218ddca62d
ML-160: enable llm access to production logs
2026-05-04 08:36:00 +01:00
Claudio Ortolina
5073e681d2
Rename backlog documents
2026-05-04 07:56:21 +01:00
Claudio Ortolina
3f2f03849a
ML-160: research and plan
2026-05-04 07:52:29 +01:00
Claudio Ortolina
e57f9eddfb
Update backlog.md to 1.45.0
2026-05-04 07:21:48 +01:00
Claudio Ortolina
51390974a8
ML-159: add cursor and visual mode to log browser
2026-05-03 22:34:50 +01:00
Claudio Ortolina
3512f812ba
ML-159: plan review
2026-05-03 22:21:48 +01:00
Claudio Ortolina
cb07e70d36
ML-159: research and plan
2026-05-03 22:14:49 +01:00
Claudio Ortolina
010c89774a
ML-159: cancelled as not fit for purpose
2026-05-03 20:47:01 +01:00
Claudio Ortolina
ef33287002
Remove tap report from tangled pipeline
2026-05-03 17:50:20 +01:00
Claudio Ortolina
ebd19bf50b
EXP: setup a tangled pipeline
2026-05-03 17:49:09 +01:00
Claudio Ortolina
5981970039
ML-157: implementation and configuration
2026-05-03 16:33:23 +01:00
Claudio Ortolina
a6ef5996ed
Backlog cleanup
2026-05-03 15:40:20 +01:00
Claudio Ortolina
b7666168dc
ML-158: plan review
2026-05-03 15:39:19 +01:00
Claudio Ortolina
4e0177c69d
Offer to review plan at the end of task creation
2026-05-03 15:30:14 +01:00
Claudio Ortolina
29bedcd028
ML-158: task research and plan
2026-05-03 15:28:02 +01:00
Claudio Ortolina
9fda537bf9
ML-157: iterate on plan
2026-05-03 14:59:14 +01:00
Claudio Ortolina
84012cbd1c
Update to error_tracker 0.9
...
Includes amendments resulting from new events, and proper handling of
the muted attribute
2026-05-03 14:46:40 +01:00
Claudio Ortolina
a8eb4fe0b5
ML-157: task research and plan
2026-05-03 14:45:22 +01:00
Claudio Ortolina
fd90a6bfa6
Add pi extension to get production logs
2026-05-03 09:21:25 +01:00
Claudio Ortolina
db7e50d68b
Move flash messages to the left
...
As the application makes heavy use of right-hand sheets, flash messages
are often lost.
2026-05-03 08:52:26 +01:00
Claudio Ortolina
3e74577a3a
Add production infra critical rule
2026-05-03 08:00:09 +01:00
Claudio Ortolina
42ca81b940
Add prompts for backlog-driven development
2026-05-02 20:51:59 +01:00
Claudio Ortolina
b396dbe037
ML-156: plan revisions
2026-05-02 19:14:25 +01:00
Claudio Ortolina
dac946bbd6
ML-156: initial research
2026-05-02 17:17:11 +01:00
Claudio Ortolina
2de9c5e705
Add guidance about working with Backlog.md tasks
2026-05-02 16:54:54 +01:00
Claudio Ortolina
8dd4721dc0
Update dependencies
...
websock_adapter 0.5.9 => 0.6.0
2026-05-02 09:46:15 +01:00
Claudio Ortolina
3600bb204b
Set explicit max_frame_size on websocket
2026-05-02 07:12:20 +01:00
Claudio Ortolina
0b78f24fed
ML-155: Compact collection summary and add stats preamble
2026-05-02 07:11:18 +01:00
Claudio Ortolina
179ac35130
Add pi extension to browse database backups
2026-05-01 22:23:44 +01:00
Claudio Ortolina
450114100b
Fix dimensions of camera button and preview
2026-05-01 22:09:44 +01:00
Claudio Ortolina
34f34b8f59
Update dependencies
...
bandit 1.10.4 => 1.11.0
2026-05-01 21:47:57 +01:00
Claudio Ortolina
ca5b13ad8d
Remove some uses of List.last
2026-05-01 17:03:42 +01:00
Claudio Ortolina
c11009f3f9
Update dependencies
...
ex_slop 0.3.1 => 0.4.0
2026-05-01 17:03:14 +01:00
Claudio Ortolina
0675cff839
Don't install pi as a direct dependency
...
If used, it should be available on the host machine
2026-05-01 15:31:28 +01:00
Claudio Ortolina
ed67f97271
Move done -> completed
2026-05-01 15:29:33 +01:00
Claudio Ortolina
9f57244267
Update pi
2026-05-01 08:33:11 +01:00
Claudio Ortolina
baa95ab97f
Pin tap-summary to latest released version
2026-05-01 08:10:20 +01:00