mirror of
https://github.com/coracle-social/coracle.git
synced 2024-09-29 00:10:52 +00:00
Show global feed on platform instances
This commit is contained in:
parent
fc17b69425
commit
0ce1cd4c71
@ -277,7 +277,7 @@
|
||||
<span class="hidden sm:inline">Encrypted</span>
|
||||
</div>
|
||||
{/if}
|
||||
{#if $seenOn?.length > 0}
|
||||
{#if $seenOn?.length > 0 && ($env.PLATFORM_RELAYS.length === 0 || $env.PLATFORM_RELAYS.length > 1)}
|
||||
<div
|
||||
class="staatliches hidden cursor-pointer rounded bg-neutral-800 px-2 text-neutral-100 transition-colors hover:bg-neutral-700 dark:bg-neutral-600 dark:hover:bg-neutral-500 sm:block"
|
||||
on:click={() => setView("info")}>
|
||||
|
@ -1,6 +1,6 @@
|
||||
import {partition, prop, uniqBy} from "ramda"
|
||||
import {batch, seconds} from "hurdak"
|
||||
import {writable, inc, sortBy, avg, now} from "@welshman/lib"
|
||||
import {writable, inc, sortBy, now} from "@welshman/lib"
|
||||
import type {TrustedEvent} from "@welshman/util"
|
||||
import {
|
||||
Tags,
|
||||
@ -108,7 +108,7 @@ export class FeedLoader {
|
||||
if (this.feedLoader.compiler.canCompile(opts.feed)) {
|
||||
this.compiled = this.feedLoader.compiler.compile(opts.feed)
|
||||
this.compiled.then(requests => {
|
||||
this.delta = avg(requests.map(r => guessFilterDelta(r.filters)))
|
||||
this.delta = guessFilterDelta(requests.flatMap(r => r.filters || []))
|
||||
|
||||
if (opts.shouldListen) {
|
||||
const tracker = new Tracker()
|
||||
@ -116,7 +116,7 @@ export class FeedLoader {
|
||||
const onEvent = this.onEvent(this.prependToFeed)
|
||||
|
||||
for (const {relays, filters} of requests) {
|
||||
const forcePlatform = opts.forcePlatform && relays.length === 0
|
||||
const forcePlatform = opts.forcePlatform && (relays?.length || 0) === 0
|
||||
|
||||
for (const request of Array.from(getRequestItems({relays, filters}))) {
|
||||
subscribe({
|
||||
|
@ -1,12 +1,20 @@
|
||||
<script lang="ts">
|
||||
import {makeRelayFeed} from "@welshman/feeds"
|
||||
import Anchor from "src/partials/Anchor.svelte"
|
||||
import Feed from "src/app/shared/Feed.svelte"
|
||||
import {router} from "src/app/util/router"
|
||||
import {globalFeed} from "src/app/state"
|
||||
import {session} from "src/engine"
|
||||
import {makeFeed} from "src/domain"
|
||||
import {session, env} from "src/engine"
|
||||
|
||||
const isPlatformFeed = $env.PLATFORM_RELAYS.length > 0
|
||||
|
||||
const showLogin = () => router.at("login").open()
|
||||
|
||||
if (isPlatformFeed) {
|
||||
globalFeed.set(makeFeed({definition: makeRelayFeed(...$env.PLATFORM_RELAYS)}))
|
||||
}
|
||||
|
||||
document.title = "Feeds"
|
||||
</script>
|
||||
|
||||
@ -19,4 +27,4 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<Feed skipCache showControls showGroup bind:feed={$globalFeed} />
|
||||
<Feed skipCache showGroup showControls={!isPlatformFeed} bind:feed={$globalFeed} />
|
||||
|
@ -46,15 +46,20 @@
|
||||
const loader = loadGiftWraps()
|
||||
|
||||
updateCurrentSession(assoc("groups_last_synced", now()))
|
||||
|
||||
loadGroupMessages()
|
||||
|
||||
load({
|
||||
skipCache: true,
|
||||
forcePlatform: false,
|
||||
relays: hints.User().getUrls(),
|
||||
filters: [
|
||||
{kinds: [35834, 34550], authors: admins},
|
||||
{kinds: [35834, 34550], limit: 500},
|
||||
],
|
||||
filters: [{kinds: [35834, 34550], authors: admins}],
|
||||
})
|
||||
|
||||
load({
|
||||
skipCache: true,
|
||||
relays: hints.User().getUrls(),
|
||||
filters: [{kinds: [35834, 34550], limit: 500}],
|
||||
})
|
||||
|
||||
return () => {
|
||||
|
@ -9,17 +9,7 @@ import {
|
||||
makeRelayFeed,
|
||||
makeUnionFeed,
|
||||
} from "@welshman/feeds"
|
||||
import {
|
||||
Worker,
|
||||
bech32ToHex,
|
||||
pick,
|
||||
cached,
|
||||
nthEq,
|
||||
nth,
|
||||
now,
|
||||
writable,
|
||||
max,
|
||||
} from "@welshman/lib"
|
||||
import {Worker, bech32ToHex, pick, cached, nthEq, nth, now, writable, max} from "@welshman/lib"
|
||||
import type {Filter, TrustedEvent, SignedEvent} from "@welshman/util"
|
||||
import {
|
||||
Tags,
|
||||
@ -179,7 +169,7 @@ export const loadGroups = async (rawAddrs: string[], explicitRelays: string[] =
|
||||
.merge([hints.product(addrs, explicitRelays), hints.WithinMultipleContexts(addrs)])
|
||||
.getUrls()
|
||||
|
||||
return load({relays, filters, skipCache: true})
|
||||
return load({relays, filters, skipCache: true, forcePlatform: false})
|
||||
}
|
||||
}
|
||||
|
||||
@ -194,7 +184,7 @@ export const loadGroupMessages = (addresses?: string[]) => {
|
||||
const filters = [{kinds: giftWrapKinds, "#p": pubkeys, since}]
|
||||
|
||||
if (pubkeys.length > 0) {
|
||||
promises.push(load({relays, filters, skipCache: true}))
|
||||
promises.push(load({relays, filters, skipCache: true, forcePlatform: false}))
|
||||
}
|
||||
}
|
||||
|
||||
@ -204,7 +194,7 @@ export const loadGroupMessages = (addresses?: string[]) => {
|
||||
const since = Math.max(now() - seconds(7, "day"), info.since)
|
||||
const filters = [{kinds, "#a": [address], since}]
|
||||
|
||||
promises.push(load({relays, filters, skipCache: true}))
|
||||
promises.push(load({relays, filters, skipCache: true, forcePlatform: false}))
|
||||
}
|
||||
|
||||
updateCurrentSession($session => {
|
||||
|
@ -1427,6 +1427,7 @@ export const onAuth = async (url, challenge) => {
|
||||
|
||||
seenChallenges.add(challenge)
|
||||
|
||||
console.log(url, challenge)
|
||||
const event = await signer.get().signAsUser(
|
||||
createEvent(22242, {
|
||||
tags: [
|
||||
|
Loading…
Reference in New Issue
Block a user