mining often takes a few seconds. it can be confusing if nothing
happens when a user is publishing their profile, upvoting a note
or posting a new note.
added visual feedback that nostrweb is working with an option to
cancel the mining process.
adding settings to change mining difficulty and timeout, so users
can change or disable pow. also added some explanation and link
to nip-13.
setting arbitrary low default to 16 zero mining difficulty and
5 seconds timeout.
added pow to text notes, reactions and metadata events. pow is
mined async in a worker so that the main process does not freeze.
noxy profile images, link and image previews are now now only
invoked if an event has some valid work proof. noxy can decide
if there is enough work and whether or not to serve data for a
certain event.
target difficulty can be implemented in a later step, this change
only check if there is any valid nonce tag with commitment target
greater than 0.
Added deeplinks with browser history support. Each note and author
have now a detail view under nostr.ch/<event-id-or-pubkey> in a
future commit also /e/<event-id> and /p/<pubkey> could be supported.
User can now navigate with browser back (with the expection of the
settings overlay).
Not everything is supported in the detail view (yet) i.e reply and
stars are partially working (dont update visually), leaving this as
open bug. This should fix itself once only 1 render container is
used instead of different divs in the html for each view.
Ideally the detail view should also query for related events,
something to add in a future commit
Metadata can contain empty fields or broken images. Improved
rendering of meta preview links with missing info, also added a
subtile transparent dark background color to preview images, as
some images contain white text on transparent background and are
invisible in light mode.
Text notes longer than 280 are shortened and appended with '…' to
indicate that this note can be expanded, but this dotdotdot was
real text and was not removed once the note is expanded.
Changed to showing the dots through CSS and only if the attribute
exists, so it does not show on expanded notes.
Loading images from random url leaks meta data to other servers.
Enabled showing kind 0 picture from noxy (nostr proxy),
see https://git.qcode.ch/nostr/noxy
Only href that are a valid url and use http(s) should be allowed
to prevent malicious urls such as 'javascript:alert(1)'.
Kept the fallback to the speak bubble if there is no kind 0 event
for this pubkey or picture is missing.
- writing a new message is now presented in full-screen, so that
there are no distractions, i.e. other posts
- added back button and listen to esc key to close new message
- on portrait mode the navigation buttons are now positioned at
the bottom of the screen
- write new message botton (bubble) is also positioned bottomright
- replies now use a line to the last reply instead of indentation,
better use of available space, especially on small screen
- ignore newlines at the end of a post
- added subtile growin effect to the multiline textfield, to hint
that the textarea is growing with more content
- added favicon.ico to get rid of anoying logs in the future
- clicking the idea bubble brings back the text input field
- stop accidentally submitting the reply form
- updated idea cloud to dark/light mode neutral gray
- contact list not needed yet, disabled
- add a detailed list of reactions in star tooltip
- removed debug debounce was for testing chronological feed order
- started username prototype
Added support for starring.
Stores recation events in a reactionMap, so rendering can use it
later.
Improved reply to replies, by keeping a separate replyDomMap.
Changed from heart to star, reason: thumbsup or a heart are good
for positive events, but not so suitable to react to a bad event.
So currently negavtive votes are just counted as a star as well.
Did not add another dom map, but just querySelector in case an
existing star needs to be updated later.
Used different CSS-only tab technique. The implementation before
messed up the whole height of the page and used unnecessary
absolute positioning.
Added comment icon from MFG Labs iconset (SIL)
- https://github.com/MfgLabs/mfglabs-iconset
Added outlined and filled heart from Elusiv icons (SIL)
- https://github.com/dovy/elusive-iconfont
Time ago seconds should be rounded.
Keeping current reply info so it can be accessed later to
publish the reply.
Before only known replies were rendered, now incoming replies
get added to the existing text note instantly. This needs to
create a reply container if this is the first reply of this event.
Added time ago formatting and a helper function that switches
between relative time (if event < 24h) or absolute formatted time
(if older than 1 day).
Styled profile image to be aligned at the top together with the
event metadata and content.
Still need to decide on which relays to enable.
JavaScript lint fixes.
- changed private-key input to type password
- added toggle to show private-key
- added key-generated, key-saved success messages
- changed global font size
- upadted colors (especially light mode)
- unsubscribe after a few messages for testing