From 28f8f8644c9f5bd9c2ae5d3b641d6c74f447a667 Mon Sep 17 00:00:00 2001 From: Jonathan Staab Date: Tue, 18 Jul 2023 14:18:08 -0700 Subject: [PATCH] Fix a few bugs --- ROADMAP.md | 7 +++---- src/app/ForegroundButtons.svelte | 3 ++- src/app/engine.ts | 1 + src/app/shared/Feed.svelte | 4 +++- src/app/state.ts | 2 +- src/app/views/ListEdit.svelte | 2 +- src/app/views/ListSelect.svelte | 2 +- src/app/views/NoteDetail.svelte | 2 ++ src/app/views/NoteZap.svelte | 6 +++--- src/app/views/RelayDetail.svelte | 2 +- src/app/views/RelayReview.svelte | 2 +- src/engine/components/Content.ts | 1 - src/engine/components/User.ts | 4 ++-- src/util/html.ts | 3 ++- src/util/misc.ts | 36 -------------------------------- 15 files changed, 23 insertions(+), 54 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 4bbb3446..d87d8a00 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,12 +1,10 @@ # Current - [ ] Refactor - - [ ] Use limit 1 to find most recent notification, then load when visiting the notifications page. - - [ ] Add pagination back to chat/messages. Cache is not cutting it, at least for chat. - - [ ] Add DM button to user modal - - [ ] Send Sleepy marketing materials - [ ] Get back to blowater + - [ ] Fix feed control state - [ ] Remove external dependencies from engine, open source it? + - [ ] Show nip 5's in search and other places - [ ] If connections fail, re-open and re-send active subs - [ ] Normalize all relay urls, see comment by daniele - [ ] Pull x recent chat messages on chat detail and sort by that @@ -45,6 +43,7 @@ # Core - [ ] Private groups +- [ ] Put topic/channel/list follows in petnames https://github.com/nostr-protocol/nips/pull/665#issuecomment-1640835240 - [ ] Add custom emoji support - [ ] Reminders for max time spent on coracle - [ ] Proxy handle requests for CORS diff --git a/src/app/ForegroundButtons.svelte b/src/app/ForegroundButtons.svelte index d23e7ed7..1a5dfc87 100644 --- a/src/app/ForegroundButtons.svelte +++ b/src/app/ForegroundButtons.svelte @@ -1,6 +1,7 @@ diff --git a/src/app/views/RelayDetail.svelte b/src/app/views/RelayDetail.svelte index b580d52d..904dea8f 100644 --- a/src/app/views/RelayDetail.svelte +++ b/src/app/views/RelayDetail.svelte @@ -56,6 +56,6 @@ "#r": [relay.url], }} /> {:else} - + {/if} diff --git a/src/app/views/RelayReview.svelte b/src/app/views/RelayReview.svelte index cd04ad8f..97490d0a 100644 --- a/src/app/views/RelayReview.svelte +++ b/src/app/views/RelayReview.svelte @@ -43,7 +43,7 @@ Send diff --git a/src/engine/components/Content.ts b/src/engine/components/Content.ts index 75cff819..2287b9e6 100644 --- a/src/engine/components/Content.ts +++ b/src/engine/components/Content.ts @@ -43,7 +43,6 @@ export class Content { Events.addHandler(42, processTopics) Events.addHandler(30001, e => { - console.log("========", e) const {pubkey, kind, created_at} = e const name = Tags.from(e).getMeta("d") const naddr = nip19.naddrEncode({identifier: name, pubkey, kind}) diff --git a/src/engine/components/User.ts b/src/engine/components/User.ts index 5c21c616..0e67999a 100644 --- a/src/engine/components/User.ts +++ b/src/engine/components/User.ts @@ -148,9 +148,9 @@ export class User { } const mute = (type, value) => - setMutes(reject(t => t[1] === value, getMutes()).concat([[type, value]])) + setMutes(reject(t => t[1] === value, getMutedTags()).concat([[type, value]])) - const unmute = target => setMutes(reject(t => t[1] === target, getMutes())) + const unmute = target => setMutes(reject(t => t[1] === target, getMutedTags())) // Content diff --git a/src/util/html.ts b/src/util/html.ts index 7b066b10..08886c59 100644 --- a/src/util/html.ts +++ b/src/util/html.ts @@ -92,7 +92,8 @@ export const killEvent = e => { e.stopImmediatePropagation() } -export const isMobile = localStorage.mobile || window.navigator.maxTouchPoints > 1 +export const isMobile = + localStorage.mobile || window.navigator.maxTouchPoints > 1 || window.innerWidth < 400 export const parseHex = hex => { const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex) diff --git a/src/util/misc.ts b/src/util/misc.ts index c5b7c960..fead28f1 100644 --- a/src/util/misc.ts +++ b/src/util/misc.ts @@ -281,17 +281,6 @@ export const union = (...sets) => new Set(sets.flatMap(s => Array.from(s))) export const difference = (a, b) => new Set(Array.from(a).filter(x => !b.has(x))) -export const quantile = (a, q) => { - const sorted = sortBy(identity, a) - const pos = (sorted.length - 1) * q - const base = Math.floor(pos) - const rest = pos - base - - return isNil(sorted[base + 1]) - ? sorted[base] - : sorted[base] + rest * (sorted[base + 1] - sorted[base]) -} - type FetchOpts = { method?: string headers?: Record @@ -348,31 +337,6 @@ export const formatSats = sats => { return numberFmt.format(round(2, sats / 100_000_000)) + "BTC" } -type EventBusListener = { - id: string - handler: (...args: any[]) => void -} - -export class EventBus { - listeners: Record> = {} - on(name, handler) { - const id = randomId() - - this.listeners[name] = this.listeners[name] || ([] as Array) - this.listeners[name].push({id, handler}) - - return id - } - off(name, id) { - this.listeners[name] = reject(whereEq({id}), this.listeners[name]) - } - handle(k, ...payload) { - for (const {handler} of this.listeners[k] || []) { - handler(...payload) - } - } -} - export const annotateMedia = url => { if (url.match(/\.(jpg|jpeg|png|gif|webp)/)) { return {type: "image", url}