This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-10-31
Channels
- # aleph (12)
- # announcements (4)
- # asami (7)
- # babashka (20)
- # beginners (92)
- # calva (74)
- # clj-kondo (8)
- # cljdoc (70)
- # clojure (47)
- # clojure-dev (29)
- # clojure-europe (27)
- # clojure-nl (7)
- # clojure-norway (3)
- # clojurescript (7)
- # cursive (2)
- # datomic (1)
- # emacs (8)
- # events (5)
- # fulcro (36)
- # gratitude (4)
- # humbleui (25)
- # introduce-yourself (1)
- # lsp (26)
- # malli (6)
- # missionary (8)
- # nbb (50)
- # off-topic (9)
- # pathom (2)
- # pedestal (3)
- # portal (32)
- # practicalli (5)
- # reitit (5)
- # releases (1)
- # ring (6)
- # shadow-cljs (87)
- # sql (31)
- # tools-deps (26)
- # vim (3)
- # xtdb (15)
good morn!
morning
Good morning!
gOod moRninG
Morning! Today I continue to hack Portal to make it do my biding https://clojurians.slack.com/archives/C0185BFLLSE/p1667162340334979
No, I mean portal.api/submit
yes, the same portal.api/submit
thart you normally use with add-tap
I see… so there’s still a prod repl underneath, it’s just that it is “enhanced” with remote access through nrepl + all the goodies (including but not limited to visualization) provided by portal, do I understand it correctly?
(when I first read this and don’t know anything about portal, my first thought is how in the kubernetes ecosystem some repl-like ideas are getting more accepted. Like providing one-click terminal access to a running pod)
No, there is no repl. Portal works without repl.
huh… so where is the portal instance located? embedded right inside the prod app? and say the prod app run portal.api/url
and print it to the server log…
because right now, even after briefly reading through the doc, the details of how everything work is still highly fuzzy to me
on a positive spin - maybe that’s an opportunity to write a blog post clarifying/explaining stuff 😅
> where is the portal instance located? embedded right inside the prod app?
exactly. Portal runs its own http server, on a dedicated port, serving its ui. This is the key part of integrating it into the prod app (`p` is portal.api, p.rt
is portal.runtime):
(defrecord TroubleshootingPortal [config postgres-service]
component/Lifecycle
(start [component]
(p.rt/register! #'drilldown!
{:predicate #(-> % :ardoq :entity-type #{:report})})
(p/set-defaults! {:value (atom (list
(with-meta (postgres-service/list-existing-org-dbs postgres-service)
{`ccp/nav nav-org-label})))})
(assoc component
:server (:http-server (p/start {:port 8989}))))
(stop [{:keys [^org.httpkit.server.HttpServer server] :as component}]
(p/close :all)
(some-> server (.stop 10))
(dissoc component :server)))
BTW I have replaced the aforementioned submit with set-defaults! shown above.Trying to get started programming with my voice using Talon. The voice engine does not like my accent/mic, but it feels amazing to free my hands of the keyboard/mouse/desk, so I think I’ll keep stumbling till I get there 🙂
Morning!
experiencing about the same success 😄