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.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
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.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
Pub and private key settings only showed errors if both values were
truthy, but it did not validate if one input was falsy, in which
case it only showed the last error.
Removed truthy check as it is not needed.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
Safari does not take the addressbar into account when using 100vh,
this is the cauase that the navigation is sometimes hidden when
the user scrolls up/down.
changed to 100dvh with fallback to 100vh.
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- 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
Send button should be disabled if there are only white spaces or
newlines, trimming only right as white spaces at the beginning
could mean somethig i.e in markdown.
- use growing textarea input to support multiline textnotes
- keep replyTo id in localstorage instead of global variable
- render reply to form on load if there was a replyTo in storage
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
i broke the ci while moving the repo from x1ddos/nostrweb to
nostr/nostrweb - all settings remained in the old repo and pipelines
didn't run at the new location.
could've overwritten the git tag but what happens in public git,
stays in git. so, just making a new dummy tag to trigger the ci.
- 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.
chronological order: Getting there..
cleanup: removed debounce code for now
keep also recommend server events in the dom map, not sure if just
everything should be in the map.
Events should be ordered by created_at.
The randomly incoming events should be injected to their closest
event sibling. Keeping a map of eventIds and dom nodes to reference
and inject the new events.
An alternative to keeping a map could be to add a data-attribute
to each event and use querySelector. It is a trade-off os using
more memory in order to not query the dom tree.
- disabled user picture, loading external resources leaks metadata
and is bad for privacy.
- refactored code to share profile rendering.
- wip: keep a contact list to display user follows otheruser
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
this is a quick&dirty solution to update the live
server whenever a git tag on master matching v* pattern is pushed.
a longer term permanent idea is to use a nostr relay to push
notifications about new releases.
- reverse timeline
- add publish test button
- renamed variables to pubkey, privatekey
- subscribe to self (currently only on load)
- listen to more events before closing
- change max-width to apply ti all tabs instead of just forms
- use monospace font for buttons and labels
- add tiny 2px border radius to buttons and prepare bottombar
ci/woodpecker/pr/woodpecker Pipeline was successfulDetails
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
the steps create a tar.gz with all files found in dist/ dir.
additionally, an ad-hoc build.txt file is created with build info.
the bot then creates a release and uploads the tar.gz as an artifact.
the idea is that all nostr web app instances are notified about the new
release, download the tar.gz and update their local copy. this is not
yet implemented.