By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Replace stop-channel orchestration with scoped context cancellation for tunnel and interval workers, add errgroup-based supervision for long-running services, and simplify shutdown to fail fast so Docker/systemd handles restarts.
also will help #24 as we dont return after interval we keep going to max interval ceiling, we should maybe also add flags or env that if we reach max interval to just kill process as we dont know if we need a new state to revive.
How to test?
Pure internal refactor.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/newt/pull/300
**Author:** [@LaurenceJJones](https://github.com/LaurenceJJones)
**Created:** 4/7/2026
**Status:** 🔄 Open
**Base:** `dev` ← **Head:** `refactor/context-errgroup`
---
### 📝 Commits (10+)
- [`39f5782`](https://github.com/fosrl/newt/commit/39f5782583a14cb06967e59b6dc3fb991d6b4670) Bump golang.org/x/crypto from 0.43.0 to 0.45.0
- [`61b9615`](https://github.com/fosrl/newt/commit/61b9615aea8e53fac64a93aee8a18545544c9f14) Add utility functions
- [`6ced7b5`](https://github.com/fosrl/newt/commit/6ced7b5af0cddfb31b8494ab73179f2b03fdbb35) Bump github/codeql-action from 4.31.0 to 4.31.5
- [`a38e0b3`](https://github.com/fosrl/newt/commit/a38e0b3e9898d27f367470b71100554be3ca38aa) Bump actions/setup-go from 6.0.0 to 6.1.0
- [`da04746`](https://github.com/fosrl/newt/commit/da04746781c906beabfd956a2330db480b9c42e9) Add rewriteTo
- [`bb95d10`](https://github.com/fosrl/newt/commit/bb95d10e86a6d9575ffc13f1f13929adece7fde9) Rewriting desitnation works
- [`1b1323b`](https://github.com/fosrl/newt/commit/1b1323b553f8688d677eb2a96ab9bdc2b7e4fba0) Move network to newt - handle --native mode
- [`d6edd6c`](https://github.com/fosrl/newt/commit/d6edd6ca017f2d297242b4954fab9a9f147c4a98) Make hp regular
- [`5196eff`](https://github.com/fosrl/newt/commit/5196effdb81cf97c06004adf3b9264a30ee84347) Kind of working - revert if not
- [`ba43083`](https://github.com/fosrl/newt/commit/ba43083f04434898211c54aa93975bd04aa1f81e) Merge pull request #179 from fosrl/dependabot/go_modules/golang.org/x/crypto-0.45.0
### 📊 Changes
**102 files changed** (+21727 additions, -1128 deletions)
<details>
<summary>View changed files</summary>
➕ `.env.example` (+5 -0)
➕ `.github/DISCUSSION_TEMPLATE/feature-requests.yml` (+47 -0)
➕ `.github/ISSUE_TEMPLATE/1.bug_report.yml` (+51 -0)
➕ `.github/ISSUE_TEMPLATE/config.yml` (+8 -0)
📝 `.github/dependabot.yml` (+5 -0)
📝 `.github/workflows/cicd.yml` (+932 -57)
➕ `.github/workflows/mirror.yaml` (+132 -0)
➕ `.github/workflows/nix-build.yml` (+23 -0)
➕ `.github/workflows/nix-dependabot-update-hash.yml` (+48 -0)
➕ `.github/workflows/stale-bot.yml` (+37 -0)
📝 `.github/workflows/test.yml` (+24 -13)
📝 `.gitignore` (+6 -2)
📝 `.go-version` (+1 -1)
📝 `CONTRIBUTING.md` (+2 -6)
📝 `Dockerfile` (+13 -5)
📝 `Makefile` (+64 -28)
📝 `README.md` (+7 -157)
📝 `SECURITY.md` (+1 -1)
➕ `authdaemon.go` (+146 -0)
➕ `authdaemon/connection.go` (+27 -0)
_...and 80 more files_
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Description
Replace stop-channel orchestration with scoped context cancellation for tunnel and interval workers, add errgroup-based supervision for long-running services, and simplify shutdown to fail fast so Docker/systemd handles restarts.
also will help #24 as we dont return after interval we keep going to max interval ceiling, we should maybe also add flags or env that if we reach max interval to just kill process as we dont know if we need a new state to revive.
## How to test?
Pure internal refactor.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/newt/pull/300
Author: @LaurenceJJones
Created: 4/7/2026
Status: 🔄 Open
Base:
dev← Head:refactor/context-errgroup📝 Commits (10+)
39f5782Bump golang.org/x/crypto from 0.43.0 to 0.45.061b9615Add utility functions6ced7b5Bump github/codeql-action from 4.31.0 to 4.31.5a38e0b3Bump actions/setup-go from 6.0.0 to 6.1.0da04746Add rewriteTobb95d10Rewriting desitnation works1b1323bMove network to newt - handle --native moded6edd6cMake hp regular5196effKind of working - revert if notba43083Merge pull request #179 from fosrl/dependabot/go_modules/golang.org/x/crypto-0.45.0📊 Changes
102 files changed (+21727 additions, -1128 deletions)
View changed files
➕
.env.example(+5 -0)➕
.github/DISCUSSION_TEMPLATE/feature-requests.yml(+47 -0)➕
.github/ISSUE_TEMPLATE/1.bug_report.yml(+51 -0)➕
.github/ISSUE_TEMPLATE/config.yml(+8 -0)📝
.github/dependabot.yml(+5 -0)📝
.github/workflows/cicd.yml(+932 -57)➕
.github/workflows/mirror.yaml(+132 -0)➕
.github/workflows/nix-build.yml(+23 -0)➕
.github/workflows/nix-dependabot-update-hash.yml(+48 -0)➕
.github/workflows/stale-bot.yml(+37 -0)📝
.github/workflows/test.yml(+24 -13)📝
.gitignore(+6 -2)📝
.go-version(+1 -1)📝
CONTRIBUTING.md(+2 -6)📝
Dockerfile(+13 -5)📝
Makefile(+64 -28)📝
README.md(+7 -157)📝
SECURITY.md(+1 -1)➕
authdaemon.go(+146 -0)➕
authdaemon/connection.go(+27 -0)...and 80 more files
📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Replace stop-channel orchestration with scoped context cancellation for tunnel and interval workers, add errgroup-based supervision for long-running services, and simplify shutdown to fail fast so Docker/systemd handles restarts.
also will help #24 as we dont return after interval we keep going to max interval ceiling, we should maybe also add flags or env that if we reach max interval to just kill process as we dont know if we need a new state to revive.
How to test?
Pure internal refactor.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.