mirror of
https://github.com/coracle-social/coracle.git
synced 2024-09-29 08:21:20 +00:00
Move db to util/loki
This commit is contained in:
parent
d6709f201b
commit
8cf4306cb3
@ -1,14 +1,11 @@
|
||||
# Current
|
||||
|
||||
- [ ] Refactor
|
||||
- [ ] Rename room to channel
|
||||
- [ ] Delete messages when leaving a room
|
||||
- [ ] Convert watch to take the table object instead of its name
|
||||
- [ ] Add userEvents and fill out isUserEvent
|
||||
- [ ] Add pagination to chat/dms
|
||||
- [ ] Fix scrolling to to when modal is open
|
||||
- [ ] Change pool to take urls, not relay objects
|
||||
- [ ] Take connection health into account when building hints
|
||||
- [ ] Re-apply filter to get rid of unwanted events
|
||||
- [ ] Test migration
|
||||
- [ ] Add custom emoji support
|
||||
- [ ] Fork and white label blowater
|
||||
|
@ -19,7 +19,7 @@
|
||||
fetchJson,
|
||||
tryFetch,
|
||||
} from "src/util/misc"
|
||||
import {onReady} from "src/agent/db"
|
||||
import {onReady} from "src/util/loki"
|
||||
import * as system from "src/system"
|
||||
import pool from "src/agent/pool"
|
||||
import {loadAppData} from "src/app/state"
|
||||
|
@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import type {ComponentType, SvelteComponentTyped} from "svelte"
|
||||
import {Route} from "svelte-routing"
|
||||
import {onReady} from "src/agent/db"
|
||||
import {onReady} from "src/util/loki"
|
||||
import {base64DecodeOrPlainWebSocketURL} from "src/util/misc"
|
||||
import Notifications from "src/app/views/Notifications.svelte"
|
||||
import Bech32Entity from "src/app/views/Bech32Entity.svelte"
|
||||
|
@ -3,7 +3,7 @@
|
||||
import {theme, installPrompt} from "src/partials/state"
|
||||
import PersonCircle from "src/app/shared/PersonCircle.svelte"
|
||||
import {keys, directory, alerts} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import pool from "src/agent/pool"
|
||||
import {routes, slowConnections, menuIsOpen} from "src/app/state"
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
import NoteActions from "src/app/shared/NoteActions.svelte"
|
||||
import Card from "src/partials/Card.svelte"
|
||||
import {nip05, directory, routing, social} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import NoteContent from "src/app/shared/NoteContent.svelte"
|
||||
|
||||
export let note
|
||||
|
@ -6,7 +6,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import ImageCircle from "src/partials/ImageCircle.svelte"
|
||||
import {chat} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let note
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
import Popover from "src/partials/Popover.svelte"
|
||||
import OverflowMenu from "src/partials/OverflowMenu.svelte"
|
||||
import {keys, routing, social, directory} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import pool from "src/agent/pool"
|
||||
import {addToList} from "src/app/state"
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
import ImageCircle from "src/partials/ImageCircle.svelte"
|
||||
import LogoSvg from "src/partials/LogoSvg.svelte"
|
||||
import {directory} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let pubkey
|
||||
export let size = 4
|
||||
|
@ -5,7 +5,7 @@
|
||||
import {numberFmt} from "src/util/misc"
|
||||
import {modal} from "src/partials/state"
|
||||
import {social, routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import network from "src/agent/network"
|
||||
import pool from "src/agent/pool"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import {keys, routing, directory, social, nip05} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import PersonCircle from "src/app/shared/PersonCircle.svelte"
|
||||
import PersonAbout from "src/app/shared/PersonAbout.svelte"
|
||||
import {routes} from "src/app/state"
|
||||
|
@ -3,7 +3,7 @@
|
||||
import {modal} from "src/partials/state"
|
||||
import OverflowMenu from "src/partials/OverflowMenu.svelte"
|
||||
import {keys, routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import {addToList} from "src/app/state"
|
||||
|
||||
export let relay
|
||||
|
@ -10,7 +10,7 @@
|
||||
import Rating from "src/partials/Rating.svelte"
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import {keys, routing, directory} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import pool from "src/agent/pool"
|
||||
import {loadAppData} from "src/app/state"
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
import RelayCard from "src/app/shared/RelayCard.svelte"
|
||||
import {routing} from "src/system"
|
||||
import network from "src/agent/network"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let q = ""
|
||||
export let limit = 50
|
||||
|
@ -9,7 +9,7 @@
|
||||
import NoteContent from "src/app/shared/NoteContent.svelte"
|
||||
import {keys, cmd, chat, routing, settings} from "src/system"
|
||||
import network from "src/agent/network"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let entity
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import ChatListItem from "src/app/views/ChatListItem.svelte"
|
||||
import {keys, chat, routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import network from "src/agent/network"
|
||||
|
||||
let q = ""
|
||||
|
@ -9,7 +9,7 @@
|
||||
import Popover from "src/partials/Popover.svelte"
|
||||
import Feed from "src/app/shared/Feed.svelte"
|
||||
import {keys, content, social} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
const {canSign} = keys
|
||||
const lists = watch(content.lists, () => content.getUserLists())
|
||||
|
@ -5,7 +5,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import ListSummary from "src/app/shared/ListSummary.svelte"
|
||||
import {content} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
const lists = watch(content.lists, () => content.getUserLists())
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import ListSummary from "src/app/shared/ListSummary.svelte"
|
||||
import {content} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let item
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
import Modal from "src/partials/Modal.svelte"
|
||||
import RelayCard from "src/app/shared/RelayCard.svelte"
|
||||
import {DEFAULT_RELAYS, routing, keys} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import network from "src/agent/network"
|
||||
import pool from "src/agent/pool"
|
||||
import {loadAppData} from "src/app/state"
|
||||
|
@ -2,7 +2,7 @@
|
||||
import {fly} from "src/util/transition"
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import {dropAll} from "src/agent/db"
|
||||
import {dropAll} from "src/util/loki"
|
||||
|
||||
let confirmed = false
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
import Channel from "src/partials/Channel.svelte"
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import NoteContent from "src/app/shared/NoteContent.svelte"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import network from "src/agent/network"
|
||||
import {keys, routing, directory, cmd, chat} from "src/system"
|
||||
import {routes} from "src/app/state"
|
||||
|
@ -6,7 +6,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import MessagesListItem from "src/app/views/MessagesListItem.svelte"
|
||||
import {chat} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let activeTab = "messages"
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import Notification from "src/app/views/Notification.svelte"
|
||||
import {social, alerts, cache} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
const {lastChecked} = alerts
|
||||
const tabs = ["Mentions & Replies", "Reactions"]
|
||||
|
@ -6,7 +6,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import PersonInfo from "src/app/shared/PersonInfo.svelte"
|
||||
import {DEFAULT_FOLLOWS, routing, social, directory} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import {modal} from "src/partials/state"
|
||||
|
||||
const {searchProfiles} = directory
|
||||
|
@ -8,7 +8,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import RelayCard from "src/app/shared/RelayCard.svelte"
|
||||
import {routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
let q = ""
|
||||
let search
|
||||
|
@ -14,7 +14,7 @@
|
||||
import PersonRelays from "src/app/shared/PersonRelays.svelte"
|
||||
import {nip05, directory, routing} from "src/system"
|
||||
import pool from "src/agent/pool"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import {routes} from "src/app/state"
|
||||
import PersonCircle from "src/app/shared/PersonCircle.svelte"
|
||||
import PersonAbout from "src/app/shared/PersonAbout.svelte"
|
||||
|
@ -5,7 +5,7 @@
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import PersonActions from "src/app/shared/PersonActions.svelte"
|
||||
import {nip05, directory, settings, routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import PersonCircle from "src/app/shared/PersonCircle.svelte"
|
||||
import PersonAbout from "src/app/shared/PersonAbout.svelte"
|
||||
import PersonNotes from "src/app/shared/PersonNotes.svelte"
|
||||
|
@ -4,7 +4,7 @@
|
||||
import Content from "src/partials/Content.svelte"
|
||||
import RelayCard from "src/app/shared/RelayCard.svelte"
|
||||
import {routing} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
import {modal} from "src/partials/state"
|
||||
|
||||
const relays = watch(routing.policies, () => routing.getUserRelays())
|
||||
|
@ -14,7 +14,7 @@
|
||||
import PersonInfo from "src/app/shared/PersonInfo.svelte"
|
||||
import {keys, directory, routing, content} from "src/system"
|
||||
import network from "src/agent/network"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
let q = ""
|
||||
let options = []
|
||||
|
@ -4,7 +4,7 @@
|
||||
import {sleep} from "src/util/misc"
|
||||
import Spinner from "src/partials/Spinner.svelte"
|
||||
import {keys, directory, chat} from "src/system"
|
||||
import {watch} from "src/agent/db"
|
||||
import {watch} from "src/util/loki"
|
||||
|
||||
export let id
|
||||
export let sendMessage
|
||||
|
@ -2,7 +2,7 @@ import {sortBy} from "ramda"
|
||||
import {synced} from "src/util/misc"
|
||||
import {Tags, isLike, findReplyId, findRootId} from "src/util/nostr"
|
||||
import {derived} from "svelte/store"
|
||||
import {Table, watch} from "src/agent/db"
|
||||
import {Table, watch} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, chat, social, isUserEvent}) => {
|
||||
const events = new Table("alerts/events", "id", {sort: sortBy(e => -e.created_at)})
|
||||
|
@ -1,5 +1,5 @@
|
||||
import {sortBy} from "ramda"
|
||||
import {Table} from "src/agent/db"
|
||||
import {Table} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, social}) => {
|
||||
const events = new Table("cache/events", "id", {
|
||||
|
@ -2,7 +2,7 @@ import {last, sortBy, pick, uniq, fromPairs, pluck, without} from "ramda"
|
||||
import {get} from "svelte/store"
|
||||
import {tryJson, tryFunc} from "src/util/misc"
|
||||
import {Tags, channelAttrs} from "src/util/nostr"
|
||||
import {Table} from "src/agent/db"
|
||||
import {Table} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, getCmd, getUserWriteRelays}) => {
|
||||
const channels = new Table("chat/channels", "id", {
|
||||
|
@ -2,7 +2,7 @@ import {nip19} from "nostr-tools"
|
||||
import {sortBy, nth, inc} from "ramda"
|
||||
import {fuzzy} from "src/util/misc"
|
||||
import {Tags} from "src/util/nostr"
|
||||
import {Table, watch} from "src/agent/db"
|
||||
import {Table, watch} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, getCmd, getUserWriteRelays}) => {
|
||||
const topics = new Table("content/topics", "name", {sort: sortBy(e => -e.count)})
|
||||
|
@ -1,7 +1,7 @@
|
||||
import {nip19} from "nostr-tools"
|
||||
import {ellipsize} from "hurdak/lib/hurdak"
|
||||
import {tryJson, fuzzy} from "src/util/misc"
|
||||
import {Table, watch} from "src/agent/db"
|
||||
import {Table, watch} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, sortByGraph}) => {
|
||||
const profiles = new Table("directory/profiles", "pubkey", {max: 5000, sort: sortByGraph})
|
||||
|
@ -1,7 +1,7 @@
|
||||
import {last} from "ramda"
|
||||
import {nip05} from "nostr-tools"
|
||||
import {tryFunc, tryJson} from "src/util/misc"
|
||||
import {Table} from "src/agent/db"
|
||||
import {Table} from "src/util/loki"
|
||||
|
||||
export default ({sync, sortByGraph}) => {
|
||||
const handles = new Table("nip05/handles", "pubkey", {max: 5000, sort: sortByGraph})
|
||||
|
@ -1,7 +1,7 @@
|
||||
import {fetchJson, tryFunc, tryJson, hexToBech32, bech32ToHex} from "src/util/misc"
|
||||
import {invoiceAmount} from "src/util/lightning"
|
||||
import {Tags} from "src/util/nostr"
|
||||
import {Table} from "src/agent/db"
|
||||
import {Table} from "src/util/loki"
|
||||
|
||||
const getLnUrl = address => {
|
||||
// Try to parse it as a lud06 LNURL
|
||||
|
@ -5,7 +5,7 @@ import {fuzzy, chain, tryJson, now, fetchJson} from "src/util/misc"
|
||||
import {warn} from "src/util/logger"
|
||||
import {normalizeRelayUrl, findReplyId, isShareableRelay, Tags} from "src/util/nostr"
|
||||
import {DUFFLEPUD_URL, DEFAULT_RELAYS, SEARCH_RELAYS, FORCE_RELAYS} from "src/system/env"
|
||||
import {Table, watch} from "src/agent/db"
|
||||
import {Table, watch} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, getCmd, sortByGraph}) => {
|
||||
const relays = new Table("routing/relays", "url", {sort: sortBy(e => -e.count)})
|
||||
|
@ -3,7 +3,7 @@ import {get} from "svelte/store"
|
||||
import {ensurePlural} from "hurdak/lib/hurdak"
|
||||
import {now} from "src/util/misc"
|
||||
import {Tags, findReplyId, findRootId} from "src/util/nostr"
|
||||
import {Table} from "src/agent/db"
|
||||
import {Table} from "src/util/loki"
|
||||
|
||||
export default ({keys, sync, getCmd, getUserWriteRelays}) => {
|
||||
// Don't delete the user's own info or those of direct follows
|
||||
|
@ -168,11 +168,10 @@ type WatchStore<T> = Writable<T> & {
|
||||
refresh: () => void
|
||||
}
|
||||
|
||||
export const watch = (namesOrTables, f) => {
|
||||
namesOrTables = ensurePlural(namesOrTables)
|
||||
export const watch = (tables, f) => {
|
||||
tables = ensurePlural(tables)
|
||||
|
||||
const store = writable(null) as WatchStore<any>
|
||||
const tables = namesOrTables.map(name => (is(Table, name) ? name : registry[name]))
|
||||
const names = pluck("name", tables)
|
||||
|
||||
// Initialize synchronously if possible
|
Loading…
Reference in New Issue
Block a user