Update deps

This commit is contained in:
Jon Staab 2024-03-25 14:43:13 -07:00
parent 254549ca9c
commit 92677ab696
113 changed files with 188 additions and 189 deletions

View File

@ -4,14 +4,21 @@ module.exports = {
browser: true,
es2021: true,
},
plugins: ["svelte3", "@typescript-eslint"],
plugins: ["@typescript-eslint"],
overrides: [
{
files: ["*.svelte"],
processor: "svelte3/svelte3",
parser: "svelte-eslint-parser",
parserOptions: {
parser: "@typescript-eslint/parser",
},
},
],
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
extends: [
"eslint:recommended",
"plugin:svelte/recommended",
"plugin:@typescript-eslint/recommended",
],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: "latest",
@ -32,6 +39,8 @@ module.exports = {
"no-extra-semi": "off",
"no-async-promise-executor": "off",
"prefer-const": ["error", {destructuring: "all"}],
"svelte/valid-compile": "off",
"svelte/no-at-html-tags": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extra-semi": "off",
"@typescript-eslint/ban-ts-comment": "off",

BIN
package-lock.json generated

Binary file not shown.

View File

@ -24,14 +24,14 @@
"@tsconfig/svelte": "^5.0.2",
"@types/ramda": "^0.29.9",
"@types/throttle-debounce": "^5.0.2",
"@typescript-eslint/eslint-plugin": "^6.13.1",
"@typescript-eslint/parser": "^6.13.1",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"@vite-pwa/assets-generator": "^0.2.4",
"autoprefixer": "^10.4.16",
"cypress": "^13.6.0",
"dotenv": "^16.4.5",
"eslint": "^8.54.0",
"eslint-plugin-svelte3": "^4.0.0",
"eslint-plugin-svelte": "^2.35.1",
"favicons": "^7.1.5",
"madge": "^6.1.0",
"postcss": "^8.4.31",
@ -49,6 +49,9 @@
},
"dependencies": {
"@bugsnag/js": "^7.22.2",
"@coracle.social/lib": "^0.0.1",
"@coracle.social/network": "^0.0.2",
"@coracle.social/util": "^0.0.2",
"@event-calendar/core": "^2.4.1",
"@event-calendar/day-grid": "^2.4.1",
"@event-calendar/interaction": "^2.4.1",
@ -68,12 +71,11 @@
"normalize-url": "^8.0.0",
"nostr-tools": "^2.1.5",
"npm-run-all": "^4.1.5",
"paravel": "^0.5.7",
"qr-scanner": "^1.4.2",
"qrcode": "^1.5.3",
"ramda": "^0.29.1",
"sharp": "^0.33.3",
"svelte": "^4.2.8",
"svelte": "^4.2.12",
"svelte-check": "^3.6.2",
"svelte-link-preview": "^0.3.3",
"svelte-loading-spinners": "^0.3.4",

View File

@ -5,7 +5,8 @@
import {nip19} from "nostr-tools"
import {pluck} from "ramda"
import {seconds, Fetch} from "hurdak"
import {now, normalizeRelayUrl} from "paravel"
import {now} from "@coracle.social/lib"
import {normalizeRelayUrl} from "@coracle.social/util"
import logger from "src/util/logger"
import * as misc from "src/util/misc"
import * as nostr from "src/util/nostr"

View File

@ -2,15 +2,10 @@
import {fade} from "src/util/transition"
import ForegroundButton from "src/partials/ForegroundButton.svelte"
import ForegroundButtons from "src/partials/ForegroundButtons.svelte"
import {router} from "src/app/router"
let scrollY = 0
const {page} = router
const scrollToTop = () => document.body.scrollIntoView({behavior: "smooth"})
$: showButtons = !$page?.path.match(/^\/channels|logout|settings/)
</script>
<svelte:window bind:scrollY />

View File

@ -21,8 +21,6 @@
displayPubkey,
} from "src/engine"
const {page} = router
const closeSubMenu = () => {
subMenu = null
}
@ -36,17 +34,7 @@
)
}
let subMenu, active
$: {
if ($page?.path.startsWith("/notes")) {
active = "feed"
} else if ($page?.path.startsWith("/notifications")) {
active = "notifications"
} else if ($page?.path.startsWith("/channels")) {
active = "channels"
}
}
let subMenu
</script>
<div class="fixed bottom-0 left-0 top-0 z-nav w-72 bg-tinted-700 transition-colors">

View File

@ -1,5 +1,11 @@
import {last, fromPairs, identity} from "ramda"
import {encodeAddress, decodeAddress, addressFromNaddr, addressToNaddr, fromNostrURI} from "paravel"
import {
encodeAddress,
decodeAddress,
addressFromNaddr,
addressToNaddr,
fromNostrURI,
} from "@coracle.social/util"
import {nip19} from "nostr-tools"
import {Router} from "src/util/router"
import {tryJson} from "src/util/misc"

View File

