by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 09:42

    amark on manhattan

    does this stop url format block… (compare)

  • 07:29

    amark on manhattan

    ugh main stub (compare)

  • 07:22

    amark on manhattan

    stub dup gc (compare)

  • Sep 25 13:20

    amark on manhattan

    stub all out for 17K ? CPU ? te… (compare)

  • Sep 25 00:55
    rogowski opened #1013
  • Sep 24 10:10

    sirpy on manhattan

    (compare)

  • Sep 24 10:09

    sirpy on manhattan

    add: sea log to debug exception add: bump version wip: sea debug and 1 more (compare)

  • Sep 24 06:34
    finwo commented #1003
  • Sep 24 06:34
    finwo commented #1003
  • Sep 24 06:21
    finwo synchronize #1012
  • Sep 24 06:19
    finwo opened #1012
  • Sep 24 05:52

    amark on manhattan

    back to in-prod testing, isolat… (compare)

  • Sep 23 06:17

    amark on manhattan

    bump (compare)

  • Sep 23 06:14

    amark on manhattan

    fix axe (compare)

  • Sep 21 20:26

    amark on master

    infinite scrolling example, pan… empty img src in between scrolling up from bottom and 3 more (compare)

  • Sep 21 20:26
    amark closed #1010
  • Sep 21 20:25
    amark commented #1010
  • Sep 20 21:33

    amark on manhattan

    no stub (compare)

  • Sep 20 04:07

    amark on manhattan

    mem (compare)

  • Sep 20 04:00

    amark on manhattan

    ahhh no file access without sudo (compare)

