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
33 changes: 24 additions & 9 deletions apps/browser-extension/utils/twitter-auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,30 @@ export async function captureTwitterTokens(
return false
}

const authHeader = details.requestHeaders?.find(
(header) => header.name.toLowerCase() === "authorization",
)
const cookieHeader = details.requestHeaders?.find(
(header) => header.name.toLowerCase() === "cookie",
)
const csrfHeader = details.requestHeaders?.find(
(header) => header.name.toLowerCase() === "x-csrf-token",
)
let authHeader: chrome.webRequest.HttpHeader | undefined
let cookieHeader: chrome.webRequest.HttpHeader | undefined
let csrfHeader: chrome.webRequest.HttpHeader | undefined

if (details.requestHeaders) {
for (const header of details.requestHeaders) {
if (!header.name) continue
const name = header.name.toLowerCase()

switch (name) {
case "authorization":
authHeader = header
break
case "cookie":
cookieHeader = header
break
case "x-csrf-token":
csrfHeader = header
break
}

if (authHeader && cookieHeader && csrfHeader) break
}
}

if (authHeader?.value && cookieHeader?.value && csrfHeader?.value) {
const tokensAlreadyLogged = await getTokensLogged()
Expand Down
10 changes: 8 additions & 2 deletions apps/web/components/ensure-workspace.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,14 @@ export function EnsureWorkspace({ children }: { children: React.ReactNode }) {
const { session, organizations, isRestoring } = useAuth()

useEffect(() => {
if (!session) return
if (isRestoring || organizations === null) return
if (isRestoring) return
if (!session) {
router.replace(
`/login?redirect=${encodeURIComponent(window.location.href)}`,
)
return
}
if (organizations === null) return
if (organizations.length > 0) return
if (pathname.startsWith("/onboarding")) return
router.replace("/onboarding/welcome?step=input")
Expand Down
14 changes: 8 additions & 6 deletions apps/web/components/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import { useIsMobile } from "@hooks/use-mobile"
import { useLocalStorageUsername } from "@hooks/use-local-storage-username"
import { UserProfileMenu } from "@/components/user-profile-menu"
import { FeedbackModal } from "./feedback-modal"
import { useViewMode } from "@/lib/view-mode-context"
import { useViewMode, type ViewMode } from "@/lib/view-mode-context"
import { useQueryState } from "nuqs"
import { feedbackParam } from "@/lib/search-params"

Expand All @@ -45,22 +45,24 @@ interface HeaderProps {
}

export function Header({ onAddMemory, onOpenChat, onOpenSearch }: HeaderProps) {
const { user } = useAuth()
const { user, isRestoring } = useAuth()
const { selectedProjects, setSelectedProjects } = useProject()
const router = useRouter()
const isMobile = useIsMobile()
const [feedbackOpen, setFeedbackOpen] = useQueryState(
"feedback",
feedbackParam,
)
const isFeedbackOpen = feedbackOpen ?? false
const { viewMode, setViewMode } = useViewMode()

const handleFeedback = () => setFeedbackOpen(true)

const localStorageUsername = useLocalStorageUsername()
const displayName =
user?.displayUsername || localStorageUsername || user?.name || ""
user?.displayUsername ||
(isRestoring ? localStorageUsername : "") ||
user?.name ||
""
const userName = displayName ? `${displayName.split(" ")[0]}'s` : "My"
return (
<div className="flex p-3 md:p-4 justify-between items-center gap-2">
Expand Down Expand Up @@ -141,7 +143,7 @@ export function Header({ onAddMemory, onOpenChat, onOpenSearch }: HeaderProps) {
<Tabs
value={viewMode === "list" ? "grid" : viewMode}
onValueChange={(v) =>
setViewMode(v === "grid" ? "list" : (v as "graph" | "integrations"))
setViewMode(v === "grid" ? "list" : (v as ViewMode))
}
>
<TabsList className="rounded-full border border-[#161F2C] h-11! z-10!">
Expand Down Expand Up @@ -307,7 +309,7 @@ export function Header({ onAddMemory, onOpenChat, onOpenSearch }: HeaderProps) {
<UserProfileMenu />
</div>
<FeedbackModal
isOpen={isFeedbackOpen}
isOpen={feedbackOpen}
onClose={() => setFeedbackOpen(false)}
/>
</div>
Expand Down
Loading
Loading