Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions crates/hypercolor-ui/src/api/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ fn validate_relative_path(path: &str) -> ApiResult<()> {
|| path.chars().any(char::is_control)
{
return Err(ApiError::Network(
"authenticated daemon API URLs must be relative".to_owned(),
"authenticated Hypercolor API URLs must be relative".to_owned(),
));
}
Ok(())
Expand Down Expand Up @@ -459,7 +459,7 @@ async fn browser_send(
) -> Result<HttpResponse, super::http_transport::HttpTransportError> {
let url =
daemon_url(&request.path).ok_or_else(|| super::http_transport::HttpTransportError {
message: "verified daemon connection is unavailable".to_owned(),
message: "verified Hypercolor connection is unavailable".to_owned(),
})?;
let mut builder = RequestBuilder::new(&url).method(browser_method(request.method));
if let Some(token) = authorization_token() {
Expand Down
2 changes: 1 addition & 1 deletion crates/hypercolor-ui/src/api/system.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ pub async fn fetch_status() -> ApiResult<SystemStatus> {
let system: SystemResource = client::fetch_json("/api/v1/system").await?;
system
.status
.ok_or_else(|| ApiError::Parse("System status requires daemon read access".to_owned()))
.ok_or_else(|| ApiError::Parse("System status requires Hypercolor read access".to_owned()))
}

/// Fetch the latest system sensor snapshot.
Expand Down
2 changes: 1 addition & 1 deletion crates/hypercolor-ui/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,7 @@ fn ApiKeyPrompt(on_unlock: Callback<String>) -> impl IntoView {
<div class="relative w-full max-w-sm rounded-lg border border-edge-subtle bg-surface-overlay p-5 modal-glow">
<div class="text-sm font-semibold text-fg-primary">"Network API Key"</div>
<div class="mt-1 text-xs text-fg-tertiary/75">
"This daemon requires a key for network access."
"The connected computer requires a key for network access."
</div>
<input
node_ref=input_ref
Expand Down
2 changes: 1 addition & 1 deletion crates/hypercolor-ui/src/components/canvas_preview.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1082,7 +1082,7 @@ pub fn CanvasPreview(
title=move || if interactive_active.get() {
"Stop driving the effect from the preview"
} else {
"Drive the effect — send preview clicks, keys, and wheel to the daemon"
"Drive the effect with preview clicks, keys, and wheel input"
}
aria-label=move || if interactive_active.get() {
"Disable interactive preview input"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ pub fn CaptureSharedControls(
<h4
class="text-[9px] font-mono uppercase tracking-[0.15em] shrink-0"
style=label_style
title="Writes the daemon capture pipeline; affects every screen-reactive effect"
title="Changes the connected computer's capture source; affects every screen-reactive effect"
>
"Capture \u{00b7} Shared"
</h4>
Expand Down
4 changes: 2 additions & 2 deletions crates/hypercolor-ui/src/components/install_effect_panel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ pub fn InstallEffectPanel() -> impl IntoView {
<div class="flex items-center justify-between gap-3 border-b border-edge-subtle/70 px-4 py-3">
<div>
<div class="text-sm font-semibold text-fg-primary">"Install Custom Effect"</div>
<div class="text-[11px] text-fg-tertiary">"Preview the artifact metadata before uploading it to the daemon."</div>
<div class="text-[11px] text-fg-tertiary">"Preview the artifact metadata before adding it to Hypercolor."</div>
</div>
<button
type="button"
Expand Down Expand Up @@ -283,7 +283,7 @@ pub fn InstallEffectPanel() -> impl IntoView {
<span class=("inline-flex", true) class=("animate-spin", move || is_uploading.get())>
<Icon icon=if is_uploading.get() { LuLoader } else { LuCheck } width="14px" height="14px" />
</span>
<span>{move || if is_uploading.get() { "Uploading…" } else { "Install to Daemon" }}</span>
<span>{move || if is_uploading.get() { "Uploading…" } else { "Install in Hypercolor" }}</span>
</button>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions crates/hypercolor-ui/src/components/settings_sections.rs
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@ pub fn NetworkSection(
<SectionHeader title="Network" icon=LuGlobe />
<SettingSegmented
label="Access Mode"
description="How the daemon API is exposed"
description="How the Hypercolor API is exposed"
key="network.access_mode"
value=access_mode
options=access_mode_options
Expand All @@ -880,7 +880,7 @@ pub fn NetworkSection(
<Show when=move || access_mode.get() == "custom">
<SettingSegmented
label="Listen Scope"
description="Who can reach the daemon API"
description="Who can reach the Hypercolor API"
key="daemon.listen_scope"
policy_key="daemon.listen_address"
value=listen_scope
Expand Down Expand Up @@ -929,7 +929,7 @@ pub fn NetworkSection(
</Show>
<SettingToggle
label="Open Browser on Start"
description="Automatically open the web UI when the daemon starts"
description="Automatically open the web UI when Hypercolor starts"
key="web.open_browser"
value=open_browser
on_change=on_change
Expand Down Expand Up @@ -1094,7 +1094,7 @@ pub fn RenderingSection(
/>
<SettingDropdown
label="Effect Error Fallback"
description="What the daemon should do after an effect render failure. Clear failed zones replaces dark or crashed assignments with empty scene slots."
description="What Hypercolor should do after an effect render failure. Clear failed zones replaces dark or crashed assignments with empty scene slots."
key="effect_engine.effect_error_fallback"
value=effect_error_fallback
options=Signal::stored(fallback_options)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ pub fn AudioSection(
/>
<SettingDropdown
label="Device"
description="Audio source for reactive effects; applies live when the daemon can switch safely"
description="Audio source for reactive effects; applies live when Hypercolor can switch safely"
key="audio.device"
value=device
options=audio_devices
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ pub fn DeveloperSection(
<div class="text-xs text-fg-tertiary/50 -mt-2 mb-4">"Advanced options for development and debugging"</div>
<SettingDropdown
label="Log Level"
description="Daemon logging verbosity"
description="Hypercolor logging verbosity"
key="daemon.log_level"
value=log_level
options=Signal::stored(log_options)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ pub fn InputSection(
on_change=on_change
/>
<SettingDropdown
label="Daemon effects"
label="Effects on the connected computer"
description="Choose which interaction source authoritative device output receives"
key="input.daemon_route"
value=daemon_route
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ pub(super) fn OpenRgbCard(on_change: Callback<(String, serde_json::Value)>) -> i
{move || match hints.get() {
Some(Ok(Some(hints))) => view! {
<div class="space-y-2">
<p class="text-xs font-medium text-fg-primary">"Install on this computer"</p>
<p class="text-xs font-medium text-fg-primary">"Install on the connected computer"</p>
{hints.into_iter().map(|hint| view! {
<div><code class="block break-all text-xs text-fg-primary">{hint.command}</code><p class="text-xs text-fg-secondary">{hint.note}</p></div>
}).collect_view()}
Expand Down Expand Up @@ -86,7 +86,7 @@ fn OpenRgbStatusView(status: OpenRgbStatus, desktop_hints_ready: Signal<bool>) -
</div>
<p class="text-xs text-fg-secondary">{format!("{} routes have output disabled", status.output_disabled_count)}</p>
<Show when=move || missing && !desktop_hints_ready.get()>
<div class="space-y-2"><p class="text-xs font-medium text-fg-primary">"Install on the daemon host"</p>
<div class="space-y-2"><p class="text-xs font-medium text-fg-primary">"Install on the connected computer"</p>
{host_hints.iter().cloned().map(|hint| view! {
<div><code class="block break-all text-xs text-fg-primary">{hint.command}</code><p class="text-xs text-fg-secondary">{hint.note}</p></div>
}).collect_view()}
Expand Down
17 changes: 10 additions & 7 deletions crates/hypercolor-ui/src/components/settings_sections/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ fn macos_owner_choice(identity: &ServiceIdentity) -> Option<MacosDaemonOwnerChoi
fn humanize_identity(identity: &ServiceIdentity) -> String {
match (identity.run_mode, identity.manager) {
(DaemonRunMode::SupervisedChild, _) => "Hypercolor.app".to_owned(),
(DaemonRunMode::Standalone, _) => "a terminal-launched daemon".to_owned(),
(DaemonRunMode::Standalone, _) => "Hypercolor running from a terminal".to_owned(),
(_, Some(ServiceManager::Launchd)) => "launchd service".to_owned(),
(_, Some(ServiceManager::Homebrew)) => "Homebrew service".to_owned(),
(_, Some(ServiceManager::Systemd)) => "systemd service".to_owned(),
Expand All @@ -431,7 +431,7 @@ const fn owner_choice_label(owner: MacosDaemonOwnerChoice) -> &'static str {
MacosDaemonOwnerChoice::AppSidecar => "Use Hypercolor.app",
MacosDaemonOwnerChoice::DirectLaunchd => "Use launchd service",
MacosDaemonOwnerChoice::Homebrew => "Use Homebrew service",
MacosDaemonOwnerChoice::Standalone => "Use the terminal daemon",
MacosDaemonOwnerChoice::Standalone => "Use Hypercolor from the terminal",
}
}

Expand Down Expand Up @@ -461,10 +461,10 @@ fn macos_owner_outcome_message(outcome: &MacosOwnerCoordinatorOutcome) -> String
fn owner_remedy_label(remedy: &MacosOwnerRemedy) -> String {
match remedy {
MacosOwnerRemedy::StopStandaloneOwner { pid } => {
format!("Quit the terminal-launched daemon (process {pid}), then try again.")
format!("Quit Hypercolor running from the terminal (process {pid}), then try again.")
}
MacosOwnerRemedy::RestartStandalone { pid } => {
format!("Restart the terminal-launched daemon (process {pid}), then try again.")
format!("Restart Hypercolor running from the terminal (process {pid}), then try again.")
}
MacosOwnerRemedy::StartAppSidecar => "Start Hypercolor.app.".to_owned(),
MacosOwnerRemedy::StartLaunchdService => "Start the launchd service.".to_owned(),
Expand All @@ -489,7 +489,7 @@ fn humanize_owner(owner: &str) -> String {
"app_sidecar" => "Hypercolor.app".to_owned(),
"launchd_service" | "direct_launchd" => "launchd service".to_owned(),
"homebrew_service" | "homebrew" => "Homebrew service".to_owned(),
"standalone" => "a terminal-launched daemon".to_owned(),
"standalone" => "Hypercolor running from a terminal".to_owned(),
value => {
let mut value = value.replace('_', " ");
if let Some(first) = value.get_mut(0..1) {
Expand Down Expand Up @@ -740,10 +740,13 @@ mod tests {
recovery_required: None,
};

assert_eq!(humanize_owner("standalone"), "a terminal-launched daemon");
assert_eq!(
humanize_owner("standalone"),
"Hypercolor running from a terminal"
);
assert_eq!(
humanize_identity(&ServiceIdentity::STANDALONE),
"a terminal-launched daemon"
"Hypercolor running from a terminal"
);
assert_eq!(
macos_owner_choices(&status),
Expand Down
6 changes: 3 additions & 3 deletions crates/hypercolor-ui/src/pages/effects.rs
Original file line number Diff line number Diff line change
Expand Up @@ -368,13 +368,13 @@ pub fn EffectsPage() -> impl IntoView {
effect.name,
match effect_error.fallback.as_deref() {
Some("clear_zones") => {
"The daemon cleared this effect from the active scene after a render failure."
"Hypercolor cleared this effect from the active scene after a render failure."
.to_owned()
}
Some(fallback) if !fallback.is_empty() => {
format!("The daemon applied fallback \"{fallback}\" after a render failure.")
format!("Hypercolor applied fallback \"{fallback}\" after a render failure.")
}
_ => "The daemon reported a render failure for this effect.".to_owned(),
_ => "Hypercolor reported a render failure for this effect.".to_owned(),
},
))
});
Expand Down
4 changes: 2 additions & 2 deletions crates/hypercolor-ui/src/ws/transport.rs
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ fn validate_relative_path(path: &str) -> Result<(), WebSocketTransportError> {
return Ok(());
}
Err(WebSocketTransportError {
message: "authenticated daemon WebSocket URLs must be relative".to_owned(),
message: "authenticated Hypercolor WebSocket URLs must be relative".to_owned(),
})
}

Expand All @@ -224,7 +224,7 @@ impl WebSocketTransport for BrowserWebSocketTransport {
events: WebSocketEventHandler,
) -> Result<Rc<dyn WebSocketConnection>, WebSocketTransportError> {
let url = build_ws_url(&request.path).ok_or_else(|| WebSocketTransportError {
message: "verified daemon WebSocket route is unavailable".to_owned(),
message: "verified Hypercolor WebSocket route is unavailable".to_owned(),
})?;
let socket = arraybuffer_websocket(&url, &request.protocol).map_err(|error| {
WebSocketTransportError {
Expand Down
Loading