mirror of
https://github.com/unclebob/more-speech.git
synced 2024-09-30 10:30:56 +00:00
dev and test log level = 2. Regular is 1.
This commit is contained in:
parent
d595f3180e
commit
ffc2ce835b
@ -6,7 +6,7 @@
|
||||
(:require [clojure.core.async :as async]
|
||||
[more-speech.config :as config]
|
||||
[more-speech.data-storage :as data-storage]
|
||||
[more-speech.logger.default :refer [log-pr]]
|
||||
[more-speech.logger.default :refer [log-pr log-level]]
|
||||
[more-speech.mem :refer :all]
|
||||
[more-speech.migrator :as migrator]
|
||||
[more-speech.nostr.main :as main]
|
||||
@ -24,7 +24,10 @@
|
||||
(System/exit 1))
|
||||
(log-pr 1 'main arg 'start)
|
||||
(when (= "test" arg)
|
||||
(config/test-run!))
|
||||
(config/test-run!)
|
||||
(reset! log-level 2))
|
||||
(when (= "dev" arg)
|
||||
(reset! log-level 2))
|
||||
(when (and (some? arg) (re-matches #"hours:\d+" arg))
|
||||
(let [hours (Integer/parseInt (subs arg 6))]
|
||||
(set-mem :request-hours-ago hours))
|
||||
@ -40,7 +43,7 @@
|
||||
(log-pr 2 'main 'main-window-setup-complete)
|
||||
(set-mem :send-chan send-chan)
|
||||
(set-mem :event-handler handler)
|
||||
(log-pr 1 'main 'reading-in-last-n-days)
|
||||
(log-pr 2 'main 'reading-in-last-n-days)
|
||||
(let [latest-old-message-time
|
||||
(if (not (config/is-test-run?))
|
||||
(data-storage/load-event-history handler)
|
||||
@ -49,9 +52,9 @@
|
||||
(if (some? (get-mem :request-hours-ago))
|
||||
(- (util/get-now) (* 3600 (get-mem :request-hours-ago)))
|
||||
latest-old-message-time)
|
||||
_ (log-pr 1 'main 'getting-events)
|
||||
_ (log-pr 2 'main 'getting-events)
|
||||
exit-condition (main/start-nostr latest-old-message-time)]
|
||||
(log-pr 1 'starting-exit-process)
|
||||
(log-pr 2 'starting-exit-process)
|
||||
(when (not (config/is-test-run?))
|
||||
(data-storage/write-configuration))
|
||||
(if (= exit-condition :relaunch)
|
||||
|
@ -26,22 +26,22 @@
|
||||
(defn write-keys [keys]
|
||||
(let [keys-string (with-out-str (clojure.pprint/pprint keys))]
|
||||
(if (config/is-test-run?)
|
||||
(log-pr 1 `write-keys (dissoc keys :private-key))
|
||||
(log-pr 2 `write-keys (dissoc keys :private-key))
|
||||
(spit @config/keys-filename keys-string))))
|
||||
|
||||
(defn write-configuration []
|
||||
(log-pr 1 'writing-relays)
|
||||
(log-pr 2 'writing-relays)
|
||||
(write-relays)
|
||||
(log-pr 1 'writing-tabs)
|
||||
(log-pr 2 'writing-tabs)
|
||||
(spit @config/tabs-list-filename
|
||||
(with-out-str
|
||||
(clojure.pprint/pprint (get-mem :tabs-list))))
|
||||
|
||||
(log-pr 1 'writing-user-configuration)
|
||||
(log-pr 2 'writing-user-configuration)
|
||||
(spit @config/user-configuration-filename
|
||||
(with-out-str
|
||||
(clojure.pprint/pprint (user-configuration/get-config))))
|
||||
(log-pr 1 'configuration-written)
|
||||
(log-pr 2 'configuration-written)
|
||||
)
|
||||
|
||||
(defn read-profiles []
|
||||
@ -88,10 +88,10 @@
|
||||
(loop [events old-events
|
||||
event-count 0]
|
||||
(if (empty? events)
|
||||
(log-pr 1 'done-loading-events)
|
||||
(log-pr 2 'done-loading-events)
|
||||
(let [event (first events)]
|
||||
(when (zero? (rem event-count 100))
|
||||
(log-pr 1 event-count 'events-loaded (fu/format-time (:created-at event)) 'backlog (get-mem :websocket-backlog))
|
||||
(log-pr 2 event-count 'events-loaded (fu/format-time (:created-at event)) 'backlog (get-mem :websocket-backlog))
|
||||
(Thread/sleep 5000))
|
||||
(try
|
||||
(handlers/handle-text-event handler event)
|
||||
@ -126,17 +126,17 @@
|
||||
(let []
|
||||
(doseq [day-partition daily-partitions]
|
||||
(let [file-name (file-name-from-day (first day-partition))]
|
||||
(log-pr 1 'writing file-name)
|
||||
(log-pr 2 'writing file-name)
|
||||
(spit (str @config/messages-directory "/" file-name)
|
||||
(with-out-str
|
||||
(clojure.pprint/pprint
|
||||
(second day-partition)))))))))
|
||||
|
||||
(defn write-changed-days []
|
||||
(log-pr 1 'writing-events-for-changed-days)
|
||||
(log-pr 2 'writing-events-for-changed-days)
|
||||
(let [days-changed (get-mem :days-changed)
|
||||
earliest-loaded-time (get-mem :earliest-loaded-time)
|
||||
_ (log-pr 1 'earliest-loaded-time earliest-loaded-time)
|
||||
_ (log-pr 2 'earliest-loaded-time earliest-loaded-time)
|
||||
first-day-loaded (quot earliest-loaded-time 86400)
|
||||
days-to-write (set (filter #(>= % first-day-loaded) days-changed))
|
||||
daily-partitions (partition-messages-by-day (get @in-memory/db :text-event-map))
|
||||
@ -167,11 +167,11 @@
|
||||
now (quot (System/currentTimeMillis) 1000)
|
||||
start-time (int (- now (* config/days-to-read-messages-that-have-been-read 86400)))
|
||||
event-ids (gateway/get-ids-of-read-events-since db start-time)]
|
||||
(log-pr 1 'reading (count event-ids) 'read-messages)
|
||||
(log-pr 2 'reading (count event-ids) 'read-messages)
|
||||
event-ids))
|
||||
|
||||
(defn load-event-history [handler]
|
||||
(log-pr 1 'load-event-history 'starting)
|
||||
(log-pr 2 'load-event-history 'starting)
|
||||
(let [db (get-db)
|
||||
read-event-ids (get-read-events)
|
||||
now (quot (System/currentTimeMillis) 1000)
|
||||
@ -183,9 +183,9 @@
|
||||
last-time (if (empty? times)
|
||||
(- now 86400)
|
||||
(apply max times))
|
||||
_ (log-pr 1 'load-event-history 'last-time (fu/format-time last-time))]
|
||||
_ (log-pr 2 'load-event-history 'last-time (fu/format-time last-time))]
|
||||
(future (load-events events handler))
|
||||
(log-pr 1 'reading-files-complete)
|
||||
(log-pr 2 'reading-files-complete)
|
||||
last-time))
|
||||
|
||||
(defn get-events-since [db since]
|
||||
|
@ -218,7 +218,7 @@
|
||||
(send-event (compose-metadata-event))
|
||||
(let [server-urls (filter #(:write (get @relays %)) (keys @relays))
|
||||
server-urls (map remove-arguments server-urls)]
|
||||
(log-pr 1 'server-urls server-urls)
|
||||
(log-pr 2 'server-urls server-urls)
|
||||
(future
|
||||
(doseq [url server-urls]
|
||||
(Thread/sleep 5000)
|
||||
|
@ -207,7 +207,7 @@
|
||||
|
||||
(defn handle-notification [envelope url]
|
||||
(set-mem [:relay-notice url] (with-out-str (clojure.pprint/pprint envelope)))
|
||||
(log-pr 1 'NOTICE url envelope))
|
||||
(log-pr 2 'NOTICE url envelope))
|
||||
|
||||
(defn inc-if-nil [n]
|
||||
(if (nil? n) 1 (inc n)))
|
||||
@ -242,7 +242,7 @@
|
||||
(process-event event url)
|
||||
(when (is-text-event? event)
|
||||
(handle-text-event ui-handler event))))
|
||||
(log-pr 1 'id-mismatch url 'computed-id (util/num32->hex-string computed-id) envelope))))))
|
||||
(log-pr 2 'id-mismatch url 'computed-id (util/num32->hex-string computed-id) envelope))))))
|
||||
|
||||
(defn try-validate-and-process-event [url envelope]
|
||||
(try
|
||||
|
@ -40,9 +40,9 @@
|
||||
(do
|
||||
(user-configuration/set-last-time-profile-exported now-in-seconds)
|
||||
(future (composers/compose-and-send-metadata-and-relay-recommendations)))
|
||||
(log 1 "Not time to export profile yet."))
|
||||
(log 2 "Not time to export profile yet."))
|
||||
(let [exit-condition (process-send-channel)]
|
||||
(protocol/close-all-relays)
|
||||
(Thread/sleep 100)
|
||||
(log-pr 1 'done)
|
||||
(log-pr 2 'done)
|
||||
exit-condition)))
|
@ -238,7 +238,7 @@
|
||||
|
||||
(defn subscribe-to-relays [subscription-time now]
|
||||
(let [date (- subscription-time 3600)]
|
||||
(log-pr 1 'subscription-date date (format-time date))
|
||||
(log-pr 2 'subscription-date date (format-time date))
|
||||
(doseq [url (keys @relays)]
|
||||
(subscribe-to-relay url date now))))
|
||||
|
||||
@ -275,14 +275,14 @@
|
||||
(defn handle-close [relay]
|
||||
(let [url (::ws-relay/url relay)]
|
||||
(swap! relays assoc-in [url :connection] nil)
|
||||
(log-pr 1 url 'is-closed)))
|
||||
(log-pr 2 url 'is-closed)))
|
||||
|
||||
(defn make-relay [url]
|
||||
(ws-relay/make url {:recv handle-relay-message
|
||||
:close handle-close}))
|
||||
|
||||
(defn reconnect-to-relay [url since now]
|
||||
(log-pr 1 'reconnecting-to url)
|
||||
(log-pr 2 'reconnecting-to url)
|
||||
(connect-to-relay (make-relay url))
|
||||
(subscribe-to-relay url since now))
|
||||
|
||||
@ -290,14 +290,14 @@
|
||||
(let [now (util/get-now)
|
||||
retrying? (get-in @relays [url :retrying])]
|
||||
(when (not retrying?)
|
||||
(log-pr 1 'relay-closed url)
|
||||
(log-pr 2 'relay-closed url)
|
||||
(swap! relays assoc-in [url :retrying] true)
|
||||
(swap! relays assoc-in [url :connection] nil)
|
||||
(future
|
||||
(let [retries (get-in @relays [url :retries] 0)
|
||||
seconds-to-wait (min 300 (* retries 30))]
|
||||
(log-pr 1 'retries retries url)
|
||||
(log-pr 1 'waiting seconds-to-wait 'seconds url)
|
||||
(log-pr 2 'retries retries url)
|
||||
(log-pr 2 'waiting seconds-to-wait 'seconds url)
|
||||
(swap! relays increment-relay-retry url)
|
||||
(Thread/sleep (* 1000 seconds-to-wait))
|
||||
(swap! relays assoc-in [url :retrying] false)
|
||||
@ -314,7 +314,7 @@
|
||||
(let [relay (get-in @relays [url :connection])]
|
||||
(when-not (get-in @relays [url :retrying])
|
||||
(when (is-dead? url)
|
||||
(log-pr 1 'relay-check-open-deadman-timeout url)
|
||||
(log-pr 2 'relay-check-open-deadman-timeout url)
|
||||
(when (some? relay)
|
||||
(relay/close relay))
|
||||
(future (retry-relay url (get-mem [:deadman url])))))))
|
||||
@ -338,10 +338,10 @@
|
||||
(doseq [url (keys @relays)]
|
||||
(let [relay (make-relay url)]
|
||||
(connect-to-relay relay)))
|
||||
(log-pr 1 'relay-connection-attempts-complete))
|
||||
(log-pr 2 'relay-connection-attempts-complete))
|
||||
|
||||
(defn request-contact-lists-from-relays []
|
||||
(log-pr 1 'requesting-contact-lists)
|
||||
(log-pr 2 'requesting-contact-lists)
|
||||
(doseq [url (keys @relays)]
|
||||
(let [relay (get-in @relays [url :connection])
|
||||
read-type (get-in @relays [url :read])]
|
||||
@ -349,7 +349,7 @@
|
||||
(request-contact-lists relay)))))
|
||||
|
||||
(defn request-metadata-from-relays [since]
|
||||
(log-pr 1 'requesting-metadata)
|
||||
(log-pr 2 'requesting-metadata)
|
||||
(doseq [url (keys @relays)]
|
||||
(let [relay (get-in @relays [url :connection])
|
||||
read? (get-in @relays [url :read])]
|
||||
|
@ -80,10 +80,10 @@
|
||||
(let [checked-url (validate-relay-url url)]
|
||||
(when (and (not (empty? url))
|
||||
(empty? checked-url))
|
||||
(log-pr 1 'invalid-relay url))
|
||||
(log-pr 2 'invalid-relay url))
|
||||
(when (and (not (empty? checked-url))
|
||||
(not (contains? @relays checked-url)))
|
||||
(log-pr 1 'adding-relay checked-url)
|
||||
(log-pr 2 'adding-relay checked-url)
|
||||
(swap! relays assoc checked-url {:read :read-none :write false}))))
|
||||
|
||||
(defn add-recommended-relays-in-tags [event]
|
||||
|
@ -161,7 +161,7 @@
|
||||
(when (some? transaction)
|
||||
(let [{:keys [id amount comment]} transaction
|
||||
sats (/ amount 1000)]
|
||||
(log-pr 1 'got-zap-receipt (util/hexify id) sats 'sats comment)
|
||||
(log-pr 2 'got-zap-receipt (util/hexify id) sats 'sats comment)
|
||||
(gateway/add-zap-to-event (get-db)
|
||||
id {:lnurl receipt-invoice
|
||||
:created-at (util/get-now)
|
||||
|
@ -358,8 +358,8 @@
|
||||
(try
|
||||
(browse/browse-url url)
|
||||
(catch Exception ex
|
||||
(log-pr 1 'open-link url (.getMessage ex))
|
||||
(log-pr 1 ex)))
|
||||
(log-pr 2 'open-link url (.getMessage ex))
|
||||
(log-pr 2 ex)))
|
||||
|
||||
(= type "ms-idreference")
|
||||
(let [id (util/unhexify subject)]
|
||||
|
@ -53,24 +53,24 @@
|
||||
menu-bar))
|
||||
|
||||
(defn make-main-window []
|
||||
(log-pr 1 'make-main-window)
|
||||
(log-pr 2 'make-main-window)
|
||||
(let [title (str "More-Speech:" (:name (get-mem :keys)) " - " config/version)
|
||||
title (if (config/is-test-run?) (str title " - TEST") title)
|
||||
main-frame (frame :title title :size [1000 :by 1000] :menubar (make-menubar))
|
||||
_ (set-mem :frame main-frame)
|
||||
_ (log-pr 1 'make-main-window 'making-article-area)
|
||||
_ (log-pr 2 'make-main-window 'making-article-area)
|
||||
article-area (article-panel/make-article-area)
|
||||
_ (listen article-area :hyperlink article-panel/open-link)
|
||||
header-tab-panel (tabbed-panel :tabs (tabs/make-tabs) :id :header-tab-panel)
|
||||
article-panel (border-panel :north (article-panel/make-article-info-panel)
|
||||
:center (scrollable article-area)
|
||||
:south (article-panel/make-control-panel))
|
||||
_ (log-pr 1 'make-main-window 'article-panel-complete)
|
||||
_ (log-pr 2 'make-main-window 'article-panel-complete)
|
||||
messages-panel (top-bottom-split
|
||||
header-tab-panel
|
||||
article-panel
|
||||
:divider-location 1/2)
|
||||
_ (log-pr 1 'make-main-window 'messages-panel-complete)]
|
||||
_ (log-pr 2 'make-main-window 'messages-panel-complete)]
|
||||
(config! main-frame :content messages-panel)
|
||||
(listen main-frame :window-closing
|
||||
(fn [_]
|
||||
|
@ -172,7 +172,7 @@
|
||||
tab (swing-util/get-tab-by-name tab-name)
|
||||
ids (gateway/get-ids-by-author-since (get-db) public-key since)]
|
||||
(swing-util/select-tab tab-name)
|
||||
(log-pr 1 'adding (count ids) 'events)
|
||||
(log-pr 2 'adding (count ids) 'events)
|
||||
(doseq [id ids]
|
||||
(add-event-to-tab tab (gateway/get-event (get-db) id))))))
|
||||
|
||||
@ -190,7 +190,7 @@
|
||||
ids (gateway/get-ids-that-cite-since (get-db) root-of-thread since)
|
||||
ids (set (concat [root-of-thread event-id] ids))]
|
||||
(swing-util/select-tab tab-name)
|
||||
(log-pr 1 'adding (count ids) 'events)
|
||||
(log-pr 2 'adding (count ids) 'events)
|
||||
(doseq [id ids]
|
||||
(add-event-to-tab tab (gateway/get-event (get-db) id)))))))
|
||||
|
||||
@ -317,20 +317,20 @@
|
||||
(defn delete-last-event-if-too-many [model max-nodes]
|
||||
(let [root (.getRoot model)]
|
||||
(when (> (.getChildCount root) max-nodes)
|
||||
(log-pr 1 'nodes (.getChildCount root))
|
||||
(log-pr 2 'nodes (.getChildCount root))
|
||||
(while (> (.getChildCount root) max-nodes)
|
||||
(delete-last-event-from-tree-model model))
|
||||
(log-pr 1 'nodes-remaining (.getChildCount root)))))
|
||||
(log-pr 2 'nodes-remaining (.getChildCount root)))))
|
||||
|
||||
(defn prune-tabs []
|
||||
(log-pr 1 'prune-tabs)
|
||||
(log-pr 2 'prune-tabs)
|
||||
(loop [tabs-list (get-mem :tabs-list)]
|
||||
(if (empty? tabs-list)
|
||||
nil
|
||||
(let [tab-name (:name (first tabs-list))
|
||||
tree (get-mem [:tab-tree-map tab-name])
|
||||
model (config tree :model)]
|
||||
(log-pr 1 'pruning tab-name)
|
||||
(log-pr 2 'pruning tab-name)
|
||||
(delete-last-event-if-too-many model config/max-nodes-per-tab)
|
||||
(recur (rest tabs-list))))))
|
||||
|
||||
|
@ -35,13 +35,13 @@
|
||||
(defrecord listener [buffer relay]
|
||||
WebSocket$Listener
|
||||
(onOpen [_this webSocket]
|
||||
(log-pr 1 'open (::url relay))
|
||||
(log-pr 2 'open (::url relay))
|
||||
(.request webSocket 1))
|
||||
(onText [this webSocket data last]
|
||||
(handle-text this data last)
|
||||
(.request webSocket 1))
|
||||
(onBinary [_this _webSocket _data _last]
|
||||
(log-pr 1 'binary))
|
||||
(log-pr 2 'binary))
|
||||
(onPing [_this webSocket message]
|
||||
(set-mem [:deadman (::url relay)] (util/get-now))
|
||||
(.sendPong webSocket message)
|
||||
@ -50,10 +50,10 @@
|
||||
(set-mem [:deadman (::url relay)] (util/get-now))
|
||||
(.request webSocket 1))
|
||||
(onClose [_this _webSocket _statusCode _reason]
|
||||
(log-pr 1 'websocket-closed (::url relay))
|
||||
(log-pr 2 'websocket-closed (::url relay))
|
||||
((:close (::callbacks relay)) relay))
|
||||
(onError [_this _webSocket error]
|
||||
(log-pr 1 'websocket-listener-error (::url relay) (:cause error))
|
||||
(log-pr 2 'websocket-listener-error (::url relay) (:cause error))
|
||||
((:close (::callbacks relay)) relay))
|
||||
)
|
||||
|
||||
@ -92,14 +92,14 @@
|
||||
ws (deref wsf 30000 :time-out)]
|
||||
(if (= ws :time-out)
|
||||
(do
|
||||
(log-pr 1 'connection-time-out url)
|
||||
(log-pr 2 'connection-time-out url)
|
||||
(future ((:close (::callbacks relay)) relay))
|
||||
relay)
|
||||
(let [open-relay (assoc relay ::socket ws)]
|
||||
(send-ping open-relay)
|
||||
(assoc open-relay ::timer (start-timer open-relay)))))
|
||||
(catch Exception e
|
||||
(log-pr 1 'connect-to-relay-failed url (:reason e))
|
||||
(log-pr 2 'connect-to-relay-failed url (:reason e))
|
||||
(future ((:close (::callbacks relay)) relay))
|
||||
relay))))
|
||||
|
||||
@ -108,7 +108,7 @@
|
||||
(when (and socket (not (.isOutputClosed socket)))
|
||||
(try
|
||||
(let [json (to-json message)]
|
||||
(log 1 (str "sending to:" url " " json))
|
||||
(log 2 (str "sending to:" url " " json))
|
||||
(.sendText socket json true)
|
||||
(.request socket 1))
|
||||
(catch Exception e
|
||||
|
Loading…
Reference in New Issue
Block a user