Initial public release of Warp.
Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
use std::time::Duration;
|
||||
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
define_settings_group!(SharedSessionSettings, settings: [
|
||||
onboarding_block_shown: SessionSharingOnboardingBlockShown {
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_ending_session: InactivityPeriodBeforeEndingSession {
|
||||
type: Duration,
|
||||
// After a total of 30 min of inactivity, we will end the session
|
||||
default: Duration::from_secs(1800),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_warning: InactivityPeriodBeforeWarning {
|
||||
type: Duration,
|
||||
// After a total of 25 min of inactivity, we will show a warning modal
|
||||
default: Duration::from_secs(1500),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_revoking_roles: InactivityPeriodBeforeRevokingRoles {
|
||||
type: Duration,
|
||||
// After a total of 10 min of inactivity, we will revoke all executor roles
|
||||
default: Duration::from_secs(600),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
private: true,
|
||||
},
|
||||
// Killswitch: when false, the sharer ignores viewer terminal size reports.
|
||||
viewer_driven_sizing_enabled: ViewerDrivenSizingEnabled {
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
private: true,
|
||||
},
|
||||
]);
|
||||
|
||||
impl SharedSessionSettings {
|
||||
/// Returns time between showing the inactivity warning modal and ending the session.
|
||||
pub fn inactivity_period_between_warning_and_ending_session(&self) -> Duration {
|
||||
*self.inactivity_period_before_ending_session.value()
|
||||
- *self.inactivity_period_before_warning.value()
|
||||
}
|
||||
|
||||
/// Returns time between revoking roles and showing the inactivity warning modal.
|
||||
pub fn inactivity_period_between_revoking_roles_and_warning(&self) -> Duration {
|
||||
*self.inactivity_period_before_warning.value()
|
||||
- *self.inactivity_period_before_revoking_roles.value()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user