Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though
This commit is contained in:
@@ -3,10 +3,10 @@ use std::{fs::remove_file, time::Duration};
|
||||
|
||||
use anyhow::Context;
|
||||
use chrono::{LocalResult, TimeZone, Utc};
|
||||
use warp_core::execution_mode::AppExecutionMode;
|
||||
use warp_core::{report_error, report_if_error};
|
||||
use warpui::r#async::{FutureExt as _, Timer};
|
||||
use warpui::{App, Entity, ModelContext, SingletonEntity};
|
||||
use galaxy_core::execution_mode::AppExecutionMode;
|
||||
use galaxy_core::{report_error, report_if_error};
|
||||
use galaxyui::r#async::{FutureExt as _, Timer};
|
||||
use galaxyui::{App, Entity, ModelContext, SingletonEntity};
|
||||
|
||||
use super::{rudder_event_file_path, RUDDER_TELEMETRY_EVENTS_FILE_NAME};
|
||||
use crate::auth::AuthStateProvider;
|
||||
@@ -107,7 +107,7 @@ impl TelemetryCollector {
|
||||
if execution_mode.send_telemetry_at_shutdown() {
|
||||
let privacy_settings_snapshot = PrivacySettings::as_ref(ctx).get_snapshot(ctx);
|
||||
let server_api = self.server_api.clone();
|
||||
match warpui::r#async::block_on(async move {
|
||||
match galaxyui::r#async::block_on(async move {
|
||||
server_api
|
||||
.flush_telemetry_events(privacy_settings_snapshot)
|
||||
.with_timeout(TELEMETRY_SHUTDOWN_FLUSH_TIMEOUT)
|
||||
@@ -144,7 +144,7 @@ impl TelemetryCollector {
|
||||
async move {
|
||||
let new_path = rudder_event_file_path();
|
||||
let old_path =
|
||||
warp_core::paths::state_dir().join(RUDDER_TELEMETRY_EVENTS_FILE_NAME);
|
||||
galaxy_core::paths::state_dir().join(RUDDER_TELEMETRY_EVENTS_FILE_NAME);
|
||||
|
||||
// Try flushing from both new and legacy locations.
|
||||
for path in [new_path, old_path] {
|
||||
@@ -156,7 +156,7 @@ impl TelemetryCollector {
|
||||
// case where we accidentally try to re-flush the events on the next app startup.
|
||||
if let Err(e) = remove_file(&path) {
|
||||
if e.kind() != std::io::ErrorKind::NotFound {
|
||||
warp_core::report_error!(
|
||||
galaxy_core::report_error!(
|
||||
anyhow::anyhow!(e).context("Failed to remove persisted event file")
|
||||
);
|
||||
}
|
||||
@@ -184,7 +184,7 @@ impl TelemetryCollector {
|
||||
if let LocalResult::Single(timestamp) =
|
||||
Utc.timestamp_opt(last_active_timestamp, 0)
|
||||
{
|
||||
warpui::telemetry::record_app_active_event(
|
||||
galaxyui::telemetry::record_app_active_event(
|
||||
auth_state.user_id().map(|uid| uid.as_string()),
|
||||
auth_state.anonymous_id(),
|
||||
timestamp,
|
||||
|
||||
@@ -10,7 +10,7 @@ use serde_json::{json, Value};
|
||||
use std::sync::OnceLock;
|
||||
|
||||
#[cfg(target_family = "wasm")]
|
||||
use warpui::platform::wasm;
|
||||
use galaxyui::platform::wasm;
|
||||
|
||||
static TELEMETRY_CONTEXT: OnceLock<TelemetryContext> = OnceLock::new();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use warp_core::telemetry::{TelemetryContextModel, TelemetryContextProvider};
|
||||
use warpui::{AppContext, ModelContext, SingletonEntity};
|
||||
use galaxy_core::telemetry::{TelemetryContextModel, TelemetryContextProvider};
|
||||
use galaxyui::{AppContext, ModelContext, SingletonEntity};
|
||||
|
||||
use crate::auth::AuthStateProvider;
|
||||
|
||||
|
||||
@@ -10,14 +10,14 @@ use session_sharing_protocol::common::SessionId as SharedSessionId;
|
||||
use session_sharing_protocol::sharer::SessionEndedReason;
|
||||
use strum_macros::EnumDiscriminants;
|
||||
use strum_macros::EnumIter;
|
||||
use warp_completer::completer::MatchType;
|
||||
use warp_core::command::ExitCode;
|
||||
use warp_core::telemetry::EnablementState;
|
||||
use warp_core::telemetry::TelemetryEvent as TelemetryEventTrait;
|
||||
use warp_core::telemetry::TelemetryEventDesc;
|
||||
use warpui::keymap::Keystroke;
|
||||
use warpui::notification::{NotificationSendError, RequestPermissionsOutcome};
|
||||
use warpui::rendering::ThinStrokes;
|
||||
use galaxy_completer::completer::MatchType;
|
||||
use galaxy_core::command::ExitCode;
|
||||
use galaxy_core::telemetry::EnablementState;
|
||||
use galaxy_core::telemetry::TelemetryEvent as TelemetryEventTrait;
|
||||
use galaxy_core::telemetry::TelemetryEventDesc;
|
||||
use galaxyui::keymap::Keystroke;
|
||||
use galaxyui::notification::{NotificationSendError, RequestPermissionsOutcome};
|
||||
use galaxyui::rendering::ThinStrokes;
|
||||
|
||||
use crate::ai::agent::api::ServerConversationToken;
|
||||
use crate::ai::agent::conversation::AIConversationId;
|
||||
@@ -105,7 +105,7 @@ use crate::workspace::tab_settings::TabCloseButtonPosition;
|
||||
use crate::workspace::tab_settings::WorkspaceDecorationVisibility;
|
||||
use crate::workspace::TabMovement;
|
||||
use session_sharing_protocol::sharer::SessionSourceType;
|
||||
use warp_core::interval_timer::TimingDataPoint;
|
||||
use galaxy_core::interval_timer::TimingDataPoint;
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub struct BootstrappingInfo {
|
||||
@@ -2624,7 +2624,7 @@ pub enum TelemetryEvent {
|
||||
AgentManagementViewCopiedSessionLink,
|
||||
/// Detected that Warp is running in an isolated sandbox.
|
||||
DetectedIsolationPlatform {
|
||||
platform: warp_isolation_platform::IsolationPlatformType,
|
||||
platform: galaxy_isolation_platform::IsolationPlatformType,
|
||||
},
|
||||
|
||||
AgentTipShown {
|
||||
@@ -2852,7 +2852,7 @@ impl TelemetryEventTrait for TelemetryEvent {
|
||||
}
|
||||
|
||||
fn event_descs() -> impl Iterator<Item = Box<dyn TelemetryEventDesc>> {
|
||||
warp_core::telemetry::enum_events::<Self>()
|
||||
galaxy_core::telemetry::enum_events::<Self>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5008,7 +5008,7 @@ impl TelemetryEvent {
|
||||
// We initialize the feature flags so that we can determine which telemetry events to print.
|
||||
crate::init_feature_flags();
|
||||
|
||||
let events: serde_json::Map<String, Value> = warp_core::telemetry::all_events()
|
||||
let events: serde_json::Map<String, Value> = galaxy_core::telemetry::all_events()
|
||||
.filter_map(|event| {
|
||||
if !event.enablement_state().is_enabled() {
|
||||
return None;
|
||||
@@ -6677,7 +6677,7 @@ impl TelemetryEventDesc for TelemetryEventDiscriminants {
|
||||
Self::ObjectLinkCopied => "The web link to an object has been copied.",
|
||||
Self::FileTreeToggled => "Opened the file tree/project explorer",
|
||||
Self::GlobalSearchOpened => "Opened the global search view",
|
||||
Self::GlobalSearchQueryStarted => "Started a global search (warp_ripgrep) search",
|
||||
Self::GlobalSearchQueryStarted => "Started a global search (galaxy_ripgrep) search",
|
||||
Self::FileTreeItemAttachedAsContext => {
|
||||
"Attached a file or directory as context from the file tree"
|
||||
}
|
||||
@@ -6994,7 +6994,7 @@ impl TelemetryEventDesc for TelemetryEventDiscriminants {
|
||||
}
|
||||
}
|
||||
|
||||
warp_core::register_telemetry_event!(TelemetryEvent);
|
||||
galaxy_core::register_telemetry_event!(TelemetryEvent);
|
||||
|
||||
#[cfg(test)]
|
||||
#[path = "events_test.rs"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use warp_core::telemetry::TelemetryEventDesc;
|
||||
use galaxy_core::telemetry::TelemetryEventDesc;
|
||||
|
||||
#[derive(Debug)]
|
||||
enum TelemetryEventPropertyError {
|
||||
@@ -16,7 +16,7 @@ enum TelemetryEventPropertyError {
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
fn telemetry_events_have_nonempty_name_and_description() -> Result<(), TelemetryEventPropertyError>
|
||||
{
|
||||
for event in warp_core::telemetry::all_events() {
|
||||
for event in galaxy_core::telemetry::all_events() {
|
||||
if event.name().is_empty() {
|
||||
return Err(TelemetryEventPropertyError::EmptyName(event));
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
macro_rules! send_telemetry_sync_from_ctx {
|
||||
($event:expr, $ctx:expr) => {
|
||||
#[allow(unused_imports)]
|
||||
use warp_core::telemetry::TelemetryEvent as _;
|
||||
use galaxy_core::telemetry::TelemetryEvent as _;
|
||||
let event = $event;
|
||||
if event.enablement_state().is_enabled() {
|
||||
let server_api =
|
||||
<$crate::server::server_api::ServerApiProvider as warpui::SingletonEntity>::handle(
|
||||
<$crate::server::server_api::ServerApiProvider as galaxyui::SingletonEntity>::handle(
|
||||
$ctx,
|
||||
)
|
||||
.as_ref($ctx)
|
||||
.get();
|
||||
let privacy_settings_snapshot =
|
||||
<$crate::settings::PrivacySettings as warpui::SingletonEntity>::handle($ctx)
|
||||
<$crate::settings::PrivacySettings as galaxyui::SingletonEntity>::handle($ctx)
|
||||
.as_ref($ctx)
|
||||
.get_snapshot($ctx);
|
||||
let _ = $ctx.spawn(
|
||||
@@ -40,16 +40,16 @@ macro_rules! send_telemetry_sync_from_ctx {
|
||||
macro_rules! send_telemetry_sync_from_app_ctx {
|
||||
($event:expr, $app_ctx:expr) => {
|
||||
#[allow(unused_imports)]
|
||||
use warp_core::telemetry::TelemetryEvent as _;
|
||||
use galaxy_core::telemetry::TelemetryEvent as _;
|
||||
if $event.enablement_state().is_enabled() {
|
||||
let server_api =
|
||||
<$crate::server::server_api::ServerApiProvider as warpui::SingletonEntity>::handle(
|
||||
<$crate::server::server_api::ServerApiProvider as galaxyui::SingletonEntity>::handle(
|
||||
$app_ctx,
|
||||
)
|
||||
.as_ref($app_ctx)
|
||||
.get();
|
||||
let privacy_settings_snapshot =
|
||||
<$crate::settings::PrivacySettings as warpui::SingletonEntity>::handle($app_ctx)
|
||||
<$crate::settings::PrivacySettings as galaxyui::SingletonEntity>::handle($app_ctx)
|
||||
.as_ref($app_ctx)
|
||||
.get_snapshot($app_ctx);
|
||||
$app_ctx
|
||||
@@ -75,12 +75,12 @@ macro_rules! send_telemetry_sync_from_app_ctx {
|
||||
macro_rules! send_telemetry_on_executor {
|
||||
($auth_state: expr, $event:expr, $executor:expr) => {
|
||||
#[allow(unused_imports)]
|
||||
use warp_core::telemetry::TelemetryEvent as _;
|
||||
use galaxy_core::telemetry::TelemetryEvent as _;
|
||||
let event = $event;
|
||||
if event.enablement_state().is_enabled() {
|
||||
let user_id = $auth_state.user_id().map(|uid| uid.as_string());
|
||||
let anonymous_id = $auth_state.anonymous_id();
|
||||
warpui::record_telemetry_on_executor!(
|
||||
galaxyui::record_telemetry_on_executor!(
|
||||
user_id,
|
||||
anonymous_id,
|
||||
event.name().into(),
|
||||
|
||||
@@ -28,22 +28,22 @@ use std::fs::File;
|
||||
use std::fs::OpenOptions;
|
||||
use std::future::Future;
|
||||
use std::path::{Path, PathBuf};
|
||||
use warp_core::channel::RudderStackDestination;
|
||||
use warpui::telemetry::Event;
|
||||
use galaxy_core::channel::RudderStackDestination;
|
||||
use galaxyui::telemetry::Event;
|
||||
|
||||
/// Filename for file where telemetry events are written on app quit.
|
||||
const RUDDER_TELEMETRY_EVENTS_FILE_NAME: &str = "rudder_telemetry_events.json";
|
||||
|
||||
/// Filepath where the Rudder events should be written on app quit.
|
||||
fn rudder_event_file_path() -> PathBuf {
|
||||
warp_core::paths::secure_state_dir()
|
||||
.unwrap_or_else(warp_core::paths::state_dir)
|
||||
galaxy_core::paths::secure_state_dir()
|
||||
.unwrap_or_else(galaxy_core::paths::state_dir)
|
||||
.join(RUDDER_TELEMETRY_EVENTS_FILE_NAME)
|
||||
}
|
||||
|
||||
/// Removes all telemetry events from the app telemetry event queue.
|
||||
pub fn clear_event_queue() {
|
||||
let _ = warpui::telemetry::flush_events();
|
||||
let _ = galaxyui::telemetry::flush_events();
|
||||
}
|
||||
|
||||
pub struct TelemetryApi {
|
||||
@@ -91,7 +91,7 @@ impl TelemetryApi {
|
||||
// Batches up telemetry events from the global queue and sends a Message to the Rudderstack API.
|
||||
// Returns the number of events that were flushed.
|
||||
pub async fn flush_events(&self, settings_snapshot: PrivacySettingsSnapshot) -> Result<usize> {
|
||||
let events = warpui::telemetry::flush_events();
|
||||
let events = galaxyui::telemetry::flush_events();
|
||||
let event_count = events.len();
|
||||
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
@@ -169,7 +169,7 @@ impl TelemetryApi {
|
||||
|
||||
let file = File::create(path)?;
|
||||
|
||||
let events = warpui::telemetry::flush_events();
|
||||
let events = galaxyui::telemetry::flush_events();
|
||||
if events.len() > max_event_count {
|
||||
log::error!("More telemetry events in queue than the limit to persist")
|
||||
}
|
||||
@@ -198,7 +198,7 @@ impl TelemetryApi {
|
||||
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
fn persist_events_to_telemetry_log_file(&self, events: Vec<Event>) -> Result<()> {
|
||||
let log_directory = warp_logging::log_directory()?;
|
||||
let log_directory = galaxy_logging::log_directory()?;
|
||||
let telemetry_file_path = log_directory.join(&*ChannelState::telemetry_file_name());
|
||||
|
||||
let file = OpenOptions::new()
|
||||
@@ -214,16 +214,16 @@ impl TelemetryApi {
|
||||
&self,
|
||||
user_id: Option<UserUid>,
|
||||
anonymous_id: String,
|
||||
event: impl warp_core::telemetry::TelemetryEvent,
|
||||
event: impl galaxy_core::telemetry::TelemetryEvent,
|
||||
settings_snapshot: PrivacySettingsSnapshot,
|
||||
) -> Result<()> {
|
||||
let event = warpui::telemetry::create_event(
|
||||
let event = galaxyui::telemetry::create_event(
|
||||
user_id.map(|uid| uid.as_string()),
|
||||
anonymous_id,
|
||||
event.name().into(),
|
||||
event.payload(),
|
||||
event.contains_ugc(),
|
||||
warpui::time::get_current_time(),
|
||||
galaxyui::time::get_current_time(),
|
||||
);
|
||||
|
||||
self.send_telemetry_event_internal(event, settings_snapshot)
|
||||
|
||||
@@ -15,22 +15,22 @@ fn test_persist_events_doesnt_include_ugc_events() {
|
||||
let user_id = Some("user".into());
|
||||
let anonymous_id = "anonymous_id".to_owned();
|
||||
|
||||
warpui::telemetry::record_event(
|
||||
galaxyui::telemetry::record_event(
|
||||
user_id.clone(),
|
||||
anonymous_id.clone(),
|
||||
"non UGC event name".into(),
|
||||
None, /* payload */
|
||||
false, /* contains_ugc */
|
||||
warpui::time::get_current_time(),
|
||||
galaxyui::time::get_current_time(),
|
||||
);
|
||||
|
||||
warpui::telemetry::record_event(
|
||||
galaxyui::telemetry::record_event(
|
||||
user_id.clone(),
|
||||
anonymous_id.clone(),
|
||||
"UGC event name".into(),
|
||||
None, /* payload */
|
||||
true, /* contains_ugc */
|
||||
warpui::time::get_current_time(),
|
||||
galaxyui::time::get_current_time(),
|
||||
);
|
||||
|
||||
let file_path = dirs.root().join("rudderstack");
|
||||
|
||||
Reference in New Issue
Block a user