Skip to content

feat(app): scheduled reduced usage UI#179

Merged
tmgrask merged 2 commits intomainfrom
tasker/schedule-reduced-usage
Feb 4, 2026
Merged

feat(app): scheduled reduced usage UI#179
tmgrask merged 2 commits intomainfrom
tasker/schedule-reduced-usage

Conversation

@tmgrask
Copy link
Collaborator

@tmgrask tmgrask commented Feb 3, 2026

Allows users to schedule a daily time window where conduit max peers/bandwidth will be reduced. For instance, during the daytime, when battery and bandwidth are more scarce.

This uses a new feature introduced into tunnel core, which allows the Conduit operator to set a "reduced usage" time window using the following configuration parameters, copied here from tunnel core:

	// ReducedStartTime specifies the time of day (HH:MM, 24-hour, UTC)
	// at which reduced client settings begin.
	ReducedStartTime string

	// ReducedEndTime specifies the time of day (HH:MM, 24-hour, UTC) at
	// which reduced client settings end.
	ReducedEndTime string

	// ReducedMaxClients specifies the maximum number of clients that are
	// allowed to connect to the proxy during the reduced time range.
	//
	// Clients connected when the reduced settings begin will not be
	// disconnected.
	ReducedMaxClients int

	// ReducedLimitUpstreamBytesPerSecond limits the upstream data transfer
	// rate for a single client during the reduced time range. When 0,
	// LimitUpstreamBytesPerSecond is the limit.
	//
	// Rates for clients already connected when the reduced settings begin or
	// end will not change.
	ReducedLimitUpstreamBytesPerSecond int

	// ReducedLimitDownstreamBytesPerSecond limits the downstream data
	// transfer rate for a single client during the reduced time range. When
	// 0, LimitDownstreamBytesPerSecond is the limit.
	//
	// Rates for clients already connected when the reduced settings begin or
	// end will not change.
	ReducedLimitDownstreamBytesPerSecond int

These are passed into the config with Inproxy prefix.

This PR wires this up in the React Native project. The feature is off by default, and when the configuration is opened, it defaults to a reduced usage window between 07:00 -> 19:00, with sliders in the UI for adjusting this.

This feature will work in the CLI as well, if the new parameters are included in the config file or if/when the CLI is wired up to accept them as command line flags.

TODO: some UI/UX iteration, translations

@tmgrask tmgrask force-pushed the tasker/schedule-reduced-usage branch from 89c5ec6 to 75c298a Compare February 4, 2026 01:24
@tmgrask tmgrask force-pushed the tasker/schedule-reduced-usage branch from a2938d7 to 1e72cf9 Compare February 4, 2026 01:40
@tmgrask tmgrask merged commit 982f70e into main Feb 4, 2026
2 checks passed
@tmgrask tmgrask deleted the tasker/schedule-reduced-usage branch February 4, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant