This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-02
Channels
- # announcements (25)
- # babashka (76)
- # beginners (74)
- # biff (36)
- # calva (11)
- # cider (5)
- # clerk (43)
- # cljs-dev (4)
- # cljsrn (12)
- # clojure (111)
- # clojure-austin (14)
- # clojure-europe (82)
- # clojure-nl (2)
- # clojure-norway (5)
- # clojure-uk (1)
- # clojurescript (36)
- # core-async (13)
- # cursive (30)
- # datomic (12)
- # fulcro (6)
- # honeysql (9)
- # hyperfiddle (73)
- # instaparse (3)
- # introduce-yourself (1)
- # membrane (40)
- # nbb (2)
- # off-topic (6)
- # other-languages (9)
- # polylith (33)
- # reagent (2)
- # reitit (7)
- # rum (7)
- # shadow-cljs (47)
- # tools-deps (10)
- # vim (11)
- # xtdb (16)
@smith.adriane Holy cow. I managed to get all of the Fulcro RAD machinery working (well, shambling is probably a better word. 🙂 . Am now dealing with membrane hanging on show! and show-sync! — I’ll get a video posted shortly. Some windows even showing up.
👍 I have a bit of time today if you want to pair to help get you up and running.
https://capture.dropbox.com/bvwuKkfzjyX64bzO OMG, that would be fabulous! Anytime after 30m from now and before 3pm would work! Here’s a quick description of current state. I’ll check code into repo as well, but this is so shaky, I don’t expect you’ll be able to reproduce anything. Actually, let me work on giving you exact steps to reproduce. 5m.
I'll check out the video, but if it's hanging while trying to show the window, it's most likely that something is blocking on the main thread.
https://github.com/realgenekim/rss-reader-fulcro-demo/blob/deb6d081cbd63886770e58e2e74a00ce7dd7a208/src/shared/com/example/membrane_ui/ui.clj#L180 All checked in, with video for how to repro. Thank you! https://github.com/realgenekim/rss-reader-fulcro-demo/blob/deb6d081cbd63886770e58e2e74a00ce7dd7a208/src/shared/com/example/membrane_ui/ui.clj#L180
It looks like something is updating. What do you mean by hanging?
Yes. The sync versions are mainly when running from app main. It will block until you close the window.
Oh!!! Wonderful! Umm, the main issue is that the current rows “var” in current state is still empty. Isn’t being… gosh, I don’t even know the words. Isn’t being passed in.
I’m available anytime now. Will be putting in more code to figure out what the “component state” actually is…. DM me whenever you’re ready.
props (the map being passed in to defsc component) is nil. Don’t know what that means…
It's been quite a while since I've looked into this so I don't exactly remember how all the pieces fit.
I’ve been using Fulcro for 3 years, and I still don’t know how all the pieces fit. Gimme 5m: doing a simpler component to render a story/article. That will teach me something about how this works…
I think this is a nice small test case that should work. https://github.com/realgenekim/rss-reader-fulcro-demo/blob/33a8e76a9ac092e620d933c05e732ffe8d6799e1/src/shared/com/example/membrane_ui/ui.clj#L224
I seem to be missing a namespace: com.example.components.database-queries
Oh. You also need to get the back-end working. Here. Let me start a video of the full startup sequence from scratch.
https://capture.dropbox.com/At5m9cSN30ccMCbi Puzzling over something, but here’s the video on how to startup
• use datomic alias when starting up • go to datomic/development.clj • run (restart) That gets the backend running.
FWIW, I think the data is all there. I just don’t understand how components actually get rendered. 🙂 Wanna jump on a call, and see if we can get the Fulcro machinery to issue queries and get its data/state loaded?
Maybe bound it to 30m — if we can’t get it running, maybe we ask if Tony can jump in and give us some pointers…
…sorry for barfing more stuff here… What seems to be missing. We should be passing in “client/app” somewhere, which contains all the state, which components query.
I think membrane fulcro tries to wrap all that up for you
I'm making a cup of coffee, but I'll be ready after that.
@smith.adriane OMG, Fulcro RAD report is working!!!!
My question: when I update the defsc
form and reload, the view doesn’t update. (Maybe I just need to go back to the dev-view? Gotta admit: I’m a little foggy-headed now, and probably should leave this alone until tomorrow. But exciting!)
https://capture.dropbox.com/SWpwbu5Gc2OAtY0K
https://capture.dropbox.com/8A3FEU5kiBi4EGz0 Complete demo of how to run — things to note! • when you manually get the RAD report running (I show you how — it’s a report/run and report/start), the view updates! That’s amazing! It shows that Fulcro updates are making it to membrane. • The mystery: when you update a defsc component, it doesn’t trigger an update. I wonder how we can trigger that? (I will look into Fulcro docs and see if live coding update/experience works in your TODO demo.)
> • The mystery: when you update a defsc component, it doesn’t trigger an update. I wonder how we can trigger that? (I will look into Fulcro docs and see if live coding update/experience works in your TODO demo.)
I believe renders get triggered from fulcro so you need to trigger a rerender when you redefine a component.
I'm not sure where you ended up putting the render-root!
function, but you'll need to call that after you redefine a component. Not sure what the best way to make it easy to automatically rerender when you define a component. Maybe either a macro that wraps defsc
, some repl middleware, or add watches on the component vars.
I tried manually rendering, but that didn’t seem to do anything. I will look into it again when I get home. And I was just reading this! :) https://github.com/thiru/clj-reloader/blob/master/src/reloader/core.clj
In the meantime, thinking of just adding a counter to force a refresh every second. :)
(That probably won’t work. I think it requires remounting the component — I was banging away on that when I had to step away.. will look at it. I think hot code reload is what I’ll work on next. What’s so compelling about membrane is how immediate everything is.)
Got live-reloading to work! 50m video posted: Some triumphant moments! • 17m: got rows rendering • 23m: got row numbers working • 27m: rendering all 7000 stories! https://capture.dropbox.com/YaC4HT24weWLR1WE
Got stuck trying to figure out why report isn’t paginating, instead rending all 7K entries. 🙂 Wrapping up soon, but so fun!