Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    vincenzocasu
    @vincenzocasu
    perhaps there is a better way to do this
    can you help me understand how to do it?
    UmangThapliyal
    @UmangThapliyal
    hello,
    Does anyone know about rrweb sentry plugin, facing some issue with it
    vincenzocasu
    @vincenzocasu
    @UmangThapliyal unfortunately there are not many active people here to give support ...
    UmangThapliyal
    @UmangThapliyal
    can you tell me some place where I can get resolution
    I have onpremise sentry instance and it works okay but when I add rrweb integration it throws cors error not sure do we need to update sentry config
    zhy437488627
    @zhy437488627
    i use rrweb in vue as import module, but i can't stop record,
    the doc said the record function will return a function to stop it, but no useful
    githubdrop
    @githubdrop
    anyone who develop a session recording SAAS app like hotjar
    Yousef Alaqra
    @yousefalaqra

    let recorderFunc;

    //when start recodong assing the recorder vairble to record function of the rrweb:
    recorderFunc = rrweb.record({
    emit(event){
    console.log(event)}
    })

    // to stop recording
    recorderFunc();

    @zhy437488627

    anyone who develop a session recording SAAS app like hotjar

    @githubdrop , i'm developing one right now

    Why the community is inactive? @chensivan @shekharsom_twitter
    I need to to redisng to the player to fit my requiemnts
    Som Shekhar
    @shekharsom_twitter

    Why the community is inactive? @chensivan @shekharsom_twitter
    I need to to redisng to the player to fit my requiemnts

    my question is still unanswered :D so, it's quite inactive because all the people who know more aren't here to support.

    Yousef Alaqra
    @yousefalaqra

    how to unload {Replayer} from the page? I cannot seem to close it by using destroy.

    @shekharsom_twitter
    What do you mean by unload? what are you trying to achive?

    Som Shekhar
    @shekharsom_twitter
    Loading a player is fine. the player can play the data as well. How do I destroy the player? player.destroy method doesn't work.
    Yousef Alaqra
    @yousefalaqra
    Why dont you just assing the replayer instance to null or undefined?
    @shekharsom_twitter
    Som Shekhar
    @shekharsom_twitter
    hmm... that's what I am resorting to currently. and depending on the memory to be cleared automatically.
    Yousef Alaqra
    @yousefalaqra
    I'm curious to know why you want to do it manually? @shekharsom_twitter
    Som Shekhar
    @shekharsom_twitter
    because if you want to run multiple instances of the same player, that would be memory extensive. (Not at the same time) let's say, you run the first video and then after few second, run a second video by creating a second instance, the first one needs to be removed.
    Yousef Alaqra
    @yousefalaqra
    @shekharsom_twitter Since you are using the replayer, do you have an idea how to resize it? i want to display the record in a custom div

    because if you want to run multiple instances of the same player, that would be memory extensive. (Not at the same time) let's say, you run the first video and then after few second, run a second video by creating a second instance, the first one needs to be removed.

    Why don't you use the same instance but different events and confugrations?

    //First record:
    Som Shekhar
    @shekharsom_twitter

    @shekharsom_twitter Since you are using the replayer, do you have an idea how to resize it? i want to display the record in a custom div

    I couldn't resize it easily. I am currently resorting to transform:scale(0.8);

    Yousef Alaqra
    @yousefalaqra
    let player: Replayer;
    //First record
    this. player = new Replayer(...)
    this.player.play();
    this,player.on('end') => this.player new Replayer (...);
    Just POC
    @shekharsom_twitter

    @shekharsom_twitter Since you are using the replayer, do you have an idea how to resize it? i want to display the record in a custom div

    I couldn't resize it easily. I am currently resorting to transform:scale(0.8);
    Could you please show me code sample?? i'm really stcuk on that, and i'm not an expert with css

    Som Shekhar
    @shekharsom_twitter
    yes. but the first instance is still hangling around. usually, using react/mithril, if a component needs to be initiated manually, it should be destroyed manually as well.
    Yousef Alaqra
    @yousefalaqra
    This is really bad for the memory!
    OK, why don't you re-assing the events array, and then re-play the same instance from the first timestamp!
    @shekharsom_twitter
    Som Shekhar
    @shekharsom_twitter

    OK, why don't you re-assing the events array, and then re-play the same instance from the first timestamp!

    yes. tried doing that... for some reason that didn't work... but finally, moved to setting it to null.

    Yousef Alaqra
    @yousefalaqra
    i think that is it, could you please tell more about the resizing? @shekharsom_twitter
    Som Shekhar
    @shekharsom_twitter
    now, i am stuck at a different issue altogether!!
    Yousef Alaqra
    @yousefalaqra
    And what's it??
    Som Shekhar
    @shekharsom_twitter
    if the recording is long, it's a long array. now, i need to save and it and retrieve it to play.
    using simple ajax doesn't work well because if it's a huge object, it takes time to save or download to play.
    i wish to be able to use some kind of streaming to save and retrieve the array. figuring out how to do that with the player.

    i think that is it, could you please tell more about the resizing? @shekharsom_twitter

    I am using width: 100%; height: 100%; transform:scale(0.8); in CSS for the player wrapper. This reduces the size well.

    but it's not fit well.
    Yousef Alaqra
    @yousefalaqra
    So you mean when the array is to huge, the Replayer won't be able to play at once? you'll need to attach the events to the player seperatly?
    transform:scale(0.8) why do you scale it by 0.8?
    Som Shekhar
    @shekharsom_twitter
    @yousefalaqra the time to upload and download is very long. I would like to start playing as soon as array is getting downloaded like a video
    @yousefalaqra scaling 0.8 made it fit to my component
    Yousef Alaqra
    @yousefalaqra

    @yousefalaqra the time to upload and download is very long. I would like to start playing as soon as array is getting downloaded like a video

    I thnk you can do that

    Som Shekhar
    @shekharsom_twitter

    @yousefalaqra the time to upload and download is very long. I would like to start playing as soon as array is getting downloaded like a video

    I thnk you can do that

    yes. trying to figure out how to achieve that.

    vincenzocasu
    @vincenzocasu

    Hi everyone,
    what is the best way to record events and replay them, considering i use ajax and php?

    I currently send an ajax request during registration to php page, which appends the contents of the events of the last 10 seconds to the json file. During registration the page is ok, and there are no particular anomalies.
    The json at the end of the session is about 200 / 300MB, but today it also reached 700MB ...

    In the replay phase, I don't know how to read the events a little at a time and load the next ones dynamically without having to load all the internal JSON when loading the page.

    I also noticed that the page is always the same, but the length of the json for the same duration in minutes of the session varies from 50MB to 600MB, why? Can it depend on the browser version used?

    Yousef Alaqra
    @yousefalaqra
    @shekharsom_twitter
    If you look at Hotjar when they play the record, they don't load all the events one time, they use several ajax requests during the replay to get the events. For exalmple: at the intial state they send ajasx request to get first x events, then they load second x events ... etc
    @vincenzocasu Based on my experience on rrweb, I think the best way is to depend on real-time communication instead of using ajax requests.
    You can achieve that by using WebSockets, all you need is to open 1 connection between the client and the server and kepp send events in realtime.
    I hope that helped you.
    vincenzocasu
    @vincenzocasu
    hi @yousefalaqra and thank you for your reply! Why websocket is best way for you?
    Som Shekhar
    @shekharsom_twitter
    @yousefalaqra web socket is not necessary. These days http2 is good enough too