This commit is contained in:
Arjun Patel
2026-06-01 12:55:01 -07:00
parent c6354ab0d3
commit 2d9b4805e0
11 changed files with 12 additions and 19 deletions
+2 -1
View File
@@ -6,6 +6,7 @@ import { MakerRpm } from '@electron-forge/maker-rpm';
import { VitePlugin } from '@electron-forge/plugin-vite'; import { VitePlugin } from '@electron-forge/plugin-vite';
import { FusesPlugin } from '@electron-forge/plugin-fuses'; import { FusesPlugin } from '@electron-forge/plugin-fuses';
import { FuseV1Options, FuseVersion } from '@electron/fuses'; import { FuseV1Options, FuseVersion } from '@electron/fuses';
import type { SignToolOptions } from '@electron/windows-sign';
// Windows code signing via Azure Trusted Signing. Dormant unless the workflow // Windows code signing via Azure Trusted Signing. Dormant unless the workflow
// provisions the dlib + metadata file and exports these env vars, so local // provisions the dlib + metadata file and exports these env vars, so local
@@ -16,7 +17,7 @@ import { FuseV1Options, FuseVersion } from '@electron/fuses';
const windowsSign = process.env.AZURE_METADATA_JSON_PATH ? { const windowsSign = process.env.AZURE_METADATA_JSON_PATH ? {
debug: true, debug: true,
signToolPath: process.env.SIGNTOOL_PATH, signToolPath: process.env.SIGNTOOL_PATH,
hashes: ['sha256' as any], hashes: ['sha256'] as SignToolOptions['hashes'],
timestampServer: 'http://timestamp.acs.microsoft.com', timestampServer: 'http://timestamp.acs.microsoft.com',
signWithParams: [ signWithParams: [
'/v', '/v',
+5 -5
View File
@@ -25,12 +25,12 @@ export type ListNetworksResponse = z.infer<typeof ListNetworksResponseSchema>;
// --- Network request/response types --- // --- Network request/response types ---
const CreateNetworkRequestSchema = z.object({ export const CreateNetworkRequestSchema = z.object({
name: z.string(), name: z.string(),
}); });
export type CreateNetworkRequest = z.infer<typeof CreateNetworkRequestSchema>; export type CreateNetworkRequest = z.infer<typeof CreateNetworkRequestSchema>;
const AddMembersRequestSchema = z.object({ export const AddMembersRequestSchema = z.object({
email_addresses: z.array(z.string().email()), email_addresses: z.array(z.string().email()),
}); });
export type AddMembersRequest = z.infer<typeof AddMembersRequestSchema>; export type AddMembersRequest = z.infer<typeof AddMembersRequestSchema>;
@@ -52,7 +52,7 @@ export type RevokeInvitationRequest = { email: string };
// --- Depot types --- // --- Depot types ---
const PrepareUploadRequestSchema = z.object({ export const PrepareUploadRequestSchema = z.object({
network_id: z.string(), network_id: z.string(),
name: z.string(), name: z.string(),
content_type: z.string(), content_type: z.string(),
@@ -251,12 +251,12 @@ export type GetLivekitTokenResponse = z.infer<typeof GetLivekitTokenResponseSche
// --- Auth types --- // --- Auth types ---
const RequestCodeRequestSchema = z.object({ export const RequestCodeRequestSchema = z.object({
email: z.string().email(), email: z.string().email(),
}); });
export type RequestCodeRequest = z.infer<typeof RequestCodeRequestSchema>; export type RequestCodeRequest = z.infer<typeof RequestCodeRequestSchema>;
const SignInRequestSchema = z.object({ export const SignInRequestSchema = z.object({
email: z.string().email(), email: z.string().email(),
code: z.string(), code: z.string(),
}); });
@@ -2,7 +2,6 @@ import { Copy, ExternalLink, Globe } from "lucide-react";
import type { LinkMetadata } from "@/lib/link-metadata"; import type { LinkMetadata } from "@/lib/link-metadata";
import { Skeleton } from "@/components/ui/skeleton"; import { Skeleton } from "@/components/ui/skeleton";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
import { platform } from "@/lib/platform"; import { platform } from "@/lib/platform";
interface LinkPreviewCardProps { interface LinkPreviewCardProps {
@@ -117,7 +117,7 @@ export function ConfigureStreamStep({
{!everyone && members.length > 0 && ( {!everyone && members.length > 0 && (
<ScrollArea className="max-h-48"> <ScrollArea className="max-h-48">
<div className="space-y-0.5 p-1"> <div className="space-y-0.5 p-1">
{members.map((member, index) => { {members.map((member) => {
const isSelected = selectedIds.has(member.id); const isSelected = selectedIds.has(member.id);
const initials = member.email_prefix const initials = member.email_prefix
.slice(0, 2) .slice(0, 2)
@@ -1,5 +1,4 @@
import { Particle } from "@/api/types"; import { Particle } from "@/api/types";
import { useLiveParticleChildren } from "@/hooks/use-particle";
import { parseParticlePath, type ParticlePath } from "@/lib/particle-path"; import { parseParticlePath, type ParticlePath } from "@/lib/particle-path";
import { ComposeOverlay } from "@/features/compose/compose-overlay"; import { ComposeOverlay } from "@/features/compose/compose-overlay";
@@ -9,7 +8,6 @@ interface FolderViewProps {
} }
export function FolderView({ path, folderParticle }: FolderViewProps) { export function FolderView({ path, folderParticle }: FolderViewProps) {
const { children, error, isLoading } = useLiveParticleChildren(path);
const { networkId } = parseParticlePath(path); const { networkId } = parseParticlePath(path);
return ( return (
@@ -13,11 +13,10 @@ import {
Trash2, Trash2,
type LucideIcon, type LucideIcon,
} from "lucide-react"; } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn, getInitials } from "@/lib/utils";
import { useLiveLatestChild } from "@/hooks/use-particle"; import { useLiveLatestChild } from "@/hooks/use-particle";
import { useAuthStore } from "@/stores/auth-store"; import { useAuthStore } from "@/stores/auth-store";
import { particlePath } from "@/lib/particle-path"; import { particlePath } from "@/lib/particle-path";
import { getInitials } from "@/lib/utils";
import { resolveHumanDisplay } from "@/lib/humans"; import { resolveHumanDisplay } from "@/lib/humans";
import { RelativeTimestamp } from "@/components/relative-timestamp"; import { RelativeTimestamp } from "@/components/relative-timestamp";
import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Avatar, AvatarFallback } from "@/components/ui/avatar";
@@ -2,10 +2,9 @@ import { useState } from "react";
import { Plus, Type, X } from "lucide-react"; import { Plus, Type, X } from "lucide-react";
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";
import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Avatar, AvatarFallback } from "@/components/ui/avatar";
import { REACTION_EMOJIS, type Reactions } from "@/api/types"; import { REACTION_EMOJIS, type Reactions, type Human } from "@/api/types";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { resolveHumanDisplay } from "@/lib/humans"; import { resolveHumanDisplay } from "@/lib/humans";
import type { Human } from "@/api/types";
interface ReactionBarProps { interface ReactionBarProps {
reactions: Reactions; reactions: Reactions;
@@ -10,7 +10,6 @@ import {
} from "react"; } from "react";
import { useChannel } from "@/hooks/use-channel"; import { useChannel } from "@/hooks/use-channel";
import { useAuthStore } from "@/stores/auth-store"; import { useAuthStore } from "@/stores/auth-store";
import type { ChannelMessage } from "@/lib/pusher-client";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Types // Types
+1 -2
View File
@@ -1,6 +1,6 @@
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { ChevronRight, LogOut, User, Info, Shield, Mail, Mic, LifeBuoy, FileText, Volume2 } from "lucide-react"; import { ChevronRight, LogOut, Info, Shield, Mail, Mic, LifeBuoy, FileText, Volume2, ArrowLeft } from "lucide-react";
import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Avatar, AvatarFallback } from "@/components/ui/avatar";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
@@ -15,7 +15,6 @@ import { apiClient } from "@/api/client";
import { logError, toUserMessage } from "@/lib/errors"; import { logError, toUserMessage } from "@/lib/errors";
import { toast } from "sonner"; import { toast } from "sonner";
import { PRIVACY_URL, SUPPORT_EMAIL, TERMS_URL } from "@/lib/constants"; import { PRIVACY_URL, SUPPORT_EMAIL, TERMS_URL } from "@/lib/constants";
import { ArrowLeft } from "lucide-react";
import { platform } from "@/lib/platform"; import { platform } from "@/lib/platform";
interface SettingsRowProps { interface SettingsRowProps {
+1 -1
View File
@@ -1,4 +1,4 @@
import { useEffect, useState, useCallback, useRef } from "react"; import { useEffect, useState, useCallback } from "react";
import { usePusherClient } from "@/lib/pusher-provider"; import { usePusherClient } from "@/lib/pusher-provider";
import type { ChannelMessage } from "@/lib/pusher-client"; import type { ChannelMessage } from "@/lib/pusher-client";
@@ -3,7 +3,6 @@ import type { MediaParticleHandle } from "@/features/particles/media-particle-vi
import { useSuspendPlayback } from "@/hooks/use-suspend-playback"; import { useSuspendPlayback } from "@/hooks/use-suspend-playback";
import { selectIsPaused, usePlaybackPauseStore } from "@/stores/playback-pause-store"; import { selectIsPaused, usePlaybackPauseStore } from "@/stores/playback-pause-store";
import { isTypingTarget } from "@/lib/keyboard"; import { isTypingTarget } from "@/lib/keyboard";
import { set } from "zod";
const SPACE_TAP_THRESHOLD_MS = 250; const SPACE_TAP_THRESHOLD_MS = 250;