Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
ranon rat
im trying to put some data in a row or something idk called users
and idk why is giving me a problem
here is the error message
gun.js:1008 Uncaught TypeError: Cannot read properties of undefined (reading 'push')
    at walk (gun.js:1008)
    at Gun.chain.put (gun.js:1045)
    at Object.goCiM.@parcel/transformer-js/src/esmodule-helpers.js (index.ts:5)
    at newRequire (index.aaf1df02.js:71)
    at index.aaf1df02.js:120
    at index.aaf1df02.js:143
someone can help me?
@ranon-rat can you share the code?
Mark Nadal
@syonfox (1) aliases are not unique so never use them for security things, only ever as an approximate search (2) grant is deprecated until future refactor, use .certify( instead like @rococtz :clap: linked.
@lain:iwakura.xyz if clocks aren't NTP synced, the latency is simulated. Sync has been fast enough for several other games, for years, what latency are you seeing? I'd love to try your game - I'm working with a couple others on some new ones too! Be cool to swap notes.
@SiJinmin :clap: :+1: @rococtz ! If not the cartoon, then which curves are detailed in https://gun.eco/docs/SEA . But I'm pretty sure you're probably remembering the cartoons.
@asd417 ^^^ :)
@NuclearManatee if you can tell us how you want array concurrency handled, then you probably understand why arrays are indeterminate without additional data, but can show you some hacks to wrap them.
@tyrauber :wave: :) this was just fixed by @aethiop use latest github and follow https://gun.eco/docs/React-Native instructions. Also he's just workign on an awesome tutorial too, I don't think finished yet tho: https://github.com/aethiop/jot !
@u007 I tried to replicate, I got both machines here. In-memory, no peers. You connected to peers?
@abow they're always that.
discord@Alta :wave: most features can be built ontop, including other CRDTs in 12 lines: https://gun.eco/docs/Counter . What are you wanting to make?
@azdez:matrix.org :fire:
@i001962:matrix.org :+1:
@DrAlta :laughing: no shame.
@GideonWislang pester https://twitter.com/shannonNullCode because they promised 5 times to upload their metamask login example and still haven't :P
@azdez:matrix.org :)
@ranon-rat :wave: this error message is fixed on GitHub latest, @rococtz this is when GUN().get('top').put('primitive') root level nodes need to be objects. Code crashed before getting to error message, been causing confusion for people, latest main properly logs what to do. Sorry about that!
1 reply
1 reply
Hey guys.. need some help mapping some data to the UI
Im using that new schnazzy Remix framework (which is pretty much just WebAPI stuff) ...I have my loader function here
and im mapping it out here just for my app to tell me that map isnt a function
my terminal is nice to me for a change
Im not even stringifying anything and the app works when i just call it without map
but the problem you see.. is that i need the data to be mapped out
the map err
Hsingai Tigris Altaica
@amark I know people keep complaing aboutt your programing abilities with gundb but your a rockstar at building and maintaining a community. I've been studying how to do it for the past half a year or so.
just to confirm anything you put in 'user = gun.user()' your user is write protected and anything in global space is a free for all.
but if you want write protected stuff to be available you can link you user node to a global ie gun.get('sharedpost').put(user.get('mypost').put('only I could change this')))
or use the tags system (is there a tutorial on that?)
1 reply
I found the ansower https://gun.eco/docs/#data
[D]Dyno: Welcome <@916996919153291284>!!! 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!
this is what im running every interval, idk if theres a better way
I cant give you guys a link to try it yet though since the build is broken with some weird BigInt error, i submitted a bug report to create-react-app about it
heres a comparison between gun and yjs latency and performance wise for the position syncing (theres a small fps counter top left, gun fps is at least 40fps lower)
:point_up: Edit: heres a comparison between gun (top) and yjs (bottom) latency and performance wise for the position syncing (theres a small fps counter top left, gun is at least 40fps lower)
Connor Davis
@lain:iwakura.xyz Are you using react?
6 replies
hm ok
im using a context like this to access gun and user
3 replies
then im updating the player location in an interval like this
getUser() is just calling a bunch of chained gun.get()
and im reading position updates using .on
@syonfox: If you put data in Gun, it will be readable by everyone, no matter where you put it. If you put data in public space, everyone can modify it and you can't do anything about it. If you put under your own user space, only you can edit it by default. There is a feature (SEA.certify) that allows you to grant people write access to your user space data. There are 2 ways of certifying:
1) specific people (only Bob and Alice can write under this part of the graph)
2) wild card rules (for example everybody can write under this subgraph but only under a key that contains their own public key, or maybe everybody can write under messages/inbox/)
This means there is no actual use case for the public space in a production-ready app. It's good for testing, it's good for prototyping, for debugging, for many things, but definitely not for storing app data that you care about
I am trying to create an user but get undefine as ack. const handleSignUp = (e) => {
user.create(id, password, (ack) => {
// if (ack.sea) {
// user.get("profile").put({
// pub: ack.sea.pub,
// name: userName,
// pic: profilePic,
// });
// }
Robin Bron
@amark I'd be willing to go on a call about compatibility with packagers, but you may not like the outcome of that call (like having to move to a more common project structure instead of the odd unbuild way it is now)
@rococtz:matrix.org Thanks that does clear it up. I naively assumed certify did something simaler to sign. https://gun.eco/docs/SEA.certify
https://gun.eco/docs/Content-Addressing There is also frozen data whitch compleates the picture
Mark Nadal
@bresnow .map() may be async, pulling from remote peers. I'm guessing remix requires the data to be return data synchronously, and that's causing the mismatch.
@DrAlta <3 <3 <3 Thank you, I really appreciate hearing that. Open Source is hard work, everyone uses it, but few express gratitude, even fewer fund, even fewer help. Our ratio is like 1 person contributor to like 10million users. :scream_cat:
@syonfox correct, nobody can change that post, even if they follow it from the public space. However, anyone could override the public space's link to your post to something else. You may want the frozen space (content-addressed), which is public but cannot be edited (by anyone, even the author).
@lain:iwakura.xyz hey! @mike.stone_gitlab also building games. We were just chatting about latency a minute ago on twitter. In my space game, I see about ~100ms latency. Looks like yours is higher? (Tho hmm, mine may be because of WebRTC) Definitely should be able to get it down lower. I like these FPS benchmarks, I need more of them to keep testing GUN against. Let's do a screencall?
useEffect I think does weird magic, try location.watch = location.watch || location.on(... to prevent its magic maybe? :clap: @connor-davis correct, here, I believe, I've seen a lot of React apps trash GUN performance because of some weird useEffect magic.
:clap: @rococtz:matrix.org @rococtz
@Mac16661 does it happen if there are no peers?
@finwo there is nothing more common than the browser :P and Skypack is able to automate ESM & @aethiop was able to figure out even React-Native without weird changes to GUN. If there is a will ;) there is a way ;) shoot me some times.
@syonfox oh good you already found frozen/content!