@ -2,7 +2,7 @@
import {fromPairs} from "ramda"
import {batch} from "hurdak"
import {onMount} from "svelte"
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import Calendar from "@event-calendar/core"
import DayGrid from "@event-calendar/day-grid"
import Interaction from "@event-calendar/interaction"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {encodeAddress, addressToNaddr} from "paravel"
import {encodeAddress, addressToNaddr} from "@coracle.social/util"
import OverflowMenu from "src/partials/OverflowMenu.svelte"
import {router} from "src/app/router"
import {pubkey, isDeleted, hints} from "src/engine"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {secondsToDate, getLocale} from "src/util/misc"
export let event

View File

@ -1,6 +1,6 @@
<script lang="ts">
import cx from "classnames"
import {Tags, getAddress} from "paravel"
import {Tags, getAddress} from "@coracle.social/util"
import {fromPairs} from "ramda"
import {secondsToDate, formatTimestamp, formatTimestampAsDate, getLocale} from "src/util/misc"
import Anchor from "src/partials/Anchor.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import {whereEq, fromPairs} from "ramda"
import Calendar from "@event-calendar/core"
import DayGrid from "@event-calendar/day-grid"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Card from "src/partials/Card.svelte"
import Chip from "src/partials/Chip.svelte"
import Anchor from "src/partials/Anchor.svelte"

View File

@ -1,7 +1,7 @@
<script lang="ts">
import {identity} from "ramda"
import {quantify} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
export let list

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {isChildOf, getIdOrAddress, Tags, matchFilters} from "paravel"
import {isChildOf, getIdOrAddress, Tags, matchFilters} from "@coracle.social/util"
import {reject, whereEq, uniqBy, prop} from "ramda"
import {onMount, onDestroy} from "svelte"
import {quantify, ensurePlural, batch} from "hurdak"

View File

@ -2,7 +2,7 @@
import cx from "classnames"
import {nip19} from "nostr-tools"
import {onMount} from "svelte"
import {toNostrURI, asEvent, Tags, createEvent} from "paravel"
import {toNostrURI, asEvent, Tags, createEvent} from "@coracle.social/util"
import {tweened} from "svelte/motion"
import {identity, filter, sum, uniqBy, prop, pluck} from "ramda"
import {fly} from "src/util/transition"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import FlexColumn from "src/partials/FlexColumn.svelte"
import RelayCard from "src/app/shared/RelayCard.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {urlIsMedia} from "src/util/notes"
import NoteContentLink from "src/app/shared/NoteContentLink.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {onMount} from "svelte"
import FlexColumn from "src/partials/FlexColumn.svelte"
import PersonBadgeSmall from "src/app/shared/PersonBadgeSmall.svelte"

View File

@ -5,7 +5,7 @@
import {nip19} from "nostr-tools"
import {fromPairs} from "ramda"
import {switcherFn} from "hurdak"
import {fromNostrURI, Tags} from "paravel"
import {fromNostrURI, Tags} from "@coracle.social/util"
import {warn} from "src/util/logger"
import {urlIsMedia} from "src/util/notes"
import Chip from "src/partials/Chip.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {fromPairs} from "ramda"
import {addressToNaddr} from "paravel"
import {addressToNaddr} from "@coracle.social/util"
import {urlIsMedia} from "src/util/notes"
import Card from "src/partials/Card.svelte"
import Chip from "src/partials/Chip.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import cx from "classnames"
import {Tags, encodeAddress, addressToNaddr} from "paravel"
import {Tags, encodeAddress, addressToNaddr} from "@coracle.social/util"
import {commaFormat} from "hurdak"
import FlexColumn from "src/partials/FlexColumn.svelte"
import Carousel from "src/partials/Carousel.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import GroupSummary from "src/app/shared/GroupSummary.svelte"
export let note

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import GroupSummary from "src/app/shared/GroupSummary.svelte"
export let note

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {nip19} from "nostr-tools"
import {tryJson} from "src/util/misc"
import Card from "src/partials/Card.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {urlIsMedia} from "src/util/notes"
import NoteContentKind1 from "src/app/shared/NoteContentKind1.svelte"
import NoteContentLink from "src/app/shared/NoteContentLink.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Chip from "src/partials/Chip.svelte"
export let note

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {isShareableRelayUrl} from "paravel"
import {isShareableRelayUrl} from "@coracle.social/util"
import {displayUrl} from "src/util/misc"
import Anchor from "src/partials/Anchor.svelte"
import Media from "src/partials/Media.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {onMount} from "svelte"
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import {filterVals} from "hurdak"
import {asArray} from "src/util/misc"
import Anchor from "src/partials/Anchor.svelte"
@ -20,10 +20,7 @@
const {id, identifier, kind, pubkey} = value
const relays = hints
.merge([
hints.scenario([(value.relays || [])]),
hints.EventParent(note),
])
.merge([hints.scenario([value.relays || []]), hints.EventParent(note)])
.getUrls()
const openQuote = e => {

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {switcherFn} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Anchor from "src/partials/Anchor.svelte"
import Rating from "src/partials/Rating.svelte"
import {router} from "src/app/router"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Anchor from "src/partials/Anchor.svelte"
import Chip from "src/partials/Chip.svelte"
import {router} from "src/app/router"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {join, identity} from "ramda"
import {Tags, createEvent} from "paravel"
import {Tags, createEvent} from "@coracle.social/util"
import {toast} from "src/partials/state"
import Anchor from "src/partials/Anchor.svelte"
import Popover from "src/partials/Popover.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {uniq, pluck} from "ramda"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import PersonLink from "src/app/shared/PersonLink.svelte"
import GroupLink from "src/app/shared/GroupLink.svelte"
import type {DisplayEvent} from "src/engine"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags, createEvent} from "paravel"
import {Tags, createEvent} from "@coracle.social/util"
import {createEventDispatcher} from "svelte"
import {join, without, uniq} from "ramda"
import {slide} from "src/util/transition"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {batch} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Chip from "src/partials/Chip.svelte"
import Subheading from "src/partials/Subheading.svelte"
import Note from "src/app/shared/Note.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {last} from "ramda"
import {normalizeRelayUrl} from 'paravel'
import {normalizeRelayUrl} from "@coracle.social/util"
import OverflowMenu from "src/partials/OverflowMenu.svelte"
import {canSign, relays, relayPolicyUrls, joinRelay, leaveRelay, deriveHasRelay} from "src/engine"
import {router} from "src/app/router"