gunchatbridge
@gunchatbridge
[D] Dyno: Welcome <@733547398885933087>!!! GUN (https://github.com/amark/gun) is a P2P protocol for syncing data used by 8M+ people monthly across Internet Archive, HackerNoon, DTube (decentralized youtube), Notabug (p2p reddit), & more. Please try the 5min tutorial (https://gun.eco/docs/Todo-Dapp) to get started!
gunchatbridge
@gunchatbridge
[D] skyfall: <@!733547398885933087> welcome to the community, feel free to ask any question you have about gun
gunchatbridge
@gunchatbridge
[D] sirpy: <@!94026508217090048> i've noticed you need to also add "rfs:false" to use s3
gunchatbridge
@gunchatbridge
[D] adam-ai: <@!470186445945176065> in the near term my team and I are looking at utilising GUNdb as a graph datawarehouse for our AI as a Service app. Once we are comfortable with GUNdb we will begin working on distributed AI algos. One of the user cases of our app is setting up data co-ops for farmers to share and benefit from combined data. I will be looking to develop this into a distributed AI to help small-holder farmers living in poverty level up their farming -> a 10% increase in regional farm output can reduce regional poverty by 5%. There are 500 million small-holder farms worldwide providing food for 80% of the global population and supporting over 1 billion farmer people who live in poverty. In Australia data-driven decision making has proven to boost broadacre farm yield by 10% and our farms are very sophisticated/efficient. So I feel this is not only a worthy cause but a very promising one also.
gunchatbridge
@gunchatbridge
[D] skyfall: I am really interested in distributed AI and would love to learn from you guys <@!674252123168440330>
[D] adam-ai: <@!470186445945176065> happy to collaborate
gunchatbridge
@gunchatbridge
[D] sirpy: <@!327202141552771072> which version of 2020 are you using?
[D] JamesRez: <@491228220520136704> looks like I’m using the master branch of the github. Not sure if this is much different than 2020.520 or not.
gunchatbridge
@gunchatbridge
[D] sirpy: <@!327202141552771072> are you facing any issues currently?
gunchatbridge
@gunchatbridge
[D] blevvys: hey, im currently getting this gun.js:2417 WebSocket connection to 'ws://localhost:8765/gun' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
[D] blevvys: thx for the help
gunchatbridge
@gunchatbridge
[D] Mark Howe: > <@!725671138742763530> [...] I'm middle of fixing this with a custom CPU scheduler and JSON parse module, but have to rewrite every for loop in GUN to use this new scheduler to prevent these hiccups. So if you're willing to hold on [...]
<@!178314946201780224> Many thanks for looking into this. Is there an issue I could track, to know when it would make sense to try again?
gunchatbridge
@gunchatbridge
[D] JerryZhang: I realize that If I want to sync or upload a file larger(more than 50Mb), it's very easy to cause Crash in GUN, I think I have to split it into several mini file to upload it.... SO this is a base phenomenon of GUN or I make some mistake? I just use base64 Coding whatever file it uploads 😅 this.$gun.get('myfiles').get(item.name).put(code) and decode it locally......
[D] JerryZhang: I try to upload a file about 100Mb, and it CRASH ...
gunchatbridge
@gunchatbridge
[D] Heisenberg: Hi <@!178314946201780224> Sorry for my late response, I've been away! Trying to catch up with the progress made and topics discussed. So with respect to my original questions and whether I was satisfied with the replies I received from the community, I would still prefer them getting answered by you 😉 as I believe they're pretty fundamental to the concept of GUN. I will paste the two questions below:
**1.** If you want to build a forum, and any user can post to the forum, but you don't want any of the data to be public in GUN how would you go about storing it?

Like you want to be able to let users query their own posts but also want to be able to return all posts to someone just browsing, and users should only be able to edit their own posts, and only the application itself should be able to read ALL the posts.
Based on the security stuff earlier mentioned, I actually think this could lead to some pretty bad vulnerabilities. In order to associate all the posts belonging to a specific forum you would have to store that association, but if so that means that any peer who can write to the forum would have to be able to know the id/key of the forum to add or remove from it, so theoretically you could just overwrite the whole thing, unless the server has some protections against that. And even if the server has protections, someone could insert a malicious server that could find the key of the forum and remove it or alter the data.

Recapulating, like I just want to know how you would go about having shared data that can only be readable by the application where pieces of it can only be editable by individual users.

**2.** How do you prevent a malicious peer/server from removing or editing stored data by replacing the reference. My impression of GUN based on the docs is that it is great if you want to store data specific to individual users, but building a shared state that is private that the app can read I really don't understand how that can be done.
gunchatbridge
@gunchatbridge
[D] Dletta: <@731834120887468073> Gun isn’t necessarily optimized for big files. I recommend chunking and slowly populating the chunks
gunchatbridge
@gunchatbridge
[D] Capitalist Dog: Galaxy brain move is to use gun to exchange torrent magnets
gunchatbridge
@gunchatbridge
[D] RandomAnalyticsGuy: What keeps content addressing from being vulnerable to a 50% attack?
OpenCo
@opencoca
Heya folks. The demo doesn't seem to be running the gun.on('auth', function() once a user logins in.
OpenCo
@opencoca
99 percentlies
@99percentlies_gitlab
Hello Wonderful People. I have a small query. I noticed that user.trust() api is broken/ not working with the current gun release (0.2020.520). I'm wondering if there is any workaround to replicate this functionality ? i.e to give write access to a private user's graph. thanks in advance
Darren Hunter
@darrenahunter
Hi - is there anything specific that is required to have a Gun websocket resume connection say post a timeout or a user closing the lid on a laptop and reopening
I dont see the session reestablish
Mark Nadal
@amark
@isbincApps @opencoca @99percentlies_gitlab @darrenahunter oh no! gitter <-> discord bridge broken? I definitely don't want to miss you all!!! :fire: :zap: :tada: :fire: :zap: :tada: :fire: :zap: :tada: WELCOME WELCOME WELCOME!!! <3 :)
I think 520 broke the Todo Tutorial :( extremely embarrassing and I need to get that fixed. If you launch a local peer or your own peer I think it should work tho. Thank you for reporting.
A couple people have built their own user.trust( alternatives with SEA directly ( https://gun.eco/docs/SEA ) , they're mostly on discord now tho so would you mind joining there & I'll tag them for you?
Hm, this has to do with connections retrying for 2 minutes before "giving up", I guess that happens when laptop closes too, so when it opens it doesn't retry - which is bad, is there a Browser event to detect laptop having been reopened? Maybe I need to add code that checks "last awake" and assume "reopen" event if longer than X min or something. Anybody have better idea?
and then automatically start retrying connections
Darren Hunter
@darrenahunter
will move to discord thanks
Rajat
@cuterajat26_gitlab
Hi everyone, help needed to solve this error on the server side - error:10067066:elliptic curve routines:ec_GFp_simple_oct2point:invalid encoding
Rajat
@cuterajat26_gitlab
I updated to 0.2020.520 and the above error is gone, was using older version 0.2020.401
Mark Nadal
@amark
@cuterajat26_gitlab just saw this, looks like gitter<->discord bridge down. That is a WebCrypto shim for NodeJS, should work on Linux-ish servers, what environment is it running & maybe try to re-install it in case something got corrupted?
Rajat
@cuterajat26_gitlab
ya got fixed by reinstalling with gun 0.2020.520, i am on mac, node 12.16.1. Thanks.
Jason Melendez
@deztopia
Hi all! Quick question...is there an alternative to User.delete(). Or recommended way to clear out stale users? Thanks!
Jason Melendez
@deztopia
Obvious noob here. I’m looking through the docs but can’t for the life of me figure out how to share data with another user or with a group of users, when using the gun.user() methods of managing users/logins. Tried the SEA docs but having a hard time. If I’m a user and want to make certain data available to anyone who has my pub key, how would I do that? Can this be read-only? Is this possible? Any direction you kind folks could give would be greatly appreciated!
Sam Schick
@schicks
Is there any reason the user api has to be specific to a person? Ie, if I wanted to create a "room", could I model both the room itself and the people with access to it as users?
Sam Schick
@schicks
@deztopia, I'm also pretty new, but it looks to me like calling user(publicKey) off of the root will do what you want; https://gun.eco/docs/User#getting-a-user-via-gun-user
Jason Melendez
@deztopia
Thanks @schicks I’ve been able to get the user pubkey with that but not sure how to share data from that point
Jason Melendez
@deztopia
Ah, I think I found where I was getting thrown off...I was including ‘~’ in the public key when calling user(). Now I see how things are working.
Stefdv
@Stefdv
@amark There is no browser event for laptop lid close/open since what happens is in fact a user preference ( suspend , sleep , poweroff etc. ) I struggled with this waaaaay back when doing video streaming. There is - or was - an event you can hook into but that is for video/audio streaming only.
Jason Melendez
@deztopia
Hi all, not sure if anyone else has run into this or if I’m doing something wrong again. But gun.unset() doesn’t seem to work if I call it outside the scope of the original set(). Scenario 1: I create a node with gun.get()/gunput() and call gun.set() to add the new node to a set, verify the node was added, then call gun.unset() passing the same node instance i passed to set. It works, and removes the node from the set. Scenario 2: I create a node, call set() to add the new node, and verify the node was added. Then later I loop through the set with map().once() and try to remove by passing the node given by the once() callback to unset(). Doesn’t remove it. I’ve also tried gun.get() to get the node instance, then passing this to unset(). Also doesn’t work. What exactly should I be passing to unset() to get it to remove the undesired node? I feel like I may be missing something fundamental. Thanks for the help!
Mark Nadal
@amark
@cuterajat26_gitlab yay!
@deztopia What do you mean by stale users? Like people in a game room and then leave? Potentially https://gun.eco/docs/Forget useful IDK your use case tho.
@schicks :clap: :clap: :clap: wow :) look at you helping out @deztopia already I love it <3 :) yes, you are spot on! user(pubkey) the data on their graph will by default be cryptographically signed but not encrypted (unless you encrypt it) so anyone can read but not edit/tamper.
And yes!! Very good thinking, user() could be any shared org, room, entity, institution, etc. ... but note!
(A) anyone who has login access to that "user entity" is capable of stealing the private key, which means you can never ban/boot/block them.
(B) gun currently does not support multi-user same-gun-instance login, so you can't have them logged into their "normal" account and the "room" account simulteansouly, tho this seems like a feature a lot of people are wanting/demanding.
(C) there are better approaches for doing rooms/etc. that re more flexible/powerful, I recommend chatting with Martti or James (looks like gitter<->discord bridge broken) and some others who have all implemented these permissions/rules for their encrypted chat apps.
@Stefdv dang :( what was the audio/video one, do you remember?
@deztopia intersting, unset( isn't even an official API :laughing: I don't know how it works, maybe somebody else in community does tho. What I do is just gun.get('list').set(item) ... gun.get('list').map().once(function(item, key){}) ... gun.get('list').get(key).put(null) as all set does is a gun.get('list').get(key = randomID()).put(item) underneath anyways.
Jason Melendez
@deztopia
Thanks @amark let me play with this a bit more. I did notice that if I pass a callback to gun.get() when retrieving the node to unset, even an empty callback like () => {}, then it works; unset removes the node from the list.
Mark Nadal
@amark
@cuterajat26_gitlab @deztopia @schicks are you able to join the http://chat.gun.eco discord? Most of the community switched there months ago, but I've always been worried about forcing people to use X or Y platform and not wanting fragmentation to happen.
Jason Melendez
@deztopia
@amark ah, I see...thanks, I’ll join today. btw, used your method to clear list items, and it works great so I’ll roll with that. I appreciate the help
Mark Nadal
@amark
@deztopia :tada: :tada: :tada: ! :D :) alright, cheers... gonna code cya.
Stefdv
@Stefdv
@amark no i don't remember what it was, i do remember that i never used it anyway... However there is a discussion about this going on - w3c/webrtc-pc#2489
Wilson Ler
@lws803
Hi! are there any updates on the grant and trust methods for user authentication? Are they still in development?
Mark Nadal
@amark
@lws803 yo :) I hope you made it over to the discord, sorry everyone for the community transition. Gitter was more "open" which I liked, but discord has been more stable/reliable & searchable. grant and trust way below the CPU scheduler, JSON parser, DHT, and base User API improvements & bug fixes. So yeah :P unless you want to contribute <3 <3 based off my spec/API design, assume its gonna be a long time.
@Stefdv thanks! See ya over in discord.
Max Baluev
@maxbaluev
Hello! I want to store large amounts of data using sharding. Is that possible with gun.js at the moment?