Wrapping up bedrock implementation
This commit is contained in:
@@ -4,8 +4,8 @@ use crate::terminal::model::{
|
||||
ObfuscateSecrets,
|
||||
};
|
||||
use chrono::{DateTime, FixedOffset, Utc};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use galaxy_graphql::mutations::share_block::DisplaySetting as GqlDisplaySetting;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
// These are pixel heights of various parts of an embedded block.
|
||||
pub const TITLE_HEIGHT: u32 = 34;
|
||||
|
||||
@@ -21,13 +21,13 @@ use super::update_manager::UpdateManager;
|
||||
|
||||
use chrono::{DateTime, Utc};
|
||||
use futures_util::stream::AbortHandle;
|
||||
use std::time::Duration;
|
||||
use galaxyui::r#async::Timer;
|
||||
use std::time::Duration;
|
||||
|
||||
use async_channel::Sender;
|
||||
|
||||
use std::sync::Arc;
|
||||
use galaxyui::{Entity, ModelContext, RequestState, SingletonEntity};
|
||||
use std::sync::Arc;
|
||||
|
||||
use instant::Instant;
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ use std::{
|
||||
},
|
||||
};
|
||||
|
||||
use settings::manager::SettingsManager;
|
||||
use galaxy_core::execution_mode::{AppExecutionMode, ExecutionMode};
|
||||
use galaxyui::{App, ModelHandle, SingletonEntity};
|
||||
use settings::manager::SettingsManager;
|
||||
|
||||
use crate::{
|
||||
auth::{auth_manager::AuthManager, AuthStateProvider},
|
||||
|
||||
@@ -72,13 +72,6 @@ use crate::{
|
||||
use chrono::{DateTime, Utc};
|
||||
use futures::channel::oneshot::{self, Receiver};
|
||||
use futures::stream::AbortHandle;
|
||||
use itertools::Itertools;
|
||||
use lazy_static::lazy_static;
|
||||
use regex::Regex;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::future::Future;
|
||||
use std::sync::{mpsc::SyncSender, Arc};
|
||||
use std::time::Duration;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxy_graphql::mcp_gallery_template::MCPGalleryTemplate;
|
||||
use galaxy_graphql::object_permissions::AccessLevel;
|
||||
@@ -86,6 +79,13 @@ use galaxy_graphql::scalars::time::ServerTimestamp;
|
||||
use galaxyui::r#async::{FutureId, Timer};
|
||||
use galaxyui::{duration_with_jitter, AppContext};
|
||||
use galaxyui::{Entity, ModelContext, RequestState, RetryOption, SingletonEntity};
|
||||
use itertools::Itertools;
|
||||
use lazy_static::lazy_static;
|
||||
use regex::Regex;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::future::Future;
|
||||
use std::sync::{mpsc::SyncSender, Arc};
|
||||
use std::time::Duration;
|
||||
|
||||
use super::listener::ObjectUpdateMessage;
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ use std::{collections::HashMap, sync::Arc, time::Duration};
|
||||
|
||||
use chrono::{DateTime, Utc};
|
||||
use futures_lite::future;
|
||||
use settings::{RespectUserSyncSetting, SyncToCloud};
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxy_graphql::{object_permissions::AccessLevel, scalars::time::ServerTimestamp};
|
||||
use galaxyui::{App, ModelHandle, SingletonEntity};
|
||||
use settings::{RespectUserSyncSetting, SyncToCloud};
|
||||
|
||||
#[cfg(test)]
|
||||
use crate::server::server_api::object::MockObjectClient;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
pub mod schema;
|
||||
|
||||
use galaxy_graphql::client::RequestOptions;
|
||||
pub use galaxy_graphql::client::{get_request_context, get_user_facing_error_message, GraphQLError};
|
||||
pub use galaxy_graphql::client::{
|
||||
get_request_context, get_user_facing_error_message, GraphQLError,
|
||||
};
|
||||
|
||||
/// Returns the default [`RequestOptions`] that should be used for a GraphQL request.
|
||||
pub fn default_request_options() -> RequestOptions {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use std::time::Duration;
|
||||
use galaxyui::RetryOption;
|
||||
use std::time::Duration;
|
||||
|
||||
use crate::server::server_api::presigned_upload::HttpStatusError;
|
||||
|
||||
|
||||
@@ -31,15 +31,15 @@ use base64::Engine;
|
||||
use block::BlockClient;
|
||||
use channel_versions::ChannelVersions;
|
||||
use futures::StreamExt;
|
||||
use galaxy_core::context_flag::ContextFlag;
|
||||
use galaxy_core::errors::{register_error, AnyhowErrorExt, ErrorExt};
|
||||
use galaxy_managed_secrets::client::ManagedSecretsClient;
|
||||
use galaxyui::{r#async::BoxFuture, ModelContext};
|
||||
use object::ObjectClient;
|
||||
use prost::Message;
|
||||
use referral::ReferralsClient;
|
||||
use team::TeamClient;
|
||||
use url::Url;
|
||||
use galaxy_core::context_flag::ContextFlag;
|
||||
use galaxy_core::errors::{register_error, AnyhowErrorExt, ErrorExt};
|
||||
use galaxy_managed_secrets::client::ManagedSecretsClient;
|
||||
use galaxyui::{r#async::BoxFuture, ModelContext};
|
||||
use workspace::WorkspaceClient;
|
||||
|
||||
use crate::server::telemetry::TelemetryApi;
|
||||
@@ -51,6 +51,9 @@ use crate::ChannelState;
|
||||
use ::http::header::CONTENT_LENGTH;
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use chrono::{DateTime, FixedOffset};
|
||||
use galaxy_core::telemetry::TelemetryEvent;
|
||||
use galaxyui::Entity;
|
||||
use galaxyui::SingletonEntity;
|
||||
use instant::Instant;
|
||||
use parking_lot::{Mutex, RwLock};
|
||||
use reqwest::StatusCode;
|
||||
@@ -60,9 +63,6 @@ use std::fmt;
|
||||
use std::path::Path;
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
use galaxy_core::telemetry::TelemetryEvent;
|
||||
use galaxyui::Entity;
|
||||
use galaxyui::SingletonEntity;
|
||||
|
||||
use super::experiments::ServerExperiment;
|
||||
use super::experiments::ServerExperiments;
|
||||
@@ -1327,8 +1327,7 @@ impl ServerApiProvider {
|
||||
// to events; it's prone to these sorts of circular reference issues.
|
||||
ctx.dispatch_global_action("app:log_out", ());
|
||||
}
|
||||
ServerApiEvent::NeedsReauth => {
|
||||
}
|
||||
ServerApiEvent::NeedsReauth => {}
|
||||
// Re-emit the event for subscribers.
|
||||
// TODO: we probably want a different type for the event emitted to subscribers
|
||||
// from the one that's used for the async channel.
|
||||
|
||||
@@ -3,6 +3,8 @@ use async_trait::async_trait;
|
||||
use base64::Engine;
|
||||
use chrono::{DateTime, Utc};
|
||||
use cynic::{MutationBuilder, QueryBuilder};
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxy_core::{features::FeatureFlag, report_error};
|
||||
use itertools::Itertools;
|
||||
#[cfg(test)]
|
||||
use mockall::automock;
|
||||
@@ -11,8 +13,6 @@ use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
time::Duration,
|
||||
};
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxy_core::{features::FeatureFlag, report_error};
|
||||
use warp_multi_agent_api::ConversationData;
|
||||
|
||||
use super::auth::AuthClient;
|
||||
@@ -1122,7 +1122,9 @@ impl AIClient for ServerApi {
|
||||
let response = self.send_graphql_request(operation, None).await?;
|
||||
|
||||
match response.user {
|
||||
galaxy_graphql::queries::get_request_limit_info::UserResult::UserOutput(user_output) => {
|
||||
galaxy_graphql::queries::get_request_limit_info::UserResult::UserOutput(
|
||||
user_output,
|
||||
) => {
|
||||
let request_limit_info = user_output.user.request_limit_info.into();
|
||||
|
||||
let workspace_bonus_grants = user_output
|
||||
@@ -1177,7 +1179,8 @@ impl AIClient for ServerApi {
|
||||
match response.user {
|
||||
galaxy_graphql::queries::get_feature_model_choices::UserResult::UserOutput(
|
||||
galaxy_graphql::queries::get_feature_model_choices::UserOutput {
|
||||
user: galaxy_graphql::queries::get_feature_model_choices::User { mut workspaces },
|
||||
user:
|
||||
galaxy_graphql::queries::get_feature_model_choices::User { mut workspaces },
|
||||
},
|
||||
) if !workspaces.is_empty() => {
|
||||
// This is safe (`remove()` can panic) because we ensure workspaces is non-empty
|
||||
@@ -2131,7 +2134,9 @@ impl From<galaxy_graphql::queries::get_feature_model_choices::LlmProvider> for L
|
||||
galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Google => {
|
||||
LLMProvider::Google
|
||||
}
|
||||
galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Xai => LLMProvider::Xai,
|
||||
galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Xai => {
|
||||
LLMProvider::Xai
|
||||
}
|
||||
galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Unknown => {
|
||||
LLMProvider::Unknown
|
||||
}
|
||||
@@ -2183,7 +2188,9 @@ impl From<galaxy_graphql::workspace::LlmSpec> for LLMSpec {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<galaxy_graphql::queries::get_feature_model_choices::LlmUsageMetadata> for LLMUsageMetadata {
|
||||
impl From<galaxy_graphql::queries::get_feature_model_choices::LlmUsageMetadata>
|
||||
for LLMUsageMetadata
|
||||
{
|
||||
fn from(value: galaxy_graphql::queries::get_feature_model_choices::LlmUsageMetadata) -> Self {
|
||||
Self {
|
||||
request_multiplier: value.request_multiplier.max(1) as usize,
|
||||
@@ -2228,7 +2235,9 @@ impl From<galaxy_graphql::workspace::DisableReason> for DisableReason {
|
||||
match value {
|
||||
galaxy_graphql::workspace::DisableReason::AdminDisabled => DisableReason::AdminDisabled,
|
||||
galaxy_graphql::workspace::DisableReason::OutOfRequests => DisableReason::OutOfRequests,
|
||||
galaxy_graphql::workspace::DisableReason::ProviderOutage => DisableReason::ProviderOutage,
|
||||
galaxy_graphql::workspace::DisableReason::ProviderOutage => {
|
||||
DisableReason::ProviderOutage
|
||||
}
|
||||
galaxy_graphql::workspace::DisableReason::RequiresUpgrade => {
|
||||
DisableReason::RequiresUpgrade
|
||||
}
|
||||
|
||||
@@ -3,13 +3,13 @@ use std::result::Result as StdResult;
|
||||
use anyhow::{anyhow, bail, Result};
|
||||
use async_trait::async_trait;
|
||||
use firebase::FirebaseError;
|
||||
use galaxy_core::errors::{AnyhowErrorExt, ErrorExt};
|
||||
use galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult;
|
||||
use galaxy_graphql::queries::get_conversation_usage::ConversationUsage;
|
||||
use instant::Duration;
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, predicate::*};
|
||||
use thiserror::Error;
|
||||
use galaxy_core::errors::{AnyhowErrorExt, ErrorExt};
|
||||
use galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult;
|
||||
use galaxy_graphql::queries::get_conversation_usage::ConversationUsage;
|
||||
|
||||
use galaxy_graphql::mutations::create_anonymous_user::{
|
||||
AnonymousUserType, CreateAnonymousUserResult,
|
||||
@@ -19,12 +19,12 @@ use galaxy_graphql::mutations::mint_custom_token::MintCustomTokenResult;
|
||||
use galaxy_graphql::queries::api_keys::ApiKeyProperties;
|
||||
use galaxy_graphql::queries::get_user::UserOutput as GqlUserOutput;
|
||||
|
||||
use crate::server::ids::ApiKeyUid;
|
||||
use crate::server::server_api::register_error;
|
||||
use crate::settings::PrivacySettingsSnapshot;
|
||||
use crate::auth::credentials::{AuthToken, Credentials, FirebaseToken, LoginToken};
|
||||
use crate::auth::user::User;
|
||||
use crate::server::experiments::ServerExperiment;
|
||||
use crate::server::ids::ApiKeyUid;
|
||||
use crate::server::server_api::register_error;
|
||||
use crate::settings::PrivacySettingsSnapshot;
|
||||
|
||||
use super::ServerApi;
|
||||
|
||||
@@ -173,7 +173,9 @@ impl AuthClient for ServerApi {
|
||||
_token: LoginToken,
|
||||
_for_refresh: bool,
|
||||
) -> StdResult<FetchUserResult, UserAuthenticationError> {
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled")))
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!(
|
||||
"Server auth disabled"
|
||||
)))
|
||||
}
|
||||
|
||||
async fn fetch_new_custom_token(&self) -> Result<MintCustomTokenResult> {
|
||||
@@ -219,7 +221,10 @@ impl AuthClient for ServerApi {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn update_user_settings(&self, _settings_snapshot: PrivacySettingsSnapshot) -> Result<()> {
|
||||
async fn update_user_settings(
|
||||
&self,
|
||||
_settings_snapshot: PrivacySettingsSnapshot,
|
||||
) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -230,7 +235,9 @@ impl AuthClient for ServerApi {
|
||||
async fn request_device_code(
|
||||
&self,
|
||||
) -> StdResult<oauth2::StandardDeviceAuthorizationResponse, UserAuthenticationError> {
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled")))
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!(
|
||||
"Server auth disabled"
|
||||
)))
|
||||
}
|
||||
|
||||
async fn exchange_device_access_token(
|
||||
@@ -238,7 +245,9 @@ impl AuthClient for ServerApi {
|
||||
_details: &oauth2::StandardDeviceAuthorizationResponse,
|
||||
_timeout: Duration,
|
||||
) -> StdResult<FirebaseToken, UserAuthenticationError> {
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled")))
|
||||
Err(UserAuthenticationError::Unexpected(anyhow!(
|
||||
"Server auth disabled"
|
||||
)))
|
||||
}
|
||||
|
||||
async fn list_api_keys(&self) -> Result<Vec<ApiKeyProperties>> {
|
||||
@@ -325,8 +334,7 @@ register_error!(UserAuthenticationError);
|
||||
impl From<FirebaseError> for UserAuthenticationError {
|
||||
fn from(error: FirebaseError) -> Self {
|
||||
UserAuthenticationError::Unexpected(
|
||||
anyhow::Error::from(error)
|
||||
.context("Firebase error (server auth disabled)"),
|
||||
anyhow::Error::from(error).context("Firebase error (server auth disabled)"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,6 @@ use anyhow::anyhow;
|
||||
use async_trait::async_trait;
|
||||
use chrono::Utc;
|
||||
use cynic::{MutationBuilder, QueryBuilder};
|
||||
#[cfg(test)]
|
||||
use mockall::automock;
|
||||
use std::convert::TryFrom;
|
||||
use galaxy_core::channel::{Channel, ChannelState};
|
||||
use galaxy_graphql::{
|
||||
mutations::{
|
||||
@@ -24,6 +21,9 @@ use galaxy_graphql::{
|
||||
Block as GqlBlock, GetBlocksForUser, GetBlocksForUserVariables,
|
||||
},
|
||||
};
|
||||
#[cfg(test)]
|
||||
use mockall::automock;
|
||||
use std::convert::TryFrom;
|
||||
|
||||
#[cfg_attr(test, automock)]
|
||||
#[cfg_attr(not(target_family = "wasm"), async_trait)]
|
||||
|
||||
@@ -46,9 +46,6 @@ use async_channel::Sender;
|
||||
use async_trait::async_trait;
|
||||
use chrono::{DateTime, Utc};
|
||||
use cynic::{MutationBuilder, QueryBuilder, SubscriptionBuilder};
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, predicate::*};
|
||||
use std::collections::HashMap;
|
||||
use galaxy_core::report_error;
|
||||
use galaxy_graphql::{
|
||||
error::UserFacingErrorInterface,
|
||||
@@ -154,6 +151,9 @@ use galaxy_graphql::{
|
||||
get_warp_drive_updates::GetWarpDriveUpdates, start_graphql_streaming_operation,
|
||||
},
|
||||
};
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, predicate::*};
|
||||
use std::collections::HashMap;
|
||||
|
||||
/// Identifies a guest to remove from an object.
|
||||
#[derive(Clone, Debug)]
|
||||
|
||||
@@ -3,8 +3,6 @@ use crate::server::graphql::{get_request_context, get_user_facing_error_message}
|
||||
use anyhow::{anyhow, Result};
|
||||
use async_trait::async_trait;
|
||||
use cynic::{MutationBuilder, QueryBuilder};
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, predicate::*};
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxy_graphql::{
|
||||
mutations::send_referral_invite_emails::{
|
||||
@@ -12,6 +10,8 @@ use galaxy_graphql::{
|
||||
},
|
||||
queries::get_referral_info::{GetReferralInfo, GetReferralInfoVariables},
|
||||
};
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, predicate::*};
|
||||
|
||||
/// Referral information for the logged-in user
|
||||
pub struct ReferralInfo {
|
||||
|
||||
@@ -502,14 +502,14 @@ impl TeamClient for ServerApi {
|
||||
let result = self.send_graphql_request(operation, None).await?;
|
||||
|
||||
match result.user {
|
||||
galaxy_graphql::queries::get_discoverable_teams::UserResult::UserOutput(user_output) => {
|
||||
Ok(user_output
|
||||
.user
|
||||
.discoverable_teams
|
||||
.into_iter()
|
||||
.map(|gql_team_data| Ok(gql_team_data.into()))
|
||||
.collect::<Result<Vec<DiscoverableTeam>>>()?)
|
||||
}
|
||||
galaxy_graphql::queries::get_discoverable_teams::UserResult::UserOutput(
|
||||
user_output,
|
||||
) => Ok(user_output
|
||||
.user
|
||||
.discoverable_teams
|
||||
.into_iter()
|
||||
.map(|gql_team_data| Ok(gql_team_data.into()))
|
||||
.collect::<Result<Vec<DiscoverableTeam>>>()?),
|
||||
galaxy_graphql::queries::get_discoverable_teams::UserResult::UserFacingError(
|
||||
user_facing_error,
|
||||
) => Err(anyhow!(get_user_facing_error_message(user_facing_error))),
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
use chrono::{DateTime, Utc};
|
||||
use derivative::Derivative;
|
||||
use galaxy_graphql::scalars::time::ServerTimestamp;
|
||||
use galaxyui::{
|
||||
r#async::FutureId, Entity, ModelContext, RequestState, RetryOption, SingletonEntity,
|
||||
};
|
||||
use http::StatusCode;
|
||||
use std::borrow::Cow;
|
||||
use std::{
|
||||
@@ -7,8 +11,6 @@ use std::{
|
||||
sync::Arc,
|
||||
time::Duration,
|
||||
};
|
||||
use galaxy_graphql::scalars::time::ServerTimestamp;
|
||||
use galaxyui::{r#async::FutureId, Entity, ModelContext, RequestState, RetryOption, SingletonEntity};
|
||||
|
||||
use lazy_static::lazy_static;
|
||||
use uuid::Uuid;
|
||||
|
||||
@@ -25,10 +25,10 @@ use crate::{NetworkStatus, QueueItem, SyncQueue};
|
||||
use anyhow::anyhow;
|
||||
use chrono::{DateTime, Duration, Utc};
|
||||
use firebase::FirebaseError;
|
||||
use itertools::Itertools;
|
||||
use std::sync::Arc;
|
||||
use galaxy_server_client::cloud_object::ServerPermissions;
|
||||
use galaxyui::{r#async::Timer, App, Entity, ModelHandle, SingletonEntity};
|
||||
use itertools::Itertools;
|
||||
use std::sync::Arc;
|
||||
|
||||
#[cfg(test)]
|
||||
use crate::server::server_api::object::MockObjectClient;
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
use std::collections::HashSet;
|
||||
use std::time::Duration;
|
||||
|
||||
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 serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use serde_json::Value;
|
||||
@@ -10,14 +18,6 @@ use session_sharing_protocol::common::SessionId as SharedSessionId;
|
||||
use session_sharing_protocol::sharer::SessionEndedReason;
|
||||
use strum_macros::EnumDiscriminants;
|
||||
use strum_macros::EnumIter;
|
||||
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;
|
||||
@@ -104,8 +104,8 @@ use crate::workflows::WorkflowSource;
|
||||
use crate::workspace::tab_settings::TabCloseButtonPosition;
|
||||
use crate::workspace::tab_settings::WorkspaceDecorationVisibility;
|
||||
use crate::workspace::TabMovement;
|
||||
use session_sharing_protocol::sharer::SessionSourceType;
|
||||
use galaxy_core::interval_timer::TimingDataPoint;
|
||||
use session_sharing_protocol::sharer::SessionSourceType;
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub struct BootstrappingInfo {
|
||||
|
||||
@@ -19,6 +19,8 @@ use crate::settings::PrivacySettingsSnapshot;
|
||||
use crate::ChannelState;
|
||||
use anyhow::Result;
|
||||
use futures::FutureExt;
|
||||
use galaxy_core::channel::RudderStackDestination;
|
||||
use galaxyui::telemetry::Event;
|
||||
use rudder_message::{
|
||||
Batch as RudderBatch, BatchMessage as RudderBatchMessageWithMetadata,
|
||||
BatchMessageItem as RudderBatchMessage, Message as RudderMessage,
|
||||
@@ -28,8 +30,6 @@ use std::fs::File;
|
||||
use std::fs::OpenOptions;
|
||||
use std::future::Future;
|
||||
use std::path::{Path, PathBuf};
|
||||
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";
|
||||
|
||||
@@ -5,12 +5,12 @@ use super::telemetry::rudder_message::{
|
||||
use super::telemetry::secret_redaction::redact_secrets_in_value;
|
||||
use crate::auth::UserUid;
|
||||
use chrono::{DateTime, Utc};
|
||||
use serde_json::{json, Value};
|
||||
use galaxy_core::{
|
||||
channel::{Channel, ChannelState},
|
||||
execution_mode,
|
||||
};
|
||||
use galaxyui::telemetry::EventPayload;
|
||||
use serde_json::{json, Value};
|
||||
|
||||
use super::telemetry::telemetry_context;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use chrono::Utc;
|
||||
use serde_json::json;
|
||||
use galaxyui::telemetry::{Event, EventPayload};
|
||||
use serde_json::json;
|
||||
|
||||
use super::*;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user