This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-01-18
Channels
- # bangalore-clj (1)
- # beginners (60)
- # boot (98)
- # cider (8)
- # clojure (158)
- # clojure-dusseldorf (16)
- # clojure-france (3)
- # clojure-hamburg (2)
- # clojure-mke (2)
- # clojure-russia (11)
- # clojure-serbia (1)
- # clojure-spec (123)
- # clojure-uk (59)
- # clojurescript (44)
- # code-reviews (16)
- # community-development (51)
- # core-async (46)
- # cryogen (1)
- # cursive (9)
- # datascript (5)
- # datomic (36)
- # emacs (3)
- # events (12)
- # hoplon (57)
- # jobs (1)
- # juxt (3)
- # klipse (55)
- # lein-figwheel (3)
- # leiningen (5)
- # luminus (3)
- # off-topic (8)
- # om (75)
- # om-next (9)
- # onyx (17)
- # pedestal (7)
- # portland-or (3)
- # proton (36)
- # protorepl (6)
- # re-frame (3)
- # reagent (33)
- # remote-jobs (1)
- # ring (23)
- # ring-swagger (2)
- # rum (1)
- # specter (1)
- # untangled (36)
- # yada (11)
Soo, is anyone using untangled-components? Would really like to start using it for the forms stuff
There is already a very good documentation and introduction as an devcard in the developer branch.
It’d be nice if the untangled team could publish the latest developer version as a SNAPSHOT to clojars. The latest published Version is from Oct 2016.
Yeah I checked the documentation out, but I will wait a bit longer till it is not snapshotted anymore. But there are some very nice ideas in there
@mitchelkuijpers @baris we have not published it because I got sidetracked on other important things. There are some rough edges that need cleaned up before the API is stable, I think
So, I'm willing to merge the current PR to develop and push a SNAPSHOT. Most of it will remain the way it is, but there may be some renaming of functions. I don't like some of the names and don't have time to deal with it at the moment.
If anything is broken on those cards, assume it is a problem and report it. It is likely that the implementation changed and the card got left behind
The main recent add is that nested forms with recursive support for top-level reasoning was completed, along with a generic on-the-wire form submit (commit) was added that sends JUST the diffs of the entities (or the whole entity if it has a tempid)
you have to implement the server-side processing of that, but that should be pretty easy, since it basically tells you the ident (which can correspond to table/id) and the attrs that changed.
@adambros can chime in, but I don't think we've talked about doing anything that would cause major breakage if someone used it "as-is". I think mainly a bit of minor renaming, and possibly tuning up the specs
so fixing any code that depends on it when we stop snapshotting should be a few mins of work, and I can include the renames in the changelog
So, there is a performance bug in U.C., but unfortunately in order to fix it any applications that are improperly triggering post mutations may no longer render correctly (e.g. you could be lazy with the current bug, because it is forcing a root re-render). The proper behavior is for your loads to include a refresh-set of keys to re-render.
There is no way for me to fix this without causing potential unintentional breakage.
Is it only an performance bug in post mutations, or general performance improvement?
currently the internals are forcing a root rerender with a change to react-key if any post-mutations run
really, your loads should have refresh keys listed, and just those things should be re-rendered
Interesting. Wonder if that'd help improve our boot times (only place we use post-mutation)
For the most part all of our data has a 1-1 mapping with what we get from datomic pulls, so we don't ever really have to do any post-processing of received data, and with Sente we receive updates for things we might otherwise clean up with post-mutations I guess?
Yeah, we put a lot of effort into trying to make sure it's one-to-one for a pull query.
(well, pluck - https://github.com/AdStage/pluck-api - in our case, but that's just a bit of extra wrapper to simplify the read functions on the server side)