View File

@ -2,7 +2,7 @@
import {onDestroy} from "svelte"
import {groupBy, filter} from "ramda"
import {mapVals} from "hurdak"
import {isShareableRelayUrl, Tags} from "paravel"
import {isShareableRelayUrl, Tags} from "@coracle.social/util"
import {createScroller} from "src/util/misc"
import {getAvgRating} from "src/util/nostr"
import {getModal} from "src/partials/state"

View File

@ -1,6 +1,6 @@
import Bugsnag from "@bugsnag/js"
import {hash, union} from "hurdak"
import {ConnectionStatus} from "paravel"
import {ConnectionStatus} from "@coracle.social/network"
import {warn} from "src/util/logger"
import {userKinds} from "src/util/nostr"
import {toast} from "src/partials/state"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {nip19} from "nostr-tools"
import {addressFromNaddr, encodeAddress} from "paravel"
import {addressFromNaddr, encodeAddress} from "@coracle.social/util"
import Content from "src/partials/Content.svelte"
import NoteDetail from "src/app/views/NoteDetail.svelte"
import RelayDetail from "src/app/views/RelayDetail.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {onMount} from "svelte"
import {getIdOrAddress, decodeAddress} from "paravel"
import {getIdOrAddress, decodeAddress} from "@coracle.social/util"
import {noteKinds} from "src/util/nostr"
import {fly} from "src/util/transition"
import FlexColumn from "src/partials/FlexColumn.svelte"

View File

@ -1,7 +1,8 @@
<script lang="ts">
import {onMount} from "svelte"
import {inc} from "ramda"
import {Tags, decodeAddress, now, asEventTemplate} from "paravel"
import {now} from "@coracle.social/lib"
import {Tags, decodeAddress, asEventTemplate} from "@coracle.social/util"
import {sleep} from "hurdak"
import {secondsToDate, dateToSeconds} from "src/util/misc"
import FlexColumn from "src/partials/FlexColumn.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import cx from "classnames"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {noteKinds} from "src/util/nostr"
import {theme} from "src/partials/state"
import Anchor from "src/partials/Anchor.svelte"

View File

@ -1,10 +1,10 @@
<script lang="ts">
import {createEvent} from "paravel"
import {toast} from 'src/partials/state'
import {createEvent} from "@coracle.social/util"
import {toast} from "src/partials/state"
import Anchor from "src/partials/Anchor.svelte"
import Subheading from "src/partials/Subheading.svelte"
import {groups, Publisher, signer, hints, deriveAdminKeyForGroup, displayGroup} from "src/engine"
import {router} from 'src/app/router'
import {router} from "src/app/router"
export let address
@ -31,8 +31,8 @@
<Subheading>Delete Group</Subheading>
<p>Are you sure you want to delete {displayGroup($group)}?</p>
<p>
This will only hide this group from supporting clients.
Messages sent to the group may not be deleted from relays.
This will only hide this group from supporting clients. Messages sent to the group may not be
deleted from relays.
</p>
<div class="flex gap-2">
<Anchor button on:click={abort}>Abort</Anchor>

View File

