sandwichfarm / nostr-watch Goto Github PK
View Code? Open in Web Editor NEWnostr registry and monitor web-client
Home Page: https://nostr.watch
License: MIT License
nostr registry and monitor web-client
Home Page: https://nostr.watch
License: MIT License
Page jump on load likely relates to the lifecycle management of vue3-leafleft
, can possibly be mitigated with CSS only.
They are presently being overwritten anyways during processing due to an oversight. These messages should be displayed on the relay single component.
The instant read latency is affected by the current network conditions and is jittery.
An average read latency could be calculated perhaps using a sliding window (or just adding up previous reads), whenever we "check" with the relay again.
Nostr.watch was unstable so i tought i deploy my copy but hey... i got this error. ^^
$ yarn build
yarn run v1.22.15
$ yarn get:relays && yarn get:geo
$ node ./scripts/relays.js
FetchError: request to https://nostr.watch/relays.json failed, reason: connect ECONNREFUSED 46.101.217.80:443
at ClientRequest. (C:\user\nostr-watch\node_modules\cross-fetch\node_modules\node-fetch\lib\index.js:1491:11)
at ClientRequest.emit (events.js:375:28)
at TLSSocket.socketErrorListener (_http_client.js:475:9)
at TLSSocket.emit (events.js:375:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
type: 'system',
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED'
}
Integrate nostr.watch events for runtime loader.
wss://nostr.sandwich.farm
with event kind: 1001)Welcome! The preview for nostr.watch 0.1.0 is live. It is being deployed from release/0.1
Please leave feedback in this issue, if you find a bug, please submit a new issue with "0.1.0" in the title.
Feedback at this stage is most helpful where related to:
Known Issues:
Information about changes in depth will be included in 0.1.0 release notes.
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Show notes by relay operator
Describe alternatives you've considered
none
Depends on #166
Describe the bug
Window flashes browsing between ages.
To Reproduce
Click on a relay
Expected behavior
Does not flash
This is due to onComplete
callback not being called for identities (NIP-05) or info (NIP-11) by https://github.com/dskvr/nostr-relay-inspector. Requires update outside the scope of nostr-watch
While the info is displayed on the page, a race condition will determine whether or not it ends up in local storage.
Is your feature request related to a problem? Please describe.
Identified an efficient pattern for running tasks that doesn't require webworkers or extraneous work in queue logic. Piggybacks off existing task management.
Describe the solution you'd like
tasks
store for getting and setting task statustasks
store the component will unload, and another task component will take over.Describe alternatives you've considered
Presently cluttered in main.scss
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
A clickable lighting icon in relay list, relay map pop up and relay single that prompts a lighting payment.
Describe alternatives you've considered
None
Depends on #166
Will require much needed refactor to what was a quick solution.
You can access nostr.watch using both HTTP and HTTPS, but HTTP is not secure.
Images are being served using HTTP but should be served with HTTPS.
Please redirect users to HTTPS.
Describe the bug
If NIP-05 nostr.json fails, nostr.watch get's stuck fetching it over and over again.
Nothing else works after that happens.
To Reproduce
See the console logs for:
https://nostrex.fly.dev/.well-known/nostr.json
Expected behavior
nostr.watch should retry the failed nostr.json with an exponential backoff and bail after 3 to 5 tries.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
main.sass
Describe the bug
The production build is crashing on netlify in Chrome. The same production build does not crash locally.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Does not crash
Screenshots
Desktop (please complete the following information):
Smartphone (please complete the following information):
n/a
Additional context
A bug was introduced while enforcing 'preferences.refresh', likely a simple fix.
Please alternate row colors so it's easier to read the table in big screens
Describe the bug
When visiting next.nostr.watch in brave, ~180 relays are checked in under a second and fail, leaving a handful to pass.
To Reproduce
visit next.nostr.watch with brave
Expected behavior
Checks all relays.
The testing procedure is based on the original testing procedure made by @fiatjaf, and it has some issues
true
for write even if that's no longer true (for example on my relay, which is now whitelisted only, but the event was indeed published in the past, so it returns a false write
)nostr.watch
account (updates, etc, not spam) to the nostr.watch private relay and a pool of relays determined by the contents of relays.yaml
nostr-bot
on the private nostr.watch relay that triggers a workflow whenever nostr.watch relay (private) is updated by nostr.watch account, this workflow will populate events in a file and commit to source and push. (CD would be triggered on push)The result will be a drastically improved, albeit delayed, write testing methodology that doesn't spam relays unnecessarily or send repeated publish attempts on every pageload.
When #93 is implemented, can use a users events to test their ability to read/write to each relay for more precise results.
nostr-relay-inspector
to accept custom events for testingrestricted
type relay status indicatorslocation
and identity
columnsAdd ability to sign messages with nostr extensions
Signature providers (nos2x, alby, etc)
LN Extensions (Alby, etc)
Purpose would be to sort relays without read/write but connection higher up on the list. Latency cannot be tested without read
(connect takes ~1 ms). Presently only sorting with latency, so they are scattered throughout the list which is not readable or helpful.
Sort by latency and then the various checks.
Complete extensions integration
Daemon (separate repo)
copy
icon instead of click relay url to copyThe page "warns" about my relay.nostr.info that it returned five events when asking for one but I don't know which query this was or what these extra replies were. I'd like to fix this but ... miss info.
Since Jack joined nostr, my relay is basically dead, so there probably is an issue but details would be great.
State management is presently a nightmare. Since nostr.watch is and will always be a single page, client-side app, I need to implement pinia
(successor to vuex).
Hi there,
thanks for this great project. Would be helpful to see the uptime of each relay next to the ping.
Keep up the good work!
Would be nice to be able to add relays via nostr, for a variety of reasons.
relays.yaml
Presently, a static API is available at nostr.watch/nostr.json
to retrieve relays.
Identify how to describe it.
A better API that removes offline nodes would likely require a backend, which will not begin until stable. There are alternatives to a backend
I edited my .nostr/settings.json file to show my relay's name and pubkey a couple of days ago, but I'm not seeing the changes. Is there somewhere else in my server's directory this file should be? This is the top section of the settings.json file.
root@nymsrelay:~/.nostr# cat settings.json
{
"info": {
"relay_url": "wss://nostr.nymsrelay.com",
"name": "Nym's Relay",
"description": "A nostr relay written in Typescript.",
"pubkey": "bcea2b98506d1d5dd2cc0455a402701e342c76d70f46e38739aadde77ccef3c9",
Initial version was created with tables for convenience, however, it was known from the beginning this was not the best option. I was attempting to avoid committing into a specific datatable library early, which can often heavily influence the underlying logic and can add limitations to features (speaking from experience)
In addition to a tableless/responsive design, there is the need for the following:
Possible Libraries
Generated at build-time so that no license is required and IPs of visitors aren't unwillingly leaked.
geo.yml
(so that yaml-loader
can be used, less dependencies) in pre-build
geo.yml
at buildtimestate.complete
on render.Using GHA for now...
package.json
version changeyarn docker
Absolutely required, oversight.
Describe the bug
Map doesn't load in safari
To Reproduce
visit next.nostr.watch
Expected behavior
map loads on pageload
Describe the bug
Relays get stuck and never finishing checking.
To Reproduce
Load the page and look at the top right.
Expected behavior
Any bad relays timeout automatically.
Believe it has something to do with proxy_pass
in serverside nginx config.
Calling any other URL but /
will result in 404.
Describe the bug
Mobile is presently forcing a desktop view.
To Reproduce
Visit on mobile
Expected behavior
Returns responsive pages
Screenshots
Smartphone (please complete the following information):
all
Additional context
I wish I could pin my favorite relays to the top and let the rest get sorted by the algorithm.
After last PR, 2 new entries added
The latter one accidentaly I guess.
Thank you in advance!
Load events from administrator key, display in single component under something like "news"
Detect common issues and display them on relay detailed page.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.