nandi/frqpublic Fork 0
f518938bafdada9f4a93303a3040ce9f8a9b6bd5
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

deps.edn · 74 lines · 3.9 KBClojure Blame HistoryRaw
A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago1{:paths ["src"]
2
3 ;; glimmer owns the reactive half (ratom, components, reconciler);
4 ;; glimmer-vidya paints it as Vidya/egui through libvidya's retained-tree ABI.
Show the list and the conversation at once on a wide window 10a1bd0 nandi 19d ago5 ;; Our fork of glimmer, until the reconciler fixes in it land upstream. A
Keep a row's actions from wandering when its line gets an id 5b5e90e nandi 19d ago6 ;; component unmounted between a cell firing and the queued render running
7 ;; used to render anyway, into widgets the backend had already freed and
8 ;; handed out again — which took the message list apart in a busy channel.
Show the list and the conversation at once on a wide window 10a1bd0 nandi 19d ago9 ;; And replacing a native node with one of another tag left every watcher
10 ;; under it subscribed, so swapping the phone layout for the split one and
11 ;; back shredded the chat: one component's props painted onto another's
12 ;; widget.
Keep a row's actions from wandering when its line gets an id 5b5e90e nandi 19d ago13 :deps {jolt-lang/glimmer {:git/url "https://gitlab.com/nandithebull/glimmer"
Show the list and the conversation at once on a wide window 10a1bd0 nandi 19d ago14 :git/sha "399df371c790d690fb6e4560c3d4d7f838502857"}
Take glimmer-vidya from gitlab, so a stranger can build this 5c40e75 nandi 19d ago15 nandi/glimmer-vidya {:git/url "https://gitlab.com/nandithebull/jolt-native"
Retire the release-bumping script 4f38d68 nandi 11d ago16 :git/sha "d970307ccf1fe67e2e971f2837d2282d8ba79a62"
17 :deps/root "glimmer-backends/glimmer-vidya"}}
A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago18
Take both native libraries from one place a66d1c1 nandi 19d ago19 ;; Both objects come from gitlab.com/nandithebull/jolt-native, one crate each,
20 ;; out of one target directory:
21 ;;
22 ;; libvidya the retained-tree ABI glimmer-vidya binds, on egui
23 ;; libjoltmoq the AV media plane — MoQ over QUIC, Opus, H.264, capture
24 ;;
25 ;; Calls are the one thing this client cannot do in jolt. Signaling is IRC and
Rename the source files from .jolt to .clj 3c3a947 nandi 11d ago26 ;; lives in src/frq/av.clj; the media half is three thousand lines of codec
Take both native libraries from one place a66d1c1 nandi 19d ago27 ;; and transport that would only be written badly a second time here.
28 ;;
Build the desktop libraries rather than fetching a release of them 0b81161 nandi 15d ago29 ;; just run
A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago30 :jolt/native [{:name "vidya"
31 :darwin ["libvidya.dylib"]
Calls f31ad3d nandi 19d ago32 :linux ["libvidya.so"]}
33 {:name "joltmoq"
34 :darwin ["libjoltmoq.dylib"]
Bind libmoq_ffi from the object's own metadata, not from its header 9f081a1 nandi 9d ago35 :linux ["libjoltmoq.so"]}
Fetch libmoq_ffi again, and keep the codecs out of Rust f518938 nandi 9d ago36 ;; moq-ffi's own object, fetched from its release. Not a
37 ;; second media plane: it is the TRANSPORT alone — MoQ over
38 ;; QUIC, the one piece of a call with no C implementation
39 ;; anywhere — and it is here so `frq.moq.*` has something to
40 ;; load while the port off libjoltmoq happens. Both are
41 ;; declared for now, and the day frq.av stops calling
42 ;; joltmoq_* is the day that entry goes.
Bind libmoq_ffi from the object's own metadata, not from its header 9f081a1 nandi 9d ago43 ;;
Fetch libmoq_ffi again, and keep the codecs out of Rust f518938 nandi 9d ago44 ;; The codecs are NOT in it: moq-ffi's audio and video
45 ;; features are off in every Linux artifact upstream
46 ;; publishes, and turning them on means compiling a
47 ;; 1062-crate workspace. Opus and H.264 come from their own C
48 ;; libraries instead, which is the whole point of doing this
49 ;; over FFI rather than over a Rust facade.
50 ;;
51 ;; No :darwin: :systems is x86_64-linux and aarch64-linux, so
52 ;; a .dylib named here would name a file nothing fetches.
Bind libmoq_ffi from the object's own metadata, not from its header 9f081a1 nandi 9d ago53 {:name "moq_ffi"
54 :linux ["libmoq_ffi.so"]}]
A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago55
Paint the same screens into a terminal ab83b42 nandi 17d ago56 :aliases {:frq {:main-opts ["-m" "frq.app"]}
A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago57
Paint the same screens into a terminal ab83b42 nandi 17d ago58 ;; The same screens in a terminal. glimmer-tui is the other backend
59 ;; for the same reconciler — libjolttui's tree ABI is libvidya's
60 ;; with cells under it — so `frq.tui` requires it after `frq.app`
61 ;; and renders the hiccup that is already written.
62 ;;
Merge origin/main, and let one jolt-native answer for both backends 1e8b590 nandi 16d ago63 ;; A path rather than a sha, like glimmer-vidya's would be if this
64 ;; alias were the way in: `just tui` builds jolt-native out of the
65 ;; flake and hands both Jolt halves over with -Sdeps, so this is for
66 ;; a checkout beside the tree and nothing else reads it.
Paint the same screens into a terminal ab83b42 nandi 17d ago67 ;;
68 ;; just tui
69 :tui {:extra-deps {nandi/glimmer-tui
Retire the release-bumping script 4f38d68 nandi 11d ago70 {:local/root "../jolt-native/glimmer-backends/glimmer-tui"}}
Paint the same screens into a terminal ab83b42 nandi 17d ago71 :main-opts ["-m" "frq.tui"]}}
72
73 :tasks {frq "jolt -M:frq"
74 tui "jolt -M:tui"}}