Coder Social home page Coder Social logo

flexsurfer / re-frisk-remote Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 5.0 45 KB

re-frisk remote library for debugging re-frame applications using leiningen re-frisk plugin

Clojure 100.00%
re-frisk re-frame react-native re-natal electron electron-app

re-frisk-remote's Introduction

THIS REPO ISN'T MAINTANIED ANYMORE you can find re-frisk-remote here https://github.com/flexsurfer/re-frisk

re-frisk remote library

re-frisk remote library for debugging re-frame applications (react native, electron, web) using leiningen re-frisk plugin

Usage

Clojars

NOTE! for shadow-cljs RN projects you can use this libary: https://github.com/flexsurfer/re-frisk-rn

Add [re-frisk-remote "0.5.10"] to the dev :dependencies in your project.clj

run re-frisk using enable-re-frisk-remote! function on the localhost and default port (4567)

(:require [re-frisk-remote.core :refer [enable-re-frisk-remote!]])

 (enable-re-frisk-remote!)

Or select a different host and port by supplying the host and port number:

(enable-re-frisk-remote! {:host "192.168.1.1:8095"})

You could also provide options :enable-re-frisk? false or :enable-re-frame-10x? true to enable/disable sending traces for respective component while re-frame-10x is disabled by default.

Run re-frisk remote server using leiningen re-frisk plugin

$ lein re-frisk

Run an application, Enjoy!

re-frisk-remote's People

Contributors

dmitryn avatar dottedmag avatar flexsurfer avatar janherich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

re-frisk-remote's Issues

Make optimizations in transferred data

In current implementation all data is sending each time app-db or subscriptions are changed, we need to optimize it and send only difference because data transformation is expensive

https://github.com/flexsurfer/re-frisk-remote/blob/master/src/re_frisk_remote/core.cljs#L27
https://github.com/flexsurfer/re-frisk-remote/blob/master/src/re_frisk_remote/core.cljs#L37

And also implement update debouncing for app-db, in current implementation it works only for subscriptions

This task should be done with flexsurfer/lein-re-frisk#4

Timer warning in React Native

When running re-frisk-remote on Android with React Native, I see the following warning in my logs:

ReactNativeJS: Setting a timer for a long period of time, i.e. multiple minutes, is a performance and correctness issue on Android as it keeps the timer module awake, and timers can only be called when the app is in the foreground. See https://github.com/facebook/react-native/issues/12981 for more info.
ReactNativeJS: (Saw setTimeout with duration 89532ms)

The duration isn't always the same, but it's always the same warning. Rather than setting a large timeout, it'll likely be necessary to use smaller, recursive timeouts to avoid this warning (and the issues it causes).

Javascript Objects do not expand out

I apologize if this is actually fixed but I cannot find a reference to where it was fixed.

I am using re-frisk-remote and my re-frame app-db contains a datascript connection (or db). I also have some data in there that is actually javascript functions but it never expands out in the view. Am I missing something or is this not supported ?

Notice the keys :re-conn and :lookuphandler
these are all JS objects but they do not expand to show anything is there an exception anywhere.

Screen Shot 2019-07-13 at 7 37 00 PM

Make it possible to use re-frame-10x (re-frame-trace) in react native project

re-frame-10x lib should be incorporated into re-frisk-remote it should be possible to switch in re-frisk-shell between re-frisk and re-frame-trace

So the idea is to initialize re-frame-trace and patch reagent in re-frisk-remote, listen traces and send it via sockets to re-frisk-sidecar and render re-frame-trace form in re-frisk-shell

This can be helpful day8/re-frame-10x#75 (comment)

Changes should be done in next repos
https://github.com/flexsurfer/re-frisk-remote
https://github.com/flexsurfer/re-frisk-shell
https://github.com/flexsurfer/lein-re-frisk/tree/master/re-frisk-sidecar
https://github.com/status-im/re-frame

Make it possible to monitor multiple instances at once

I would love to be able to give an internal build to some of my colleagues and be able monitor the state of the app as they each progress through it. Should any errors arise, I'll have already accrued the events which lead up to it.

This could work, in a UI sense, by having a tabbed layout within the re-frisk browser window. One tab for each connected client. They'd probably get random generic ids, but could be renamed for organization. It could also be made so that the identifying info is read from a dev-provided fn, so a dev can identify each device with the logged in email or similar.

I'm not expecting priority on this feature request, but it's good to get it out there anyway. Should some funding come my startup's way, I'd happily up some bounty on this.

EDIT: Another use case, which is likely more practical for each dev, is in monitoring multiple dev devices working together on networked apps. Right now, all events appear to be tracked in the same browser, which can lead to a pretty confusing experience.

Update the depency com.taoensso/sente

Hello,

I tried to install this library, but the version of com.taoensso/sente fails to load as it misses the websocket. I tried to upgrade it but it fails.

Best regards,
David

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.