feat: in-memory fallback for storing user profiles #110
@ -1,39 +0,0 @@
|
|||||||
import { HexKey, TaggedRawEvent, UserMetadata } from "Nostr";
|
|
||||||
import { hexToBech32 } from "../Util";
|
|
||||||
|
|
||||||
export interface MetadataCache extends UserMetadata {
|
|
||||||
/**
|
|
||||||
* When the object was saved in cache
|
|
||||||
*/
|
|
||||||
loaded: number,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When the source metadata event was created
|
|
||||||
*/
|
|
||||||
created: number,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The pubkey of the owner of this metadata
|
|
||||||
*/
|
|
||||||
pubkey: HexKey,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* bech32 encoded pub key
|
|
||||||
*/
|
|
||||||
npub: string
|
|
||||||
};
|
|
||||||
|
|
||||||
export function mapEventToProfile(ev: TaggedRawEvent) {
|
|
||||||
try {
|
|
||||||
let data: UserMetadata = JSON.parse(ev.content);
|
|
||||||
return {
|
|
||||||
pubkey: ev.pubkey,
|
|
||||||
npub: hexToBech32("npub", ev.pubkey),
|
|
||||||
created: ev.created_at,
|
|
||||||
loaded: new Date().getTime(),
|
|
||||||
...data
|
|
||||||
} as MetadataCache;
|
|
||||||
} catch (e) {
|
|
||||||
console.error("Failed to parse JSON", ev, e);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +1,20 @@
|
|||||||
import Dexie, { Table } from "dexie";
|
import Dexie, { Table } from "dexie";
|
||||||
import { MetadataCache } from "Db/User";
|
import { MetadataCache } from "State/Users";
|
||||||
import { hexToBech32 } from "Util";
|
import { hexToBech32 } from "Util";
|
||||||
|
|
||||||
|
export const NAME = 'snortDB'
|
||||||
|
export const VERSION = 2
|
||||||
|
|
||||||
|
const STORES = {
|
||||||
|
users: '++pubkey, name, display_name, picture, nip05, npub'
|
||||||
|
}
|
||||||
|
|
||||||
export class SnortDB extends Dexie {
|
export class SnortDB extends Dexie {
|
||||||
users!: Table<MetadataCache>;
|
users!: Table<MetadataCache>;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super('snortDB');
|
super(NAME);
|
||||||
this.version(2).stores({
|
this.version(VERSION).stores(STORES).upgrade(tx => {
|
||||||
users: '++pubkey, name, display_name, picture, nip05, npub'
|
|
||||||
}).upgrade(tx => {
|
|
||||||
return tx.table("users").toCollection().modify(user => {
|
return tx.table("users").toCollection().modify(user => {
|
||||||
user.npub = hexToBech32("npub", user.pubkey)
|
user.npub = hexToBech32("npub", user.pubkey)
|
||||||
})
|
})
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { useMemo } from "react";
|
import { useMemo } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import { HexKey } from "Nostr";
|
import { HexKey } from "Nostr";
|
||||||
import { hexToBech32, profileLink } from "Util";
|
import { hexToBech32, profileLink } from "Util";
|
||||||
|
|
||||||
export default function Mention({ pubkey }: { pubkey: HexKey }) {
|
export default function Mention({ pubkey }: { pubkey: HexKey }) {
|
||||||
const user = useProfile(pubkey)?.get(pubkey);
|
const user = useUserProfile(pubkey)
|
||||||
|
|
||||||
const name = useMemo(() => {
|
const name = useMemo(() => {
|
||||||
let name = hexToBech32("npub", pubkey).substring(0, 12);
|
let name = hexToBech32("npub", pubkey).substring(0, 12);
|
||||||
@ -18,4 +18,4 @@ export default function Mention({ pubkey }: { pubkey: HexKey }) {
|
|||||||
}, [user, pubkey]);
|
}, [user, pubkey]);
|
||||||
|
|
||||||
return <Link to={profileLink(pubkey)} onClick={(e) => e.stopPropagation()}>@{name}</Link>
|
return <Link to={profileLink(pubkey)} onClick={(e) => e.stopPropagation()}>@{name}</Link>
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ import {
|
|||||||
import AsyncButton from "Element/AsyncButton";
|
import AsyncButton from "Element/AsyncButton";
|
||||||
import LNURLTip from "Element/LNURLTip";
|
import LNURLTip from "Element/LNURLTip";
|
||||||
import Copy from "Element/Copy";
|
import Copy from "Element/Copy";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile }from "Feed/ProfileFeed";
|
||||||
import useEventPublisher from "Feed/EventPublisher";
|
import useEventPublisher from "Feed/EventPublisher";
|
||||||
import { debounce, hexToBech32 } from "Util";
|
import { debounce, hexToBech32 } from "Util";
|
||||||
import { UserMetadata } from "Nostr";
|
import { UserMetadata } from "Nostr";
|
||||||
@ -31,7 +31,7 @@ type ReduxStore = any;
|
|||||||
export default function Nip5Service(props: Nip05ServiceProps) {
|
export default function Nip5Service(props: Nip05ServiceProps) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const pubkey = useSelector<ReduxStore, string>(s => s.login.publicKey);
|
const pubkey = useSelector<ReduxStore, string>(s => s.login.publicKey);
|
||||||
const user = useProfile(pubkey);
|
const user = useUserProfile(pubkey);
|
||||||
const publisher = useEventPublisher();
|
const publisher = useEventPublisher();
|
||||||
const svc = useMemo(() => new ServiceProvider(props.service), [props.service]);
|
const svc = useMemo(() => new ServiceProvider(props.service), [props.service]);
|
||||||
const [serviceConfig, setServiceConfig] = useState<ServiceConfig>();
|
const [serviceConfig, setServiceConfig] = useState<ServiceConfig>();
|
||||||
@ -194,4 +194,4 @@ export default function Nip5Service(props: Nip05ServiceProps) {
|
|||||||
</div>}
|
</div>}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ import { eventLink, getReactions, hexToBech32 } from "Util";
|
|||||||
import NoteFooter from "Element/NoteFooter";
|
import NoteFooter from "Element/NoteFooter";
|
||||||
import NoteTime from "Element/NoteTime";
|
import NoteTime from "Element/NoteTime";
|
||||||
import EventKind from "Nostr/EventKind";
|
import EventKind from "Nostr/EventKind";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfiles } from "Feed/ProfileFeed";
|
||||||
import { TaggedRawEvent, u256 } from "Nostr";
|
import { TaggedRawEvent, u256 } from "Nostr";
|
||||||
import { useInView } from "react-intersection-observer";
|
import { useInView } from "react-intersection-observer";
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ export default function Note(props: NoteProps) {
|
|||||||
const { data, isThread, related, highlight, options: opt, ["data-ev"]: parsedEvent } = props
|
const { data, isThread, related, highlight, options: opt, ["data-ev"]: parsedEvent } = props
|
||||||
const ev = useMemo(() => parsedEvent ?? new NEvent(data), [data]);
|
const ev = useMemo(() => parsedEvent ?? new NEvent(data), [data]);
|
||||||
const pubKeys = useMemo(() => ev.Thread?.PubKeys || [], [ev]);
|
const pubKeys = useMemo(() => ev.Thread?.PubKeys || [], [ev]);
|
||||||
const users = useProfile(pubKeys);
|
const users = useUserProfiles(pubKeys);
|
||||||
const deletions = useMemo(() => getReactions(related, ev.Id, EventKind.Deletion), [related]);
|
const deletions = useMemo(() => getReactions(related, ev.Id, EventKind.Deletion), [related]);
|
||||||
const { ref, inView } = useInView({ triggerOnce: true });
|
const { ref, inView } = useInView({ triggerOnce: true });
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import useEventPublisher from "Feed/EventPublisher";
|
|||||||
import { getReactions, hexToBech32, normalizeReaction, Reaction } from "Util";
|
import { getReactions, hexToBech32, normalizeReaction, Reaction } from "Util";
|
||||||
import { NoteCreator } from "Element/NoteCreator";
|
import { NoteCreator } from "Element/NoteCreator";
|
||||||
import LNURLTip from "Element/LNURLTip";
|
import LNURLTip from "Element/LNURLTip";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import { default as NEvent } from "Nostr/Event";
|
import { default as NEvent } from "Nostr/Event";
|
||||||
import { RootState } from "State/Store";
|
import { RootState } from "State/Store";
|
||||||
import { HexKey, TaggedRawEvent } from "Nostr";
|
import { HexKey, TaggedRawEvent } from "Nostr";
|
||||||
@ -26,7 +26,7 @@ export default function NoteFooter(props: NoteFooterProps) {
|
|||||||
|
|
||||||
const login = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
const login = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
||||||
const prefs = useSelector<RootState, UserPreferences>(s => s.login.preferences);
|
const prefs = useSelector<RootState, UserPreferences>(s => s.login.preferences);
|
||||||
const author = useProfile(ev.RootPubKey)?.get(ev.RootPubKey);
|
const author = useUserProfile(ev.RootPubKey);
|
||||||
const publisher = useEventPublisher();
|
const publisher = useEventPublisher();
|
||||||
const [reply, setReply] = useState(false);
|
const [reply, setReply] = useState(false);
|
||||||
const [tip, setTip] = useState(false);
|
const [tip, setTip] = useState(false);
|
||||||
|
@ -3,7 +3,7 @@ import "./NoteToSelf.css";
|
|||||||
import { Link, useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faBook, faCertificate } from "@fortawesome/free-solid-svg-icons"
|
import { faBook, faCertificate } from "@fortawesome/free-solid-svg-icons"
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import Nip05 from "Element/Nip05";
|
import Nip05 from "Element/Nip05";
|
||||||
import { profileLink } from "Util";
|
import { profileLink } from "Util";
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ export interface NoteToSelfProps {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function NoteLabel({pubkey, link}:NoteToSelfProps) {
|
function NoteLabel({pubkey, link}:NoteToSelfProps) {
|
||||||
const user = useProfile(pubkey)?.get(pubkey);
|
const user = useUserProfile(pubkey);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
Note to Self <FontAwesomeIcon icon={faCertificate} size="xs" />
|
Note to Self <FontAwesomeIcon icon={faCertificate} size="xs" />
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import "./ProfileImage.css";
|
import "./ProfileImage.css";
|
||||||
|
|
||||||
import { useMemo } from "react";
|
import { useMemo } from "react";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import { hexToBech32, profileLink } from "Util";
|
import { hexToBech32, profileLink } from "Util";
|
||||||
import Avatar from "Element/Avatar"
|
import Avatar from "Element/Avatar"
|
||||||
import Nip05 from "Element/Nip05";
|
import Nip05 from "Element/Nip05";
|
||||||
import { HexKey } from "Nostr";
|
import { HexKey } from "Nostr";
|
||||||
import { MetadataCache } from "Db/User";
|
import { MetadataCache } from "State/Users";
|
||||||
|
|
||||||
export interface ProfileImageProps {
|
export interface ProfileImageProps {
|
||||||
pubkey: HexKey,
|
pubkey: HexKey,
|
||||||
@ -19,7 +19,7 @@ export interface ProfileImageProps {
|
|||||||
|
|
||||||
export default function ProfileImage({ pubkey, subHeader, showUsername = true, className, link }: ProfileImageProps) {
|
export default function ProfileImage({ pubkey, subHeader, showUsername = true, className, link }: ProfileImageProps) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const user = useProfile(pubkey)?.get(pubkey);
|
const user = useUserProfile(pubkey);
|
||||||
|
|
||||||
const name = useMemo(() => {
|
const name = useMemo(() => {
|
||||||
return getDisplayName(user, pubkey);
|
return getDisplayName(user, pubkey);
|
||||||
|
@ -3,7 +3,7 @@ import { ReactNode } from "react";
|
|||||||
|
|
||||||
import ProfileImage from "Element/ProfileImage";
|
import ProfileImage from "Element/ProfileImage";
|
||||||
import FollowButton from "Element/FollowButton";
|
import FollowButton from "Element/FollowButton";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import { HexKey } from "Nostr";
|
import { HexKey } from "Nostr";
|
||||||
import { useInView } from "react-intersection-observer";
|
import { useInView } from "react-intersection-observer";
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ export interface ProfilePreviewProps {
|
|||||||
}
|
}
|
||||||
export default function ProfilePreview(props: ProfilePreviewProps) {
|
export default function ProfilePreview(props: ProfilePreviewProps) {
|
||||||
const pubkey = props.pubkey;
|
const pubkey = props.pubkey;
|
||||||
const user = useProfile(pubkey)?.get(pubkey);
|
const user = useUserProfile(pubkey);
|
||||||
const { ref, inView } = useInView({ triggerOnce: true });
|
const { ref, inView } = useInView({ triggerOnce: true });
|
||||||
const options = {
|
const options = {
|
||||||
about: true,
|
about: true,
|
||||||
@ -34,4 +34,4 @@ export default function ProfilePreview(props: ProfilePreviewProps) {
|
|||||||
</>}
|
</>}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import Invoice from "Element/Invoice";
|
|||||||
import Hashtag from "Element/Hashtag";
|
import Hashtag from "Element/Hashtag";
|
||||||
|
|
||||||
import Tag from "Nostr/Tag";
|
import Tag from "Nostr/Tag";
|
||||||
import { MetadataCache } from "Db/User";
|
import { MetadataCache } from "State/Users";
|
||||||
import Mention from "Element/Mention";
|
import Mention from "Element/Mention";
|
||||||
import TidalEmbed from "Element/TidalEmbed";
|
import TidalEmbed from "Element/TidalEmbed";
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
|
@ -2,7 +2,6 @@ import "@webscopeio/react-textarea-autocomplete/style.css";
|
|||||||
import "./Textarea.css";
|
import "./Textarea.css";
|
||||||
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { useLiveQuery } from "dexie-react-hooks";
|
|
||||||
import ReactTextareaAutocomplete from "@webscopeio/react-textarea-autocomplete";
|
import ReactTextareaAutocomplete from "@webscopeio/react-textarea-autocomplete";
|
||||||
import emoji from "@jukben/emoji-search";
|
import emoji from "@jukben/emoji-search";
|
||||||
import TextareaAutosize from "react-textarea-autosize";
|
import TextareaAutosize from "react-textarea-autosize";
|
||||||
@ -10,8 +9,8 @@ import TextareaAutosize from "react-textarea-autosize";
|
|||||||
import Avatar from "Element/Avatar";
|
import Avatar from "Element/Avatar";
|
||||||
import Nip05 from "Element/Nip05";
|
import Nip05 from "Element/Nip05";
|
||||||
import { hexToBech32 } from "Util";
|
import { hexToBech32 } from "Util";
|
||||||
import { db } from "Db";
|
import { MetadataCache } from "State/Users";
|
||||||
import { MetadataCache } from "Db/User";
|
import { useQuery } from "State/Users/Hooks";
|
||||||
|
|
||||||
interface EmojiItemProps {
|
interface EmojiItemProps {
|
||||||
name: string
|
name: string
|
||||||
@ -45,16 +44,7 @@ const UserItem = (metadata: MetadataCache) => {
|
|||||||
const Textarea = ({ users, onChange, ...rest }: any) => {
|
const Textarea = ({ users, onChange, ...rest }: any) => {
|
||||||
const [query, setQuery] = useState('')
|
const [query, setQuery] = useState('')
|
||||||
|
|
||||||
const allUsers = useLiveQuery(
|
const allUsers = useQuery(query)
|
||||||
() => db.users
|
|
||||||
.where("npub").startsWithIgnoreCase(query)
|
|
||||||
.or("name").startsWithIgnoreCase(query)
|
|
||||||
.or("display_name").startsWithIgnoreCase(query)
|
|
||||||
.or("nip05").startsWithIgnoreCase(query)
|
|
||||||
.limit(5)
|
|
||||||
.toArray(),
|
|
||||||
[query],
|
|
||||||
);
|
|
||||||
|
|
||||||
const userDataProvider = (token: string) => {
|
const userDataProvider = (token: string) => {
|
||||||
setQuery(token)
|
setQuery(token)
|
||||||
|
@ -2,12 +2,13 @@ import "./ZapButton.css";
|
|||||||
import { faBolt } from "@fortawesome/free-solid-svg-icons";
|
import { faBolt } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import { HexKey } from "Nostr";
|
import { HexKey } from "Nostr";
|
||||||
import LNURLTip from "Element/LNURLTip";
|
import LNURLTip from "Element/LNURLTip";
|
||||||
|
|
||||||
|
|
||||||
const ZapButton = ({ pubkey, svc }: { pubkey?: HexKey, svc?: string }) => {
|
const ZapButton = ({ pubkey, svc }: { pubkey?: HexKey, svc?: string }) => {
|
||||||
const profile = useProfile(pubkey)?.get(pubkey ?? "");
|
const profile = useUserProfile(pubkey!)
|
||||||
const [zap, setZap] = useState(false);
|
const [zap, setZap] = useState(false);
|
||||||
const service = svc ?? (profile?.lud16 || profile?.lud06);
|
const service = svc ?? (profile?.lud16 || profile?.lud06);
|
||||||
|
|
||||||
|
@ -7,9 +7,9 @@ import EventKind from "Nostr/EventKind";
|
|||||||
import { Subscriptions } from "Nostr/Subscriptions";
|
import { Subscriptions } from "Nostr/Subscriptions";
|
||||||
import { addDirectMessage, addNotifications, setFollows, setRelays } from "State/Login";
|
import { addDirectMessage, addNotifications, setFollows, setRelays } from "State/Login";
|
||||||
import { RootState } from "State/Store";
|
import { RootState } from "State/Store";
|
||||||
import { db } from "Db";
|
import { mapEventToProfile, MetadataCache } from "State/Users";
|
||||||
|
import { getDb } from "State/Users/Db";
|
||||||
import useSubscription from "Feed/Subscription";
|
import useSubscription from "Feed/Subscription";
|
||||||
import { mapEventToProfile, MetadataCache } from "Db/User";
|
|
||||||
import { getDisplayName } from "Element/ProfileImage";
|
import { getDisplayName } from "Element/ProfileImage";
|
||||||
import { MentionRegex } from "Const";
|
import { MentionRegex } from "Const";
|
||||||
|
|
||||||
@ -87,9 +87,10 @@ export default function useLoginFeed() {
|
|||||||
return acc;
|
return acc;
|
||||||
}, { created: 0, profile: <MetadataCache | null>null });
|
}, { created: 0, profile: <MetadataCache | null>null });
|
||||||
if (maxProfile.profile) {
|
if (maxProfile.profile) {
|
||||||
let existing = await db.users.get(maxProfile.profile.pubkey);
|
const db = getDb()
|
||||||
|
let existing = await db.find(maxProfile.profile.pubkey);
|
||||||
if ((existing?.created ?? 0) < maxProfile.created) {
|
if ((existing?.created ?? 0) < maxProfile.created) {
|
||||||
await db.users.put(maxProfile.profile);
|
await db.put(maxProfile.profile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})().catch(console.warn);
|
})().catch(console.warn);
|
||||||
@ -115,10 +116,12 @@ export default function useLoginFeed() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function makeNotification(ev: TaggedRawEvent) {
|
async function makeNotification(ev: TaggedRawEvent) {
|
||||||
|
const db = getDb()
|
||||||
switch (ev.kind) {
|
switch (ev.kind) {
|
||||||
case EventKind.TextNote: {
|
case EventKind.TextNote: {
|
||||||
const pubkeys = new Set([ev.pubkey, ...ev.tags.filter(a => a[0] === "p").map(a => a[1]!)]);
|
const pubkeys = new Set([ev.pubkey, ...ev.tags.filter(a => a[0] === "p").map(a => a[1]!)]);
|
||||||
const users = (await db.users.bulkGet(Array.from(pubkeys))).filter(a => a !== undefined).map(a => a!);
|
const users = await db.bulkGet(Array.from(pubkeys))
|
||||||
|
// @ts-ignore
|
||||||
const fromUser = users.find(a => a?.pubkey === ev.pubkey);
|
const fromUser = users.find(a => a?.pubkey === ev.pubkey);
|
||||||
const name = getDisplayName(fromUser, ev.pubkey);
|
const name = getDisplayName(fromUser, ev.pubkey);
|
||||||
const avatarUrl = (fromUser?.picture?.length ?? 0) === 0 ? Nostrich : fromUser?.picture;
|
const avatarUrl = (fromUser?.picture?.length ?? 0) === 0 ? Nostrich : fromUser?.picture;
|
||||||
@ -159,4 +162,4 @@ async function sendNotification(ev: TaggedRawEvent) {
|
|||||||
vibrate: [500]
|
vibrate: [500]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,27 +1,13 @@
|
|||||||
import { useLiveQuery } from "dexie-react-hooks";
|
import { useLiveQuery } from "dexie-react-hooks";
|
||||||
import { useEffect } from "react";
|
import { useEffect, useMemo } from "react";
|
||||||
import { db } from "Db";
|
import { RootState } from "State/Store";
|
||||||
import { MetadataCache } from "Db/User";
|
import { MetadataCache } from "State/Users";
|
||||||
|
import { useKey, useKeys } from "State/Users/Hooks";
|
||||||
import { HexKey } from "Nostr";
|
import { HexKey } from "Nostr";
|
||||||
import { System } from "Nostr/System";
|
import { System } from "Nostr/System";
|
||||||
|
|
||||||
export default function useProfile(pubKey?: HexKey | Array<HexKey> | undefined): Map<HexKey, MetadataCache> | undefined {
|
export function useUserProfile(pubKey: HexKey): MetadataCache | undefined {
|
||||||
const user = useLiveQuery(async () => {
|
const users = useKey(pubKey);
|
||||||
let userList = new Map<HexKey, MetadataCache>();
|
|
||||||
if (pubKey) {
|
|
||||||
if (Array.isArray(pubKey)) {
|
|
||||||
let ret = await db.users.bulkGet(pubKey);
|
|
||||||
let filtered = ret.filter(a => a !== undefined).map(a => a!);
|
|
||||||
return new Map(filtered.map(a => [a.pubkey, a]))
|
|
||||||
} else {
|
|
||||||
let ret = await db.users.get(pubKey);
|
|
||||||
if (ret) {
|
|
||||||
userList.set(ret.pubkey, ret);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return userList;
|
|
||||||
}, [pubKey]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (pubKey) {
|
if (pubKey) {
|
||||||
@ -30,5 +16,19 @@ export default function useProfile(pubKey?: HexKey | Array<HexKey> | undefined):
|
|||||||
}
|
}
|
||||||
}, [pubKey]);
|
}, [pubKey]);
|
||||||
|
|
||||||
return user;
|
return users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function useUserProfiles(pubKeys: Array<HexKey>): Map<HexKey, MetadataCache> | undefined {
|
||||||
|
const users = useKeys(pubKeys);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (pubKeys) {
|
||||||
|
System.TrackMetadata(pubKeys);
|
||||||
|
return () => System.UntrackMetadata(pubKeys);
|
||||||
|
}
|
||||||
|
}, [pubKeys]);
|
||||||
|
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { HexKey, TaggedRawEvent } from "Nostr";
|
import { HexKey, TaggedRawEvent } from "Nostr";
|
||||||
import { ProfileCacheExpire } from "Const";
|
import { ProfileCacheExpire } from "Const";
|
||||||
import { db } from "Db";
|
import { mapEventToProfile, MetadataCache, } from "State/Users";
|
||||||
import { mapEventToProfile, MetadataCache } from "Db/User";
|
import { getDb } from "State/Users/Db";
|
||||||
import Connection, { RelaySettings } from "Nostr/Connection";
|
import Connection, { RelaySettings } from "Nostr/Connection";
|
||||||
import Event from "Nostr/Event";
|
import Event from "Nostr/Event";
|
||||||
import EventKind from "Nostr/EventKind";
|
import EventKind from "Nostr/EventKind";
|
||||||
@ -167,7 +167,8 @@ export class NostrSystem {
|
|||||||
|
|
||||||
async _FetchMetadata() {
|
async _FetchMetadata() {
|
||||||
let missing = new Set<HexKey>();
|
let missing = new Set<HexKey>();
|
||||||
let meta = await db.users.bulkGet(Array.from(this.WantsMetadata));
|
const db = getDb()
|
||||||
|
let meta = await db.bulkGet(Array.from(this.WantsMetadata));
|
||||||
let expire = new Date().getTime() - ProfileCacheExpire;
|
let expire = new Date().getTime() - ProfileCacheExpire;
|
||||||
for (let pk of this.WantsMetadata) {
|
for (let pk of this.WantsMetadata) {
|
||||||
let m = meta.find(a => a?.pubkey === pk);
|
let m = meta.find(a => a?.pubkey === pk);
|
||||||
@ -190,18 +191,18 @@ export class NostrSystem {
|
|||||||
sub.OnEvent = async (e) => {
|
sub.OnEvent = async (e) => {
|
||||||
let profile = mapEventToProfile(e);
|
let profile = mapEventToProfile(e);
|
||||||
if (profile) {
|
if (profile) {
|
||||||
let existing = await db.users.get(profile.pubkey);
|
let existing = await db.find(profile.pubkey);
|
||||||
if ((existing?.created ?? 0) < profile.created) {
|
if((existing?.created ?? 0) < profile.created) {
|
||||||
await db.users.put(profile);
|
await db.put(profile);
|
||||||
} else if (existing) {
|
} else if(existing) {
|
||||||
await db.users.update(profile.pubkey, { loaded: new Date().getTime() });
|
await db.update(profile.pubkey, { loaded: new Date().getTime() });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let results = await this.RequestSubscription(sub);
|
let results = await this.RequestSubscription(sub);
|
||||||
let couldNotFetch = Array.from(missing).filter(a => !results.some(b => b.pubkey === a));
|
let couldNotFetch = Array.from(missing).filter(a => !results.some(b => b.pubkey === a));
|
||||||
console.debug("No profiles: ", couldNotFetch);
|
console.debug("No profiles: ", couldNotFetch);
|
||||||
await db.users.bulkPut(couldNotFetch.map(a => {
|
await db.bulkPut(couldNotFetch.map(a => {
|
||||||
return {
|
return {
|
||||||
pubkey: a,
|
pubkey: a,
|
||||||
loaded: new Date().getTime()
|
loaded: new Date().getTime()
|
||||||
@ -213,4 +214,4 @@ export class NostrSystem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const System = new NostrSystem();
|
export const System = new NostrSystem();
|
||||||
|
@ -6,7 +6,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||||||
import { faGear, faEnvelope } from "@fortawesome/free-solid-svg-icons";
|
import { faGear, faEnvelope } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { useNavigate, useParams } from "react-router-dom";
|
import { useNavigate, useParams } from "react-router-dom";
|
||||||
|
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import FollowButton from "Element/FollowButton";
|
import FollowButton from "Element/FollowButton";
|
||||||
import { extractLnAddress, parseId, hexToBech32 } from "Util";
|
import { extractLnAddress, parseId, hexToBech32 } from "Util";
|
||||||
import Avatar from "Element/Avatar";
|
import Avatar from "Element/Avatar";
|
||||||
@ -33,7 +33,7 @@ export default function ProfilePage() {
|
|||||||
const params = useParams();
|
const params = useParams();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const id = useMemo(() => parseId(params.id!), [params]);
|
const id = useMemo(() => parseId(params.id!), [params]);
|
||||||
const user = useProfile(id)?.get(id);
|
const user = useUserProfile(id);
|
||||||
const loginPubKey = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
const loginPubKey = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
||||||
const follows = useSelector<RootState, HexKey[]>(s => s.login.follows);
|
const follows = useSelector<RootState, HexKey[]>(s => s.login.follows);
|
||||||
const isMe = loginPubKey === id;
|
const isMe = loginPubKey === id;
|
||||||
|
@ -8,7 +8,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||||||
import { faShop } from "@fortawesome/free-solid-svg-icons";
|
import { faShop } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
|
||||||
import useEventPublisher from "Feed/EventPublisher";
|
import useEventPublisher from "Feed/EventPublisher";
|
||||||
import useProfile from "Feed/ProfileFeed";
|
import { useUserProfile } from "Feed/ProfileFeed";
|
||||||
import VoidUpload from "Feed/VoidUpload";
|
import VoidUpload from "Feed/VoidUpload";
|
||||||
import { logout } from "State/Login";
|
import { logout } from "State/Login";
|
||||||
import { hexToBech32, openFile } from "Util";
|
import { hexToBech32, openFile } from "Util";
|
||||||
@ -22,7 +22,7 @@ export default function ProfileSettings() {
|
|||||||
const id = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
const id = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
|
||||||
const privKey = useSelector<RootState, HexKey | undefined>(s => s.login.privateKey);
|
const privKey = useSelector<RootState, HexKey | undefined>(s => s.login.privateKey);
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const user = useProfile(id)?.get(id || "");
|
const user = useUserProfile(id!);
|
||||||
const publisher = useEventPublisher();
|
const publisher = useEventPublisher();
|
||||||
|
|
||||||
const [name, setName] = useState<string>();
|
const [name, setName] = useState<string>();
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
import { configureStore } from "@reduxjs/toolkit";
|
import { configureStore } from "@reduxjs/toolkit";
|
||||||
import { reducer as LoginReducer } from "State/Login";
|
import { reducer as LoginReducer } from "State/Login";
|
||||||
|
import { reducer as UsersReducer } from "State/Users";
|
||||||
|
|
||||||
const store = configureStore({
|
const store = configureStore({
|
||||||
reducer: {
|
reducer: {
|
||||||
login: LoginReducer
|
login: LoginReducer,
|
||||||
|
users: UsersReducer,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export type RootState = ReturnType<typeof store.getState>
|
export type RootState = ReturnType<typeof store.getState>
|
||||||
export type AppDispatch = typeof store.dispatch
|
export type AppDispatch = typeof store.dispatch
|
||||||
|
|
||||||
export default store;
|
export default store;
|
||||||
|
75
src/State/Users.ts
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
|||||||
|
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
import { HexKey, TaggedRawEvent, UserMetadata } from "Nostr";
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
import { hexToBech32 } from "../Util";
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export interface MetadataCache extends UserMetadata {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
/**
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
* When the object was saved in cache
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
*/
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
loaded: number,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
/**
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
* When the source metadata event was created
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
*/
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
created: number,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
/**
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
* The pubkey of the owner of this metadata
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
*/
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
pubkey: HexKey
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
/**
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
* The bech32 encoded pubkey
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
*/
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
npub: string
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
};
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export function mapEventToProfile(ev: TaggedRawEvent) {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
try {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
let data: UserMetadata = JSON.parse(ev.content);
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
return {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
pubkey: ev.pubkey,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
npub: hexToBech32("npub", ev.pubkey),
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
created: ev.created_at,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
loaded: new Date().getTime(),
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
...data
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
} as MetadataCache;
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
} catch (e) {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
console.error("Failed to parse JSON", ev, e);
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
}
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
}
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export interface UsersDb {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
isAvailable(): Promise<boolean>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
query(str: string): Promise<MetadataCache[]>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
find(key: HexKey): Promise<MetadataCache | undefined>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
add(user: MetadataCache): Promise<any>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
put(user: MetadataCache): Promise<any>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
bulkAdd(users: MetadataCache[]): Promise<any>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
bulkGet(keys: HexKey[]): Promise<MetadataCache[]>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
bulkPut(users: MetadataCache[]): Promise<any>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
update(key: HexKey, fields: Record<string, any>): Promise<any>
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
}
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export interface UsersStore {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
/**
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
* A list of seen users
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
*/
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
users: Record<HexKey, MetadataCache>,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
};
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
const InitState = { users: {} } as UsersStore;
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
const UsersSlice = createSlice({
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
name: "Users",
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
initialState: InitState,
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
reducers: {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
setUsers(state, action: PayloadAction<Record<HexKey, MetadataCache>>) {
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
state.users = action.payload
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
}
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
}
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
});
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export const { setUsers } = UsersSlice.actions
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
|||||||
|
export const reducer = UsersSlice.reducer;
|
||||||
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a At startup we can test if indexdDb is available with This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a `const SnortDb` we can have `const db = SnortDb | ReduxDb` which both implement the users store, no need for try/catch then
At startup we can test if indexdDb is available with `window.indexdDb.open("test").catch(() => "Not supported")` or something similar, at this point we initialize the `db` to be `ReduxDb` which implements `UsersDb` or some other interface
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later Hey if you dont have time to make these changes maybe lets just merge it now and work on it later
|
149
src/State/Users/Db.ts
Normal file
@ -0,0 +1,149 @@
|
|||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
import { HexKey } from "Nostr";
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
import { db as idb } from "Db";
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
import { UsersDb, MetadataCache, setUsers } from "State/Users";
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
import store from "State/Store";
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
class IndexedDb implements UsersDb {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
isAvailable() {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
if ("indexedDB" in window) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return new Promise<boolean>((resolve) => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const req = window.indexedDB.open("dummy", 1)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
req.onsuccess = (ev) => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
resolve(true)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
req.onerror = (ev) => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
resolve(false)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return Promise.resolve(false)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
find(key: HexKey) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.get(key);
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
query(q: string) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.where("npub").startsWithIgnoreCase(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.or("name").startsWithIgnoreCase(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.or("display_name").startsWithIgnoreCase(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.or("nip05").startsWithIgnoreCase(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.limit(5)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
.toArray()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
bulkGet(keys: HexKey[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.bulkGet(keys).then(ret => ret.filter(a => a !== undefined).map(a => a!));
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
add(user: MetadataCache) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.add(user)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
put(user: MetadataCache) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.put(user)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
bulkAdd(users: MetadataCache[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.bulkAdd(users)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
bulkPut(users: MetadataCache[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.bulkPut(users)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
update(key: HexKey, fields: Record<string, any>) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return idb.users.update(key, fields)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
function groupByPubkey(acc: Record<HexKey, MetadataCache>, user: MetadataCache) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return { ...acc, [user.pubkey]: user }
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
class ReduxUsersDb implements UsersDb {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async isAvailable() { return true }
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async query(q: string) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return Object.values(users).filter(user => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const profile = user as MetadataCache
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return profile.name?.includes(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|| profile.npub?.includes(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|| profile.display_name?.includes(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|| profile.nip05?.includes(q)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async find(key: HexKey) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return users[key]
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async add(user: MetadataCache) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
store.dispatch(setUsers({...users, [user.pubkey]: user }))
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async put(user: MetadataCache) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
store.dispatch(setUsers({...users, [user.pubkey]: user }))
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async bulkAdd(newUserProfiles: MetadataCache[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const newUsers = newUserProfiles.reduce(groupByPubkey, {})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
store.dispatch(setUsers({...users, ...newUsers }))
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async bulkGet(keys: HexKey[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const ids = new Set([...keys])
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return Object.values(users).filter(user => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return ids.has(user.pubkey)
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async update(key: HexKey, fields: Record<string, any>) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const current = users[key]
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const updated = {...current, ...fields }
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
store.dispatch(setUsers({...users, [key]: updated }))
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
async bulkPut(newUsers: MetadataCache[]) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const state = store.getState()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const { users } = state.users
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const newProfiles = newUsers.reduce(groupByPubkey, {})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
store.dispatch(setUsers({ ...users, ...newProfiles }))
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
const indexedDb = new IndexedDb()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
export const inMemoryDb = new ReduxUsersDb()
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
let db: UsersDb = inMemoryDb
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
indexedDb.isAvailable().then((available) => {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
if (available) {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
console.debug('Using Indexed DB')
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
db = indexedDb;
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
} else {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
console.debug('Using in-memory DB')
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
})
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
export function getDb() {
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
return db
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
|||||||
|
}
|
||||||
Might as well try to open the SnortDb so we dont have a random "test" db be there forever Might as well try to open the SnortDb so we dont have a random "test" db be there forever
This seems to create an empty database and not store anything inside? This seems to create an empty database and not store anything inside?
I'll go back to using a dummy I'll go back to using a dummy `test` db with version 1 then, wdyt?
Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there Still doesnt seem to actually use IndexdDb, in logs it says its using indexdb but its not storing anything there
My bad, My bad, https://github.com/v0l/snort/pull/110/commits/59878776d5a377e62937d1120c3b73a011a91c95 should fix it
|
60
src/State/Users/Hooks.ts
Normal file
@ -0,0 +1,60 @@
|
|||||||
`db.find`?
`db.find`?
|
|||||||
|
import { useSelector } from "react-redux"
|
||||||
`db.find`?
|
|||||||
|
import { useLiveQuery } from "dexie-react-hooks";
|
||||||
`db.find`?
|
|||||||
|
import { MetadataCache } from "State/Users";
|
||||||
`db.find`?
|
|||||||
|
import { getDb, inMemoryDb } from "State/Users/Db";
|
||||||
`db.find`?
|
|||||||
|
import type { RootState } from "State/Store"
|
||||||
`db.find`?
|
|||||||
|
import { HexKey } from "Nostr";
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
export function useQuery(query: string, limit: number = 5) {
|
||||||
`db.find`?
|
|||||||
|
const db = getDb()
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
const allUsers = useLiveQuery(
|
||||||
`db.find`?
|
|||||||
|
() => db.query(query)
|
||||||
`db.find`?
|
|||||||
|
.catch((err) => {
|
||||||
`db.find`?
|
|||||||
|
console.error(err)
|
||||||
`db.find`?
|
|||||||
|
}).then(() => {
|
||||||
`db.find`?
|
|||||||
|
return inMemoryDb.query(query)
|
||||||
`db.find`?
|
|||||||
|
}),
|
||||||
`db.find`?
|
|||||||
|
[query],
|
||||||
`db.find`?
|
|||||||
|
)
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
return allUsers
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
export function useKey(pubKey: HexKey) {
|
||||||
`db.find`?
|
|||||||
|
const db = getDb()
|
||||||
`db.find`?
|
|||||||
|
const { users } = useSelector((state: RootState) => state.users)
|
||||||
`db.find`?
|
|||||||
|
const defaultUser = users[pubKey]
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
const user = useLiveQuery(async () => {
|
||||||
`db.find`?
|
|||||||
|
if (pubKey) {
|
||||||
`db.find`?
|
|||||||
|
try {
|
||||||
`db.find`?
|
|||||||
|
return await db.find(pubKey);
|
||||||
`db.find`?
|
|||||||
|
} catch (error) {
|
||||||
`db.find`?
|
|||||||
|
console.error(error)
|
||||||
`db.find`?
|
|||||||
|
return defaultUser
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
}, [pubKey, defaultUser]);
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
return user
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
export function useKeys(pubKeys: HexKey[]): Map<HexKey, MetadataCache> {
|
||||||
`db.find`?
|
|||||||
|
const db = getDb()
|
||||||
`db.find`?
|
|||||||
|
const dbUsers = useLiveQuery(async () => {
|
||||||
`db.find`?
|
|||||||
|
if (pubKeys) {
|
||||||
`db.find`?
|
|||||||
|
try {
|
||||||
`db.find`?
|
|||||||
|
const ret = await db.bulkGet(pubKeys);
|
||||||
`db.find`?
|
|||||||
|
return new Map(ret.map(a => [a.pubkey, a]))
|
||||||
`db.find`?
|
|||||||
|
} catch (error) {
|
||||||
`db.find`?
|
|||||||
|
console.error(error)
|
||||||
`db.find`?
|
|||||||
|
const ret = await inMemoryDb.bulkGet(pubKeys);
|
||||||
`db.find`?
|
|||||||
|
return new Map(ret.map(a => [a.pubkey, a]))
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
|||||||
|
return new Map()
|
||||||
`db.find`?
|
|||||||
|
}, [pubKeys]);
|
||||||
`db.find`?
|
|||||||
|
|
||||||
`db.find`?
|
|||||||
|
return dbUsers!
|
||||||
`db.find`?
|
|||||||
|
}
|
||||||
`db.find`?
|
This is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a
const SnortDb
we can haveconst db = SnortDb | ReduxDb
which both implement the users store, no need for try/catch thenAt startup we can test if indexdDb is available with
window.indexdDb.open("test").catch(() => "Not supported")
or something similar, at this point we initialize thedb
to beReduxDb
which implementsUsersDb
or some other interfaceThis is great, i think we can improve it one more way, if we create an interface which defines these methods, then instead of using try/catch with a
const SnortDb
we can haveconst db = SnortDb | ReduxDb
which both implement the users store, no need for try/catch thenAt startup we can test if indexdDb is available with
window.indexdDb.open("test").catch(() => "Not supported")
or something similar, at this point we initialize thedb
to beReduxDb
which implementsUsersDb
or some other interfaceHey if you dont have time to make these changes maybe lets just merge it now and work on it later
Hey if you dont have time to make these changes maybe lets just merge it now and work on it later