Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 15 19:03
    noctisatrae synchronize #1258
  • Aug 15 09:18
    saosophea9988 edited #1272
  • Aug 15 09:14
    saosophea9988 opened #1272
  • Aug 13 21:03

    amark on master

    subscribe only on backpropagati… Merge branch 'master' of http:/… PANIC 4: AXE get subscriptions (compare)

  • Aug 13 18:58

    amark on master

    Panic tests for rod & radix.js … (compare)

  • Aug 13 18:58
    amark closed #1269
  • Aug 13 18:57
    amark commented #1269
  • Aug 13 01:17
    amark commented #1271
  • Aug 10 23:56

    amark on master

    reduce not-found acks if via/re… test undo tmp (compare)

  • Aug 10 21:45
    amark updated the wiki
  • Aug 10 20:18
    amark commented #1271
  • Aug 10 18:47
    amark commented #1268
  • Aug 10 18:16
    amark commented #1271
  • Aug 10 16:57
    draeder commented #1271
  • Aug 10 16:56
    draeder commented #1271
  • Aug 10 12:10
    mmalmi synchronize #1269
  • Aug 10 11:59
    draeder commented #1271
  • Aug 10 11:55
    draeder commented #1271
  • Aug 10 11:37
    draeder commented #1271
  • Aug 10 05:54
    Azarattum commented #1271
verschmelzen
@verschmelzen:matrix.org
[m]

Also I plan to add gun instance override for webrtc.js later so that only people in room (and sharing rooms key) could see the messages. For example pass gunsafe instance to webrtc.js instead of usual gun instance to start communication.

Not sure if that will be useful in upstream, but I will use it for my project

noor aldeen
@nour-dev
hi, how to run gun in node.js peer ?
2 replies
ALEN GEORGE
@alen_george_gitlab
Hi, Does anyone know how we can make gun SSR support?
Daniel Raeder
@draeder
@alen_george_gitlab We are working on scalable source routing .. https://twitter.com/marknadal/status/1557897882988007424
1 reply
ALEN GEORGE
@alen_george_gitlab
Hi, Does anyone know how we can make gun SSR (Server side rendering) support?
CeNiEi
@ceniei:matrix.org
[m]

hi folks!
I am trying to make a react chat application using Gun. I have the following code which is fetching the messages.

  const fetchMess = useCallback((key) => {
    const messages = gun.get(key);
    messages.map().on((m) => {
      console.log(m);
      dispatch({
        type: "add",
        newMessage: {
          name: m.name,
          message: m.message,
          createdAt: m.date,
          key: m.key,
        },
      });
    });
  }, []);

For some reason, the callback for on is being fired multiple times for every message, the first time I am calling this function. This is messing up the message list, since the dispatch (responsible for changing the state of the message list; from the useReducer hook) is mutating the message list multiple times.

Any work around for this?

Jabis Sevon
@jabis
@ceniei:matrix.org use some schema enforcing, and function debouncing within a set time period to avoid multiple dispatches
gun is reactive by default - you're gathering objects from multiple sources with some input lag, something simple like ajv can give you an easy first step - if schema doesn't match just return from the callback, without ajv lib bloat you could just use simple if(!m || !m.prop1 || !m.prop2 || !m.prop3) return;or whatever you need to before the dispatch
Jabis Sevon
@jabis
@ceniei:matrix.org for completeness
a debouncing fn would look roughly something like this:
function debounce(func, timeout = 300){
  let timer;
  return (...args) => {
    clearTimeout(timer);
    timer = setTimeout(() => { func.apply(this, args); }, timeout);
  };
}

function dispatch(x){
  console.log(`Processing data ${x}`);
}

const dispatchDebounced= debounce((...args) => dispatch(args));
for(x=10000;x>0;x--){
    dispatchDebounced(x) // you should see in console only 'Processing data 1' instead of 10000 :)
}
Jabis Sevon
@jabis
do note that debouncing is when you care about the last update, while "schema matching" lets it run whenever you have a record with full data
but there a couple of utilities for further mischief :)
verschmelzen
@verschmelzen:matrix.org
[m]
Hey. I stumbled upon this thing https://replicache.dev/. Looks like they are trying to solve the same problem as gun. But their github is empty 🤔. @amark wdyt?
Their performance claims - https://doc.replicache.dev/performance
Also I see top project in github offline-first group starting to appear between 2014-2017. Interesting if there is an ongoing trend of web apps moving to offline-first and p2p 🤔
1 reply
tedd pasta
@azdez:matrix.org
[m]

@draeder: do you mean that Book returning a page and a half is working or the lexical part is working. because i tried a lexical query and it is not returning each object.

gun.get('tests').get({'.': {'>': 'a', '<': 'z'}, '%': 50000}).once().map().once((datas) => {
  console.log(datas)
})

the above returns nothing even though it should

i don't know why but this works.

gun.get('tests').get({'.': {'>': 'a', '<': 'z'}, '%': 50000}).once(data => console.log(Boolean(data))).map().once((datas) => {
  console.log(datas)
})

