• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

go-pkgz / notify
96%

Build:
DEFAULT BRANCH: master
Repo Added 11 Nov 2021 01:49PM UTC
Token CNqoBqbWV2Qy4tV0656LK6KQcShi75XCE regen
Build 169 Last
Files 5
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
Sync Branches
  • master
  • chore/deps-update
  • chore/update-deps
  • dependabot/github_actions/github-actions-updates-1ee787ebfb
  • dependabot/github_actions/github-actions-updates-5714300483
  • dependabot/go_modules/go-modules-updates-0525e6a2cb
  • dependabot/go_modules/go-modules-updates-2989e54043
  • dependabot/go_modules/go-modules-updates-2bc65d338a
  • dependabot/go_modules/go-modules-updates-405b096cf1
  • dependabot/go_modules/go-modules-updates-75aa5e6163
  • dependabot/go_modules/go-modules-updates-950b4a9639
  • dependabot/go_modules/go-modules-updates-b488f0f691
  • dependabot/go_modules/go-modules-updates-bbb8b02913
  • dependabot/go_modules/go-modules-updates-fcbe725021
  • dependabot/go_modules/go_modules-c5fc80f408
  • dependabot/go_modules/golang.org/x/net-0.39.0
  • docs/mailto-url-encoding-note
  • feat/support-entire-2xx-range-webhook
  • feat/telegram-api-url
  • fix/deps-security-go1.25
  • fix/email-send-context
  • fix/secret-leaks-and-http-hygiene
  • fix/telegram-auth-state-races
  • paskal/bump_modules
  • paskal/dependabot
  • paskal/dependabot-disable-updates
  • paskal/dependabot-security-updates
  • paskal/email_login_auth
  • paskal/fix-dependabot
  • paskal/security-go
  • paskal/update_modules
  • paskal/update_readme
  • paskal/update_telegram
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.2.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.2.0
  • refs/tags/v1.3.0
  • refs/tags/v1.3.1
  • refs/tags/v1.4.0
  • refs/tags/v1.5.0
  • remove-chi-dependency
  • update-email-dep-v0.6.0
  • update-repeater-v2

29 Aug 2026 12:20AM UTC coverage: 96.327% (-0.2%) from 96.538%
33223227627

push

github

web-flow
Make the Telegram API base URL settable, and close what that opens (#45)

The bot API host was fixed at api.telegram.org, reachable only through an
unexported field the package's own tests set. Two consequences: an operator
behind a proxy had no way in, and the Telegram notifier was unreachable from
any test unwilling to talk to the live API.

remark42 hit the second one. Its Telegram auth now points at a stub through
go-pkgz/auth, which gained the same option, but the notify service still
reaches the public API, and the update dispatcher takes its requester from
that service, so the subscription flow cannot be covered by a browser test at
all.

APIURL takes the base and the "bot" segment is appended here, so a caller
passes https://proxy.example.com and requests come out as
https://proxy.example.com/bot<token>/<method>, matching what Telegram serves
and what go-pkgz/auth's own option accepts.

Moving a token-bearing URL across a boundary that used to be frozen is what
the rest of this is for.

The base is validated rather than trimmed. "https://api.telegram.org@evil.tld"
is a valid URL whose host is evil.tld, and every request built from the base
carries the bot token in its path, so it would ship the token there. Absolute
http or https, host required, no userinfo, query, fragment or opaque part; a
path prefix is allowed for a proxy mounted under one. No rejection echoes the
value, since it is configuration that can carry credentials in its userinfo or
a secret where the port belongs, and the parse error is dropped rather than
wrapped because *url.Error prints the URL it was given.

Errors are scrubbed of the token itself, not only of *url.Error's URL field.
The upstream decides an API error's text, and parseError interpolated its
description raw, so something standing in for Telegram could echo the request
URI back and put the token in a caller's log. The scrub covers the raw and
encoded forms and then checks a decoded copy, withholding the text whe... (continued)

79 of 85 new or added lines in 1 file covered. (92.94%)

577 of 599 relevant lines covered (96.33%)

176.07 hits per line

Relevant lines Covered
Build:
Build:
599 RELEVANT LINES 577 COVERED LINES
176.07 HITS PER LINE
Source Files on master
  • Tree
  • List 5
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
33223227627 master Make the Telegram API base URL settable, and close what that opens (#45) The bot API host was fixed at api.telegram.org, reachable only through an unexported field the package's own tests set. Two consequences: an operator behind a proxy had no w... push 29 Aug 2026 12:21AM UTC web-flow github
96.33
32222053719 master feat: add configurable SMTP HELO hostname (#38) * feat: add configurable SMTP HELO hostname * Cover the HELO hostname with tests Test asserts the greeting hostname reported by the sender, so it fails if the option stops being passed through, an... push 19 Aug 2026 06:07AM UTC web-flow github
96.54
32221541560 master Terminate email send on context cancellation (#41) Context was checked once before the send, and the sender applied its timeout to the connection setup only, so a server accepting the connection and stalling afterwards blocked Send with no way ou... push 19 Aug 2026 05:59AM UTC web-flow github
96.13
32218465235 master Cover the HELO hostname with tests Test asserts the greeting hostname reported by the sender, so it fails if the option stops being passed through, and pins the default to localhost for callers not setting the field. README example gets the field... Pull #38 19 Aug 2026 05:15AM UTC paskal github
96.15
32209750644 master chore: update go-pkgz/email to v0.8.0 and lgr to v0.12.4 push 19 Aug 2026 02:47AM UTC umputun github
96.12
32202981223 master Point go-pkgz/email at master until the release is tagged Picks up the SendContext work merged after v0.7.0, so this branch builds against what the release will carry. Pseudo-version has to be replaced with the tag once it is out. Pull #38 19 Aug 2026 12:55AM UTC paskal github
96.15
32195443752 master Make telegram auth state changes single-writer (#40) Auth requests were read under a read lock, changed on a copy and written back later, so a request consumed by CheckToken in between was restored from the stale copy and could be used again. Con... push 18 Aug 2026 11:02PM UTC web-flow github
96.51
32195201290 master Fix secret leaks and HTTP handling in notifiers (#39) * Stop leaking bot token and shared connections in telegram requests Token is a part of every API URL, so any transport failure returns *url.Error with the token in it, and callers logging th... push 18 Aug 2026 11:00PM UTC web-flow github
96.02
32188839255 master Bump go-pkgz/email to v0.7.0 and cover the HELO hostname HELOHost option lives in go-pkgz/email v0.7.0, with the dependency pinned to v0.6.0 the package didn't build. Test asserts the greeting hostname reported by the sender, which fails if the ... Pull #38 18 Aug 2026 09:44PM UTC paskal github
96.74
28463098554 master Merge pull request #37 from go-pkgz/fix/deps-security-go1.25 Update dependencies to latest and bump to go 1.25 push 30 Jun 2026 05:23PM UTC web-flow github
96.31
See All Builds (141)
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc