Fork me on GitHub
#hoplon
<
2016-01-15
>
laforge4900:01:29

...going with alpha10.

micha00:01:18

yes -alpha11 has that one bug

micha00:01:34

i'll fix it for -alpha12

laforge4901:01:03

still need to update the readme file for notify, but otherwise it is ready to be released.

laforge4901:01:48

Once released, I'll push the changes to demo for castra-notify-random and castra-notify-chat.

laforge4914:01:01

[ANN] Notify release 0.1.0 drops old sessions when the max number of sessions is exceeded. Not backward compatible. 😞

laforge4915:01:55

The only open issue now for notify is the degrading poll timer. Of course, we still really need long poll and not a degrading poll timer, but at least the degrading poll timer is a quick fix. 😄

laforge4915:01:55

Indeed, @micha working on notify 0.1.0 was getting old--it was just taking way too long! Glad to be done with it. 😄

laforge4915:01:40

It should have been a trivial rewrite, except for the complexities of having login be event driven. 😞

laforge4918:01:31

Even as a non-js dev, this looks helpful: https://github.com/magomimmo/modern-cljs

laforge4920:01:24

Wondering about adding a timestamp to notifications. For some things it is important, for other things less so. But there are advantages to doing it uniformly for al notifications.

laforge4920:01:58

In a sense, notifications are like a journal of a database, reflecting changes over time. Adding a timestamp opens the door to a number of things. Like activity analysis. But perhaps I'm getting to far ahead, as we do not have any demos yet which include durability.

laforge4920:01:07

On the other hand, I want to stabilize things as soon as possible. And as it would be handy in the future, why not add it now?

laforge4920:01:43

One thing I was happy to see was js date. It allows us to display a timestamp in local time. Which is way cool. So for example, a chat could not only show who said what, but also when.

nonrecursive21:01:12

hey dudes, I was wondering - in a boot cljs project, is it possible to output two files?

nonrecursive21:01:49

hmm I think I found it, the modules compiler option

meow21:01:31

also #C053K90BR

nonrecursive22:01:14

whoops, my bad

laforge4922:01:02

Looking at a .hl file, I see the alias js being used. Looking at the build.boot file, it is not at all clear what it is aliased to. What is js aliased to??? Thanks!

laforge4922:01:20

--the require in the .hl file does not define this. So I'm a bit lost. Convenience and defaults do not always give rise to clarity. 😞

laforge4922:01:37

clojurescript.core perhaps?

laforge4922:01:24

Hmm. It is also aliased in .cljs files. So this is more of a clojurescript thingy than a hoplon thingy. simple_smile

micha22:01:35

the js/ namespace is hardcoded into the clojurescript compiler, it's part of the interop mechanism

micha22:01:11

because there is no namespace concept in javascript the js namespace is reserved for javascript names

micha22:01:44

java has the concept of namespaces, i.e., packages

micha22:01:56

so you don't see a java/ namespace in Clojure

micha22:01:48

also it makes no sense to require the js namespace, as it's already loaded everywhere

micha22:01:08

like the java.lang package in Clojure

micha22:01:22

look at the "JavaScript Interop" section

laforge4922:01:16

Thanks! And sorry for being so thick-headed.

laforge4922:01:52

I think the only solution to my thick-headedness is to write a lot more code and to read more too. simple_smile

micha22:01:29

we tried not to make things magical with hoplon

micha22:01:44

i don't think there are many magical things in it

laforge4922:01:47

I just don't have the deep intuitive grasp yet that I have after working 20 years in Java. Makes me feel dumb.

laforge4922:01:01

Very fine sir!

laforge4922:01:30

Yes, I LOVE hoplon. And that is likely a major contributing reason as to why!

laforge4922:01:55

Are the differences between a .cljs and a .cljs.hl file dicumented anywhere?

laforge4922:01:59

Aside from the use of hickup, I'm thinking.

micha22:01:06

the only difference is that .hl adds the hoplon and javelin names to the namespace

micha22:01:15

that's all

micha22:01:41

oh and you can have a page declaration instead of a ns decl

micha22:01:55

which hoplon compiler uses to know how to make the html files and such

micha22:01:15

but there is nothing different about a .hl file from a .cljs file otherwise

micha22:01:54

i don't think there is any hiccup involved

micha22:01:12

although you can use hiccup in either one, of course

micha22:01:30

when the hoplon compiler compiles a .hl file into a html file and a cljs file, it only reads the first form (the page declaration)

micha22:01:44

the rest of the file is left as-is, hoplon doesn't even look in there

micha22:01:34

the conversion from .hl -> .cljs just involves adding (:require [javelin.core :refer [cell ...]]) and (:require-macros [javelin.core :refer [cell= ...]])

micha22:01:45

to the ns declaration

micha22:01:03

because cljs itself doesn't support (:require [javalien.core :refer :all])

micha22:01:15

so it would be a PITA to have to do like

micha22:01:02

(hoplon.core/div
  (hoplon.core/button :css (javelin.core/cell= ...

laforge4922:01:49

I owe you a wiki page now. simple_smile

laforge4922:01:02

Did a web search on PITA, yes, I got it, but I also learned about Pita rat! 😄

micha23:01:02

and a pretty good bread