@ -1,12 +1,12 @@
<script lang="ts">
import {toNostrURI} from "paravel"
import {toNostrURI} from "@coracle.social/util"
import {nsecEncode} from "src/util/nostr"
import Anchor from "src/partials/Anchor.svelte"
import Popover from "src/partials/Popover.svelte"
import FlexColumn from "src/partials/FlexColumn.svelte"
import CopyValue from "src/partials/CopyValue.svelte"
import {groups, deriveAdminKeyForGroup, getGroupNaddr} from "src/engine"
import {router} from 'src/app/router'
import {router} from "src/app/router"
export let address
@ -15,7 +15,7 @@
const shareAdminKey = () => {
popover?.hide()
router.at('groups').of(address).at('invite-admin').open()
router.at("groups").of(address).at("invite-admin").open()
}
let popover
@ -32,14 +32,10 @@
<i slot="trigger" class="fa fa-info-circle cursor-pointer" />
<div slot="tooltip">
<FlexColumn>
<p>
This is your group administration password. Keep it secret!
</p>
<p>This is your group administration password. Keep it secret!</p>
<p>
Click
<Anchor modal underline on:click={shareAdminKey}>
here
</Anchor>
<Anchor modal underline on:click={shareAdminKey}>here</Anchor>
to share this key with another user. This will give them
<b>complete</b> control over this group.
</p>

View File

@ -1,7 +1,7 @@
<script>
import {onMount, onDestroy} from "svelte"
import {filter, assoc} from "ramda"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {createScroller} from "src/util/misc"
import {giftWrapKinds} from "src/util/nostr"
import {getModal} from "src/partials/state"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {zipObj, uniq, pluck} from "ramda"
import {normalizeRelayUrl, decodeAddress} from "paravel"
import {normalizeRelayUrl, decodeAddress} from "@coracle.social/util"
import {updateIn} from "src/util/misc"
import Card from "src/partials/Card.svelte"
import Heading from "src/partials/Heading.svelte"

View File

@ -1,5 +1,5 @@
<script lang="ts">
import {Tags, decodeAddress} from "paravel"
import {Tags, decodeAddress} from "@coracle.social/util"
import {randomId} from "hurdak"
import {toast} from "src/partials/state"
import Heading from "src/partials/Heading.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {onMount} from "svelte"
import {Tags, decodeAddress, asEventTemplate} from "paravel"
import {Tags, decodeAddress, asEventTemplate} from "@coracle.social/util"
import {sleep, ucFirst} from "hurdak"
import {inc} from "ramda"
import {getCurrencyOption} from "src/util/i18n"

View File

@ -4,7 +4,8 @@
import {v4 as uuid} from "uuid"
import {join, whereEq, identity} from "ramda"
import {throttle, commaFormat, toTitle, switcherFn} from "hurdak"
import {createEvent, now, Tags} from "paravel"
import {now} from "@coracle.social/lib"
import {createEvent, Tags} from "@coracle.social/util"
import {currencyOptions} from "src/util/i18n"
import {dateToSeconds} from "src/util/misc"
import {toast} from "src/partials/state"

View File

@ -1,7 +1,7 @@
<script lang="ts">
import {onMount} from "svelte"
import {defer} from "hurdak"
import {getIdOrAddress} from "paravel"
import {getIdOrAddress} from "@coracle.social/util"
import {isMobile} from "src/util/html"
import {fly} from "src/util/transition"
import Spinner from "src/partials/Spinner.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {pluck, uniq} from "ramda"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {formatTimestamp} from "src/util/misc"
import Note from "src/app/shared/Note.svelte"
import PeopleAction from "src/app/shared/PeopleAction.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {onMount} from "svelte"
import {Tags, decodeAddress} from "paravel"
import {Tags, decodeAddress} from "@coracle.social/util"
import {sleep} from "hurdak"
import {generatePrivateKey} from "src/util/nostr"
import FlexColumn from "src/partials/FlexColumn.svelte"

View File

@ -1,7 +1,7 @@
<script lang="ts">
import {reject, uniqBy, nth, identity} from "ramda"
import {quantify} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import Card from "src/partials/Card.svelte"
import Input from "src/partials/Input.svelte"
import Modal from "src/partials/Modal.svelte"

View File

@ -1,6 +1,6 @@
<script lang="ts">
import {identity} from "ramda"
import {stripProtocol} from "paravel"
import {stripProtocol} from "@coracle.social/lib"
import {info} from "src/util/logger"
import {ensureProto} from "src/util/misc"
import {noteKinds} from "src/util/nostr"

View File