if i console log the first once() for some reason it returns each object/data by itself on the second once() after the map()

tedd pasta
@azdez:matrix.org
[m]
lex queries are not working as it should. strange, wasn't working before but now it's working. well that takes care of that.
ALEN GEORGE
@alen_george_gitlab

Hi does anyone know why I'm getting this error in angular after creating a new user using Gun?


UnhandledPromise rejection: Unexpected non-whitespace character after JSON at position 2 ; Zone: <root> ; Task: null ; Value: SyntaxError: Unexpected non-whitespace character after JSON at position 2

The code gives me an error at sea.js file. And it looks like this.


 // ideally we can move away from JSON entirely? unlikely due to compatibility issues... oh well.
        JSON.parseAsync = JSON.parseAsync || function(t, cb, r) {
            var u;
            try {
                cb(u, JSON.parse(t, r))
            } catch (e) {
                cb(e)
            }
        }

Can anyone help me with this ?

6 replies
RamiMetry
@RamiMetry
hello i am trying to integrate Gunjs in my react native mobile app
when i use gun.get() the result is always undefined
2 replies
any help please
Capture.PNG
i already tried to put await and Promise.all and tried a call back function
the all work in react js but in react native console.log (a) is always undefined
Sascha1337
@sascha1337:matrix.org
[m]
$GUNFTW
Jabis Sevon
@jabis
@RamiMetry gun is not promisified, you'll need either gun/lib/then.js or gun/lib/promise.js to have the reactive chain working with promises - see the source of the extensions for more usage tips
Jabis Sevon
@jabis
or you can wrap your own - here some pseudo code, but do note that the most fun part about gun is the reactiveness :)
Gun.chain.promGet = function(key) { let chain = this; return new Promise(resolve=>{ chain.get(key).once(resolve) }) }

// usage after instantiating : let gun = Gun({...})
//either with async
(async()=>{
let results = await gun.get("myapp").promGet("key")
console.log("results",results)
})()
// or with regular promise-then
gun.get("myapp").promGet("key").then(results=>
  console.log(results);
})
Jabis Sevon
@jabis
First results recovered from .once might be incomplete depending on your peers, so you might have to replay it
1 reply
lightningx10
@lightningx10
Hey all, just wondering how NTS actually works? On the page for NTS, it says that server nodes do not obey NTS. This is fine and all, but I have a node relay running and my clients both have a different local time, the clients have a delay between receiving messages because the relay doesn't accept the message until its time has caught up. (relay running in a VM with a slow clock I think). It also says that they're meant to "catch up" or "resolve" with the node, but I don't see the clocks changing (I'm running the ntp example, with and without a sync to this node and either way it's the same time)
clararussell
@clararussell:matrix.org
[m]

Hey guys good news my broker wants to help 20 people earn $50,000 in just 7day's from the crypto market.but you will pay her 20% commission when you receive your profit. if interested send me a direct message, for more information... Contact via Telegram:

https://t.me/+apDdmjNhIAc3YjA0

https://t.me/+apDdmjNhIAc3YjA0

1 reply
RamiMetry
@RamiMetry
Capture.PNG
hello guys I have founded the issue but it is a new problem the import of gun in my react native app is not working
in this picture when I console log gun i get undefined
I already yarn add gun
and i tried the same way in react js it works normally but in react native the response is always undefined
any idea how can I fix it please
1 reply
and i am sure my relay server is working properly because it works in react js
1 reply
dev1n
@dev1n:matrix.org
[m]
Is there a way to stop gun once it's instantiated?
Meaning, force it to close peer connections.
My use case is low powered devices which would need to sync only temporarily, then disconnect, to conserve battery.
rococtz
@rococtz:matrix.org
[m]
dev1n: That doesn't sound like it has to do anything with Gun. Why not have a cron job to start the process and kill it?
it's just a node process
1 reply
Daniel Raeder
@draeder
@dev1n:matrix.org gun.get('someApp').get('someTopic').off()
2 replies
dev1n
@dev1n:matrix.org
[m]
Thanks @draeder Lexi
Lexi
@Lexi:matrix.org
[m]
dev1n: I wonder if anything can break when the opt of GUN is changed at exactly the wrong time … like during a "database transaction"
1 reply
Jerushan
@jerushan06:matrix.org
[m]

Hello guys,
I would like to develop a Family tree project using Gun JS. I want to make sure these 3 things can be done.

  1. Privacy of non-connected nodes
  2. Privacy of a node
  3. Privacy of a piece of data in a single node

2 different family tree data need to be separate. Currently all data shows up in developer tools of a browser. Is there a way to keep some data secret from others?

I can’t have all data visible to every family members

1 reply
Sascha1337
@sascha1337
sup im new here
lets see how active this place is
1 reply
Tarek Besbes
@Tarbez

Hello everyone, I want to create a social network based on GunJs.
Where do I start? Is there any repo I can clone and start with it?

My first goal for now:
Sign-up/Login
Displayed the signed in user in another page
then basically in another page pull all the users (Username) that signed up.

1 reply
rococtz
@rococtz:matrix.org
[m]