diff --git a/site/.storybook/preview.jsx b/site/.storybook/preview.jsx
index dce12e9ca603c..b84e9d25caa48 100644
--- a/site/.storybook/preview.jsx
+++ b/site/.storybook/preview.jsx
@@ -5,7 +5,6 @@ import { HelmetProvider } from "react-helmet-async"
import { dark } from "../src/theme"
import "../src/theme/globalFonts"
import "../src/i18n"
-import { LocalPreferencesProvider } from "../src/contexts/LocalPreferencesContext"
export const decorators = [
(Story) => (
@@ -24,13 +23,6 @@ export const decorators = [
)
},
- (Story) => {
- return (
-
-
-
- )
- },
]
export const parameters = {
diff --git a/site/src/app.tsx b/site/src/app.tsx
index 1b14863e6b3f9..af58e5641b2b0 100644
--- a/site/src/app.tsx
+++ b/site/src/app.tsx
@@ -9,7 +9,6 @@ import { GlobalSnackbar } from "./components/GlobalSnackbar/GlobalSnackbar"
import { dark } from "./theme"
import "./theme/globalFonts"
import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles"
-import { LocalPreferencesProvider } from "contexts/LocalPreferencesContext"
const queryClient = new QueryClient({
defaultOptions: {
@@ -26,19 +25,17 @@ export const AppProviders: FC = ({ children }) => {
return (
-
-
-
-
-
-
- {children}
-
-
-
-
-
-
+
+
+
+
+
+ {children}
+
+
+
+
+
)
diff --git a/site/src/components/Workspace/Workspace.tsx b/site/src/components/Workspace/Workspace.tsx
index dae6ab8545132..63effb681752e 100644
--- a/site/src/components/Workspace/Workspace.tsx
+++ b/site/src/components/Workspace/Workspace.tsx
@@ -71,8 +71,6 @@ export interface WorkspaceProps {
quota_budget?: number
handleBuildRetry: () => void
buildLogs?: React.ReactNode
- canChangeBuildLogsVisibility: boolean
- isWorkspaceBuildLogsUIActive: boolean
}
/**
@@ -106,8 +104,6 @@ export const Workspace: FC> = ({
handleBuildRetry,
templateWarnings,
buildLogs,
- canChangeBuildLogsVisibility,
- isWorkspaceBuildLogsUIActive,
}) => {
const styles = useStyles()
const navigate = useNavigate()
@@ -211,8 +207,6 @@ export const Workspace: FC> = ({
canChangeVersions={canChangeVersions}
isUpdating={isUpdating}
isRestarting={isRestarting}
- canChangeBuildLogsVisibility={canChangeBuildLogsVisibility}
- isWorkspaceBuildLogsUIActive={isWorkspaceBuildLogsUIActive}
/>
diff --git a/site/src/components/WorkspaceActions/WorkspaceActions.tsx b/site/src/components/WorkspaceActions/WorkspaceActions.tsx
index 248ed96fe71bf..f874b606658ff 100644
--- a/site/src/components/WorkspaceActions/WorkspaceActions.tsx
+++ b/site/src/components/WorkspaceActions/WorkspaceActions.tsx
@@ -22,10 +22,6 @@ import SettingsOutlined from "@mui/icons-material/SettingsOutlined"
import HistoryOutlined from "@mui/icons-material/HistoryOutlined"
import DeleteOutlined from "@mui/icons-material/DeleteOutlined"
import IconButton from "@mui/material/IconButton"
-import Divider from "@mui/material/Divider"
-import VisibilityOffOutlined from "@mui/icons-material/VisibilityOffOutlined"
-import VisibilityOutlined from "@mui/icons-material/VisibilityOutlined"
-import { useLocalPreferences } from "contexts/LocalPreferencesContext"
export interface WorkspaceActionsProps {
workspaceStatus: WorkspaceStatus
@@ -42,8 +38,6 @@ export interface WorkspaceActionsProps {
isRestarting: boolean
children?: ReactNode
canChangeVersions: boolean
- canChangeBuildLogsVisibility: boolean
- isWorkspaceBuildLogsUIActive: boolean
}
export const WorkspaceActions: FC = ({
@@ -60,8 +54,6 @@ export const WorkspaceActions: FC = ({
isUpdating,
isRestarting,
canChangeVersions,
- canChangeBuildLogsVisibility,
- isWorkspaceBuildLogsUIActive,
}) => {
const styles = useStyles()
const {
@@ -72,9 +64,6 @@ export const WorkspaceActions: FC = ({
const canBeUpdated = isOutdated && canAcceptJobs
const menuTriggerRef = useRef(null)
const [isMenuOpen, setIsMenuOpen] = useState(false)
- const localPreferences = useLocalPreferences()
- const isBuildLogsVisible =
- localPreferences.getPreference("buildLogsVisibility") === "visible"
// A mapping of button type to the corresponding React component
const buttonMapping: ButtonMapping = {
@@ -151,39 +140,6 @@ export const WorkspaceActions: FC = ({
Delete
-
- {isWorkspaceBuildLogsUIActive && (
- <>
- theme.palette.divider }} />
- {isBuildLogsVisible ? (
-
- ) : (
-
- )}
- >
- )}
diff --git a/site/src/contexts/LocalPreferencesContext.tsx b/site/src/contexts/LocalPreferencesContext.tsx
deleted file mode 100644
index 164fff495fdfd..0000000000000
--- a/site/src/contexts/LocalPreferencesContext.tsx
+++ /dev/null
@@ -1,111 +0,0 @@
-import {
- ReactNode,
- createContext,
- useCallback,
- useContext,
- useEffect,
- useState,
-} from "react"
-
-const LOCAL_PREFERENCES_KEY = "local-preferences"
-
-const defaultValues = {
- buildLogsVisibility: "visible" as "visible" | "hide",
-}
-
-type LocalPreferencesValues = typeof defaultValues
-type LocalPreference = keyof LocalPreferencesValues
-type LocalPreferenceContextValues = {
- values: LocalPreferencesValues
- getPreference: (
- name: LocalPreference,
- ) => LocalPreferencesValues[LocalPreference]
- setPreference: (
- name: LocalPreference,
- value: LocalPreferencesValues[LocalPreference],
- ) => void
-}
-
-const LocalPreferencesContext = createContext<
- LocalPreferenceContextValues | undefined
->(undefined)
-
-export const LocalPreferencesProvider = ({
- children,
-}: {
- children: ReactNode
-}) => {
- const [state, setState] = useState<{
- ready: boolean
- values: LocalPreferencesValues
- }>({ ready: false, values: defaultValues })
-
- useEffect(() => {
- const preferencesStr = window.localStorage.getItem(LOCAL_PREFERENCES_KEY)
- if (preferencesStr) {
- try {
- const values = JSON.parse(preferencesStr)
- setState({ ...values, ready: true })
- return
- } catch (error) {
- console.warn(
- "Error on parsing local preferences. Default values are used.",
- )
- }
- }
-
- setState((state) => ({ ...state, ready: true }))
- }, [])
-
- const getPreference: LocalPreferenceContextValues["getPreference"] =
- useCallback(
- (name) => {
- return state.values[name]
- },
- [state.values],
- )
-
- const setPreference: LocalPreferenceContextValues["setPreference"] =
- useCallback((name, value) => {
- setState((state) => {
- const newState = {
- ...state,
- values: {
- ...state.values,
- [name]: value,
- },
- }
- window.localStorage.setItem(
- LOCAL_PREFERENCES_KEY,
- JSON.stringify(newState),
- )
- return newState
- })
- }, [])
-
- return (
-
- {children}
-
- )
-}
-
-export const useLocalPreferences = () => {
- const context = useContext(LocalPreferencesContext)
- if (context === undefined) {
- throw new Error(
- "useLocalPreference must be used within a LocalPreferenceProvider",
- )
- }
- return context
-}
diff --git a/site/src/pages/WorkspacePage/WorkspaceBuildLogsSection.tsx b/site/src/pages/WorkspacePage/WorkspaceBuildLogsSection.tsx
index acc5208093213..8d02ed36ca46d 100644
--- a/site/src/pages/WorkspacePage/WorkspaceBuildLogsSection.tsx
+++ b/site/src/pages/WorkspacePage/WorkspaceBuildLogsSection.tsx
@@ -1,7 +1,4 @@
-import CloseOutlined from "@mui/icons-material/CloseOutlined"
import Box from "@mui/material/Box"
-import IconButton from "@mui/material/IconButton"
-import Tooltip from "@mui/material/Tooltip"
import { ProvisionerJobLog } from "api/typesGenerated"
import { Loader } from "components/Loader/Loader"
import { WorkspaceBuildLogs } from "components/WorkspaceBuildLogs/WorkspaceBuildLogs"
@@ -9,10 +6,8 @@ import { useRef, useEffect } from "react"
export const WorkspaceBuildLogsSection = ({
logs,
- onHide,
}: {
logs: ProvisionerJobLog[] | undefined
- onHide?: () => void
}) => {
const scrollRef = useRef(null)
@@ -43,24 +38,6 @@ export const WorkspaceBuildLogsSection = ({
})}
>
Build logs
- {onHide && (
-
-
- ({
- color: theme.palette.text.secondary,
- "&:hover": {
- color: theme.palette.text.primary,
- },
- })}
- >
-
-
-
-
- )}
{
- if (canChangeBuildLogsVisibility) {
- localPreferences.setPreference("buildLogsVisibility", "hide")
- }
- }}
- />
+
)
}
/>