clients: default server URL → https://tether.pecord.io

Replace the dead tether.lan / localhost / emulator-host placeholders with the
live public relay across all clients (iOS, macOS, Android, agent), so a fresh
install connects out of the box. All remain overridable (UI field / --server).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 01:01:58 -05:00
co-authored by Claude Opus 4.8
parent 0e0b504808
commit e52e20c2c5
5 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ fn arg(flag: &str, default: &str) -> String {
} }
fn main() { fn main() {
let server = arg("--server", "http://localhost:8765"); let server = arg("--server", "https://tether.pecord.io");
let room = arg("--room", "default"); let room = arg("--room", "default");
let source = arg("--source", "agent"); let source = arg("--source", "agent");
let from = arg("--from", &format!("agent-{source}")); let from = arg("--from", &format!("agent-{source}"));
@@ -17,7 +17,7 @@ data class FeedItem(val text: String, val source: String, val ts: Long, val id:
/// clipboard. Unlike iOS, Android lets a foreground app observe clipboard /// clipboard. Unlike iOS, Android lets a foreground app observe clipboard
/// changes, so we auto-send via OnPrimaryClipChangedListener. /// changes, so we auto-send via OnPrimaryClipChangedListener.
class TetherStore(private val context: Context) { class TetherStore(private val context: Context) {
val serverURL = mutableStateOf(prefs().getString("serverURL", "http://10.0.2.2:8765")!!) val serverURL = mutableStateOf(prefs().getString("serverURL", "https://tether.pecord.io")!!)
val room = mutableStateOf(RoomIdentity.derive(context)) val room = mutableStateOf(RoomIdentity.derive(context))
val feed = mutableStateListOf<FeedItem>() val feed = mutableStateListOf<FeedItem>()
val connected = mutableStateOf(false) val connected = mutableStateOf(false)
@@ -16,7 +16,7 @@ struct FeedItem: Identifiable, Equatable {
/// CAN poll NSPasteboard in the background, so clipboard changes auto-send. /// CAN poll NSPasteboard in the background, so clipboard changes auto-send.
@MainActor @Observable @MainActor @Observable
final class MacTetherStore { final class MacTetherStore {
var serverURL: String = UserDefaults.standard.string(forKey: "serverURL") ?? "http://tether.lan:8765" var serverURL: String = UserDefaults.standard.string(forKey: "serverURL") ?? "https://tether.pecord.io"
var room: String = RoomIdentity.derive() var room: String = RoomIdentity.derive()
var feed: [FeedItem] = [] var feed: [FeedItem] = []
var connected = false var connected = false
+1 -1
View File
@@ -27,7 +27,7 @@ struct RoomView: View {
private var connectionBar: some View { private var connectionBar: some View {
VStack(spacing: 8) { VStack(spacing: 8) {
TextField("http://tether.lan:8765", text: $store.serverURL) TextField("https://tether.pecord.io", text: $store.serverURL)
.textInputAutocapitalization(.never) .textInputAutocapitalization(.never)
.autocorrectionDisabled() .autocorrectionDisabled()
.keyboardType(.URL) .keyboardType(.URL)
+1 -1
View File
@@ -19,7 +19,7 @@ struct FeedItem: Identifiable, Equatable {
/// The engine owns the wire protocol; this owns the clipboard side-effects. /// The engine owns the wire protocol; this owns the clipboard side-effects.
@MainActor @Observable @MainActor @Observable
final class TetherStore { final class TetherStore {
var serverURL: String = UserDefaults.standard.string(forKey: "serverURL") ?? "http://tether.lan:8765" var serverURL: String = UserDefaults.standard.string(forKey: "serverURL") ?? "https://tether.pecord.io"
var room: String = RoomIdentity.derive() var room: String = RoomIdentity.derive()
var feed: [FeedItem] = [] var feed: [FeedItem] = []
var connected = false var connected = false