@ -2,23 +2,15 @@
import {onMount} from "svelte"
import {uniq, pluck} from "ramda"
import {batch} from "hurdak"
import {createScroller} from "src/util/misc"
import {getModal} from "src/partials/state"
import PersonList from "src/app/shared/PersonList.svelte"
import type {Event} from "src/engine"
import {subscribe, loadPubkeys, hints} from "src/engine"
export let pubkey
let limit = 20
let pubkeys = []
const loadMore = async () => {
limit += 20
}
onMount(() => {
const scroller = createScroller(loadMore, {element: getModal()})
const sub = subscribe({
relays: hints.FromPubkeys([pubkey]).getUrls(),
filters: [{kinds: [3], "#p": [pubkey]}],
@ -33,7 +25,6 @@
return () => {
sub.close()
scroller.stop()
}
})
</script>

View File

@ -1,28 +1,14 @@
<script lang="ts">
import {onMount} from "svelte"
import {createScroller} from "src/util/misc"
import {getModal} from "src/partials/state"
import PersonList from "src/app/shared/PersonList.svelte"
import {derivePerson, loadPubkeys, getFollowedPubkeys} from "src/engine"
export let pubkey
let limit = 20
const pubkeys = derivePerson(pubkey).derived(getFollowedPubkeys)
const loadMore = async () => {
limit += 20
}
onMount(() => {
const scroller = createScroller(loadMore, {element: getModal()})
loadPubkeys($pubkeys)
return () => {
scroller.stop()
}
})
</script>

View File

@ -1,7 +1,7 @@
<script lang="ts">
import {identity} from "ramda"
import {seconds} from "hurdak"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {fuzzy} from "src/util/misc"
import {toast} from "src/partials/state"
import Heading from "src/partials/Heading.svelte"

View File

@ -1,7 +1,7 @@
<script lang="ts">
import {onMount} from "svelte"
import {pluck, identity} from "ramda"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {toast, appName} from "src/partials/state"
import Input from "src/partials/Input.svelte"
import Field from "src/partials/Field.svelte"

View File

@ -14,7 +14,8 @@
import {sortBy, uniqBy, uniq, whereEq, filter, map, reject} from "ramda"
import {doPipe} from "hurdak"
import {onDestroy} from "svelte"
import {now, Tags} from "paravel"
import {now} from "@coracle.social/lib"
import {Tags} from "@coracle.social/util"
import Anchor from "src/partials/Anchor.svelte"
import FieldInline from "src/partials/FieldInline.svelte"
import Toggle from "src/partials/Toggle.svelte"

View File

@ -1,6 +1,6 @@
import crypto from "crypto"
import {Fetch} from "hurdak"
import {createEvent} from "paravel"
import {createEvent} from "@coracle.social/util"
import {generatePrivateKey} from "src/util/nostr"
import {signer} from "src/engine/session/derived"

View File

@ -1,6 +1,7 @@
import {assoc, without, uniq, map} from "ramda"
import {createMapOf} from "hurdak"
import {now, createEvent} from "paravel"
import {now} from "@coracle.social/lib"
import {createEvent} from "@coracle.social/util"
import {generatePrivateKey, appDataKeys} from "src/util/nostr"
import {Publisher, getClientTags, mention} from "src/engine/network/utils"
import {hints} from "src/engine/relays/utils"

View File

@ -1,5 +1,5 @@
import {prop, whereEq, uniqBy, uniq} from "ramda"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {tryJson} from "src/util/misc"
import {appDataKeys} from "src/util/nostr"
import {sessions} from "src/engine/session/state"

View File

@ -1,6 +1,6 @@
import {assocPath, uniq} from "ramda"
import {seconds, sleep} from "hurdak"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {sessions} from "src/engine/session/state"
import {session} from "src/engine/session/derived"
import {loadPubkeys, subscribe, MultiCursor} from "src/engine/network/utils"

View File

@ -1,6 +1,7 @@
import {pluck} from "ramda"
import {chunk, seconds} from "hurdak"
import {createEvent, now} from "paravel"
import {now} from "@coracle.social/lib"
import {createEvent} from "@coracle.social/util"
import {generatePrivateKey} from "src/util/nostr"
import {pubkey} from "src/engine/session/state"
import {signer, nip44, nip59} from "src/engine/session/derived"

View File

@ -1,4 +1,4 @@
import {Tags, getIdAndAddress} from "paravel"
import {Tags, getIdAndAddress} from "@coracle.social/util"
import {whereEq, groupBy, find} from "ramda"
import {derived, DerivedCollection} from "src/engine/core/utils"
import {pubkey} from "src/engine/session/state"

View File

@ -1,6 +1,6 @@
import {max, pluck} from "ramda"
import {batch} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {updateIn} from "src/util/misc"
import {projections} from "src/engine/core/projections"
import type {Event} from "src/engine/events/model"

View File

@ -1,6 +1,6 @@
import {nip19} from "nostr-tools"
import {sortBy} from "ramda"
import {fromNostrURI, Tags, hasValidSignature} from "paravel"
import {fromNostrURI, Tags, hasValidSignature} from "@coracle.social/util"
import {tryFunc, switcherFn} from "hurdak"
import {tryJson} from "src/util/misc"
import type {Event} from "./model"

View File

@ -1,5 +1,6 @@
import {partition} from "ramda"
import {now, createEvent, decodeAddress} from "paravel"
import {now} from "@coracle.social/lib"
import {createEvent, decodeAddress} from "@coracle.social/util"
import {randomId, seconds} from "hurdak"
import {generatePrivateKey, getPublicKey} from "src/util/nostr"
import {updateRecord} from "src/engine/core/commands"

View File

@ -1,5 +1,5 @@
import {uniq, assoc, whereEq, sortBy, prop, without, mergeRight} from "ramda"
import {Tags, decodeAddress, getAddress} from "paravel"
import {Tags, decodeAddress, getAddress} from "@coracle.social/util"
import {switcherFn, batch} from "hurdak"
import {LOCAL_RELAY_URL, giftWrapKinds, getPublicKey} from "src/util/nostr"
import {projections} from "src/engine/core/projections"

View File

@ -1,4 +1,5 @@
import {now, decodeAddress, isGroupAddress} from "paravel"
import {now} from "@coracle.social/lib"
import {decodeAddress, isGroupAddress} from "@coracle.social/util"
import {seconds} from "hurdak"
import {partition} from "ramda"
import {noteKinds, giftWrapKinds, repostKinds} from "src/util/nostr"
@ -47,7 +48,7 @@ export const loadGroups = async (rawAddrs: string[], relays: string[] = []) => {
}
}
export const loadGroupMessages = async (addresses = null) => {
export const loadGroupMessages = async (addresses?: string[]) => {
const addrs = addresses || deriveUserCircles().get()
const [groupAddrs, communityAddrs] = partition(a => isGroupAddress(decodeAddress(a)), addrs)

View File

@ -1,7 +1,7 @@
import Fuse from "fuse.js"
import {identity, prop, uniqBy, map, defaultTo, sortBy, last, whereEq} from "ramda"
import {ellipsize, doPipe, seconds} from "hurdak"
import {Tags, decodeAddress, addressToNaddr} from "paravel"
import {Tags, decodeAddress, addressToNaddr} from "@coracle.social/util"
import {fuzzy} from "src/util/misc"
import type {GroupStatus, Session} from "src/engine/session/model"
import {pubkey} from "src/engine/session/state"
@ -31,11 +31,10 @@ export const deriveGroup = address => {
export const getGroupSearch = $groups => fuzzy($groups, {keys: ["meta.name", "meta.about"]})
export const getWotGroupMembers = address =>
Array.from(follows.get()).filter(
pk =>
derivePerson(pk)
.get()
.communities?.some(t => t[1] === address),
Array.from(follows.get()).filter(pk =>
derivePerson(pk)
.get()
.communities?.some(t => t[1] === address),
)
export const searchGroups = groups.throttle(300).derived($groups => {

View File

@ -1,5 +1,6 @@
import {sortBy} from "ramda"
import {cached, Tags} from "paravel"
import {cached} from "@coracle.social/lib"
import {Tags} from "@coracle.social/util"
import {derived} from "src/engine/core/utils"
import {load} from "src/engine/network/utils"
import {hints} from "src/engine/relays/utils"

View File

@ -1,4 +1,4 @@
import {getAddress} from "paravel"
import {getAddress} from "@coracle.social/util"
import {projections} from "src/engine/core/projections"
import type {Event} from "src/engine/events/model"
import {handlers, handlerRecs} from "./state"

View File

@ -1,4 +1,4 @@
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {prop, filter, identity, uniq, sortBy} from "ramda"
import {Storage, LocalStorageAdapter, IndexedDBAdapter, sortByPubkeyWhitelist} from "./core"
import {_lists} from "./lists"

View File

@ -1,4 +1,4 @@
import {Tags, encodeAddress} from "paravel"
import {Tags, encodeAddress} from "@coracle.social/util"
import {updateRecord} from "src/engine/core/commands"
import {projections} from "src/engine/core/projections"
import type {Event} from "src/engine/events/model"

View File

@ -1,6 +1,7 @@
import {prop, identity, flatten, groupBy} from "ramda"
import {Fetch, tryFunc, sleep} from "hurdak"
import {now, cached, Tags} from "paravel"
import {now, cached} from "@coracle.social/lib"
import {Tags} from "@coracle.social/util"
import {joinPath} from "src/util/misc"
import type {Event} from "src/engine/events/model"
import {nip98Fetch} from "src/engine/auth/commands"

View File

@ -1,3 +1,3 @@
import {Pool} from "paravel"
import {Pool} from "@coracle.social/network"
export const pool = new Pool()

View File

@ -1,7 +1,9 @@
import {equals} from "ramda"
import type {EventTemplate} from "nostr-tools"
import {nip04, finalizeEvent} from "nostr-tools"
import {Emitter, now, Subscription, createEvent} from "paravel"
import {Emitter, now} from "@coracle.social/lib"
import {createEvent} from "@coracle.social/util"
import {Subscription} from "@coracle.social/network"
import {randomId, sleep} from "hurdak"
import {NostrConnect} from "nostr-tools/kinds"
import logger from "src/util/logger"
@ -15,7 +17,8 @@ import type {NostrConnectHandler} from "../model"
let singleton: NostrConnectBroker
// FIXME set the full list of requested perms
const Perms = "nip04_encrypt,nip04_decrypt,sign_event:0,sign_event:1,sign_event:4,sign_event:6,sign_event:7"
const Perms =
"nip04_encrypt,nip04_decrypt,sign_event:0,sign_event:1,sign_event:4,sign_event:6,sign_event:7"
export class NostrConnectBroker extends Emitter {
#sub: Subscription
@ -91,11 +94,11 @@ export class NostrConnectBroker extends Emitter {
Publisher.publish({event, relays: this.handler.relays, silent: true})
this.once(`auth-${id}`, (auth_url) => {
this.once(`auth-${id}`, auth_url => {
window.open(auth_url, "Coracle", "width=600,height=800,popup=yes")
})
return new Promise((resolve) => {
return new Promise(resolve => {
this.once(`response-${id}`, ({result, error}) => {
if (error) {
logger.error(error)

View File

@ -1,7 +1,7 @@
import {mergeLeft, pluck, min, max, identity, sortBy} from "ramda"
import {first} from "hurdak"
import type {Subscription} from "paravel"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import type {Subscription} from "@coracle.social/network"
import type {Event} from "src/engine/events/model"
import {sortEventsDesc} from "src/engine/events/utils"
import type {Filter} from "../model"

View File

@ -1,4 +1,4 @@
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {seconds} from "hurdak"
import {env} from "src/engine/session/state"
import {hints} from "src/engine/relays/utils"

View File

@ -1,6 +1,7 @@
import {max, uniq, partition, equals} from "ramda"
import {noop, pickVals} from "hurdak"
import {Plex, Relays, Executor, Multi, createEvent} from "paravel"
import {createEvent} from "@coracle.social/util"
import {Plex, Relays, Executor, Multi} from "@coracle.social/network"
import {error, warn} from "src/util/logger"
import {LOCAL_RELAY_URL} from "src/util/nostr"
import {normalizeRelayUrl} from "src/engine/relays/utils"

View File

@ -1,6 +1,7 @@
import {partition, concat, prop, uniqBy, identity, without, assoc} from "ramda"
import {ensurePlural, doPipe, batch} from "hurdak"
import {now, Tags, getIdOrAddress, getIdAndAddress} from "paravel"
import {now} from "@coracle.social/lib"
import {Tags, getIdOrAddress, getIdAndAddress} from "@coracle.social/util"
import {race} from "src/util/misc"
import {info} from "src/util/logger"
import {noteKinds, reactionKinds, repostKinds} from "src/util/nostr"

View File

@ -1,4 +1,10 @@
import {decodeAddress, isReplaceable, addressToFilter, getAddress, isContextAddress} from "paravel"
import {
decodeAddress,
isReplaceable,
addressToFilter,
getAddress,
isContextAddress,
} from "@coracle.social/util"
import {omit, without, find, prop, groupBy, uniq} from "ramda"
import {shuffle, randomId, seconds, avg} from "hurdak"
import {env} from "src/engine/session/state"

View File

@ -1,4 +1,4 @@
import {matchFilters} from "paravel"
import {matchFilters} from "@coracle.social/util"
import {flatten, uniq, path as getPath} from "ramda"
import {defer, batch} from "hurdak"
import {pushToKey} from "src/util/misc"

View File

@ -1,7 +1,7 @@
import type {Event} from "nostr-tools"
import {without, uniq} from "ramda"
import {seconds} from "hurdak"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {personKinds, appDataKeys} from "src/util/nostr"
import {people} from "src/engine/people/state"
import {hints} from "src/engine/relays/utils"

View File

@ -1,5 +1,5 @@
import EventEmitter from "events"
import {createEvent, getIdAndAddress, asEvent, Tags} from "paravel"
import {createEvent, getIdAndAddress, asEvent, Tags} from "@coracle.social/util"
import {omit, uniqBy} from "ramda"
import {defer, union, difference} from "hurdak"
import {info} from "src/util/logger"

View File

@ -1,5 +1,5 @@
import type {SubscriptionOpts, Executor} from "paravel"
import {Subscription} from "paravel"
import type {SubscriptionOpts, Executor} from "@coracle.social/network"
import {Subscription} from "@coracle.social/network"
import {sleep} from "hurdak"
import {LOCAL_RELAY_URL} from "src/util/nostr"
import type {Event} from "src/engine/events/model"

View File

@ -1,6 +1,7 @@
import {uniq, prop} from "ramda"
import {sleep} from "hurdak"
import {Emitter, matchFilters} from "paravel"
import {Emitter} from "@coracle.social/lib"
import {matchFilters} from "@coracle.social/util"
import {LOCAL_RELAY_URL} from "src/util/nostr"
import {_events} from "src/engine/events/state"
import {events, eventsByKind} from "src/engine/events/derived"

View File

@ -1,6 +1,6 @@
import {uniqBy, identity, prop, sortBy} from "ramda"
import {batch} from "hurdak"
import {Tags, getIdOrAddress, getIdAndAddress} from "paravel"
import {Tags, getIdOrAddress, getIdAndAddress} from "@coracle.social/util"
import type {DisplayEvent} from "src/engine/notes/model"
import type {Event} from "src/engine/events/model"
import {writable} from "src/engine/core/utils"

View File

@ -1,5 +1,5 @@
import {ensurePlural} from "hurdak"
import {isShareableRelayUrl} from "paravel"
import {isShareableRelayUrl} from "@coracle.social/util"
export class Tracker {
urlsByEventId = new Map()

View File

@ -1,4 +1,4 @@
import {getIdAndAddress} from "paravel"
import {getIdAndAddress} from "@coracle.social/util"
import {hints} from "src/engine/relays/utils"
import {createAndPublish} from "src/engine/network/utils"

View File

@ -1,6 +1,6 @@
import {find, pluck, whereEq} from "ramda"
import {batch, sleep} from "hurdak"
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {env} from "src/engine/session/state"
import {subscribe, loadOne, getIdFilters, dvmRequest} from "src/engine/network/utils"
import {hints} from "src/engine/relays/utils"

View File

@ -1,6 +1,7 @@
import {assoc, without, max, sortBy} from "ramda"
import {seconds} from "hurdak"
import {now, Tags} from "paravel"
import {now} from "@coracle.social/lib"
import {Tags} from "@coracle.social/util"
import {isLike, reactionKinds, noteKinds, repostKinds} from "src/util/nostr"
import {tryJson} from "src/util/misc"
import {isSeen} from "src/engine/events/derived"
@ -78,7 +79,9 @@ export const groupNotifications = derived(
x => -x.created_at,
[
...$requests.filter(r => !r.resolved && !$deletes.has(r.group)).map(assoc("t", "request")),
...$alerts.filter(a => !adminPubkeys.has(a.pubkey) && !$deletes.has(a.group)).map(assoc("t", "alert")),
...$alerts
.filter(a => !adminPubkeys.has(a.pubkey) && !$deletes.has(a.group))
.map(assoc("t", "alert")),
...$events
.map(e => (repostKinds.includes(e.kind) ? unwrapRepost(e) : e))
.filter(e => e && !shouldSkip(e)),

View File

@ -1,4 +1,5 @@
import {now, Tags} from "paravel"
import {now} from "@coracle.social/lib"
import {Tags} from "@coracle.social/util"
import {seconds, batch, doPipe} from "hurdak"
import {pluck, max, slice, filter, without, sortBy} from "ramda"
import {updateIn} from "src/util/misc"

View File

@ -1,5 +1,5 @@
import {reject} from "ramda"
import {now} from "paravel"
import {now} from "@coracle.social/lib"
import {stateKey, user, canSign, session} from "src/engine/session/derived"
import {updateStore} from "src/engine/core/commands"
import {createAndPublish, getClientTags, mention} from "src/engine/network/utils"

View File

@ -1,4 +1,4 @@
import {Tags} from "paravel"
import {Tags} from "@coracle.social/util"
import {tryJson} from "src/util/misc"
import {updateStore, updateRecord} from "src/engine/core/commands"
import {projections} from "src/engine/core/projections"

View File

@ -1,6 +1,7 @@
import {nip19} from "nostr-tools"
import {throttle} from "throttle-debounce"
import {fromNostrURI, cached} from "paravel"
import {cached} from "@coracle.social/lib"
import {fromNostrURI} from "@coracle.social/util"
import {uniq, join, nth, last} from "ramda"
import {Fetch, tryFunc, createMapOf, ellipsize, switcherFn} from "hurdak"
import logger from "src/util/logger"

View File

@ -1,5 +1,6 @@
import {whereEq, when, reject, uniqBy, prop, inc} from "ramda"
import {now, normalizeRelayUrl, createEvent, isShareableRelayUrl} from "paravel"
import {now} from "@coracle.social/lib"
import {normalizeRelayUrl, createEvent, isShareableRelayUrl} from "@coracle.social/util"
import {people} from "src/engine/people/state"
import {session, canSign, signer, stateKey} from "src/engine/session/derived"
import {updateStore} from "src/engine/core/commands"

View File

@ -1,5 +1,5 @@
import {Tags} from "paravel"
import {normalizeRelayUrl, isShareableRelayUrl} from "paravel"
import {Tags} from "@coracle.social/util"
import {normalizeRelayUrl, isShareableRelayUrl} from "@coracle.social/util"
import {warn} from "src/util/logger"
import {projections} from "src/engine/core/projections"
import {RelayMode} from "./model"

View File

@ -1,6 +1,7 @@
import {nip19} from "nostr-tools"
import {Router} from "paravel"
import {normalizeRelayUrl as normalize, ConnectionStatus, fromNostrURI} from "paravel"
import {Router} from "@coracle.social/util"
import {normalizeRelayUrl as normalize, fromNostrURI} from "@coracle.social/util"
import {ConnectionStatus} from "@coracle.social/network"
import {sortBy, whereEq, pluck, uniq, prop, last} from "ramda"
import {displayList, switcher} from "hurdak"
import {fuzzy} from "src/util/misc"
@ -12,7 +13,7 @@ import {groups, groupSharedKeys} from "src/engine/groups/state"
import {pool} from "src/engine/network/state"
import {getSetting} from "src/engine/session/utils"
import type {Relay} from "./model"
import {relays} from './state'
import {relays} from "./state"
export const normalizeRelayUrl = (url: string) => {
if (url === LOCAL_RELAY_URL) {

Some files were not shown because too many files have changed in this diff Show More