Commit Graph
10 Commits
Author SHA1 Message Date
evandrodevbr 6f7e266a6e feat: keep error status until polling recovers, classify unconfirmed deliveries, document the UI
Validate / validate (push) Successful in 9m52s
- the poll loop now clears its error status after the next successful getUpdates, not before the retry, so a slow retry never shows as healthy
- recovery is reported only when getUpdates itself failed
- a send that may have reached Telegram is reported as unconfirmed instead of failed
- README and CHANGELOG describe the states, toasts, queue preview and spinner text
2026-10-01 17:48:15 -03:00
evandrodevbr 057281a3bb feat: human error states, operator toasts and a queue/origin view in the omp UI
- classify transport and API failures into a short state with the next step
- count undelivered messages and show them next to the sent counter
- toast on owner paired, connection recovered and reply not delivered (throttled)
- second status line previews the next queued turns
- host spinner names the Telegram prompt while its turn runs
- sanitize every Telegram-controlled string that reaches the widget
2026-10-01 17:33:37 -03:00
evandrodevbr 9435ff709b feat: render the status line as a themed widget in the TUI and document it
omp strips ANSI from extension status text, so setStatus drops the theme colors.
String widgets keep them: in the TUI the line is a belowEditor widget and the
plain footer entry is cleared; other modes keep setStatus.
2026-10-01 11:28:53 -03:00
evandrodevbr ca05b58f38 feat: show connection state, bot, message counters and last activity in the omp status line 2026-10-01 11:21:14 -03:00
evandrodevbr 60254b288b fix: keep the paired user when the poll loop commits its offset
The poll loop persisted the config object it captured when polling started.
The store swaps in a fresh object on every persist, so after the initial sync
that captured copy lacked later changes: the next offset commit erased the
paired user and the bridge re-paired on every message.
2026-10-01 11:14:02 -03:00
evandrodevbr 2aefc7ef5a fix: adapt the bridge to omp 18.4.8 host differences
Validate / validate (push) Successful in 9m53s
- resolve the agent dir through the host getAgentDir() (registered by the composition root) instead of sniffing execPath/argv
- synthesize agent_settled from the first terminal agent_end on omp
- read the live model through ctx.models.current() and prefer it over the stored model on omp
- adapt omp Settings (reloadFromDisk, global enabledModels) at the SDK boundary and drop scoped-model persistence on omp
2026-10-01 10:07:47 -03:00
Evandro Fonseca Junior a46fb916a0 fix: resolve diagnostic paths and recover time injection 2026-09-30 17:10:30 -03:00
Evandro Fonseca Junior 0852274102 test: stop assuming a fixed envelope delivery time in the bus ledger test
"Bus local server memoizes completed and in-flight request results" sent two
envelopes, slept a fixed 5 ms and then asserted that the handler had already
run once. On a slower CI runner the first envelope can still be in the socket
queue at that point, so the run failed with 0 !== 1 (run 34838232340).

Wait (bounded, 5 s deadline) until the first envelope reaches the handler
before asserting. The duplicate stays in flight because the gate is only
released after the assertion, so the memoization guarantee under test is
unchanged.
2026-09-14 08:31:01 -03:00
evandrodevbr 572967c17b fix: declare Telegram extension for OMP 2026-07-15 17:33:17 -03:00
Evandro Fonseca Junior d1d04001d0 chore: fork @llblab/[email protected] as @evandrodevbr/oh-my-pi-telegram
Release / release (push) Failing after 5s
Validate / validate (push) Failing after 5m21s
Fork of upstream llblab/[email protected].0 (SHA afe09c5) repackaged as a
drop-in extension for can1357/oh-my-pi (omp >= 16.5.2).

Changes vs upstream:
- Rename package: @llblab/pi-telegram -> @evandrodevbr/oh-my-pi-telegram
- Bump version: 0.22.0 -> 0.22.0-evandro.1
- Update repository/homepage/bugs URLs to evandrodevbr
- Add omp field in package.json (displayName + compatibleWith)
- README: prepend 'Oh My Pi (omp) Compatibility' section with install
  commands, verified-components table, upstream lineage, and rationale
- CHANGELOG: add '0.22.0-evandro.1' entry under Unreleased
- docs/: rename @llblab/pi-telegram imports to @evandrodevbr/oh-my-pi-telegram
- tests/public-api.test.ts: rename package import paths

Gates re-run on the fork:
- npm run typecheck  -> tsc --noEmit (success)
- npm test           -> 1229 pass / 0 fail / 1 platform-only skip
- npm run audit      -> found 0 vulnerabilities
- npm run pack:check -> evandrodevbr-oh-my-pi-telegram-0.22.0-evandro.1.tgz

Verified:
- omp install --link ./pi-telegram -> Linked OK
- omp plugin list -> @evandrodevbr/[email protected].0-evandro.1

Upstream lineage: badlogic/pi-telegram -> llblab/pi-telegram (0.22.0) -> evandrodevbr/oh-my-pi-telegram (this fork)
2026-07-15 14:18:16 -03:00