dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit de14611d80434ba0c8a03ea90225324ab3b35635
parent c05e869daefce4b62ee9ed940b1c76d5610ed7de
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed,  5 Apr 2023 13:22:26 -0700

test

Diffstat:
Mpkg/web/handlers/api/v1/handlers.go | 10++++++----
Mpkg/web/public/views/pages/chat-messages.gohtml | 26++++++++++++++++++++++++++
Mpkg/web/public/views/pages/home.gohtml | 19+++++++++++++++----
3 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go @@ -1,7 +1,6 @@ package v1 import ( - "bytes" "dkforest/pkg/LeChatPHP/captcha" mycaptcha "dkforest/pkg/captcha" "dkforest/pkg/config" @@ -12,6 +11,7 @@ import ( "dkforest/pkg/managers" "dkforest/pkg/utils" hutils "dkforest/pkg/web/handlers/utils" + "encoding/json" "errors" "fmt" "github.com/labstack/echo" @@ -224,9 +224,11 @@ func ChatMessagesWSHandler(c echo.Context) error { return } - buf := bytes.Buffer{} - _ = c.Echo().Renderer.Render(&buf, "chat-messages", data, c) - out := string(buf.Bytes()) + //buf := bytes.Buffer{} + //_ = c.Echo().Renderer.Render(&buf, "chat-messages", data, c) + //out := string(buf.Bytes()) + by, _ := json.Marshal(data) + out := string(by) out = strings.Replace(out, `http-equiv="refresh" content=`, `placeholder=`, 1) if err := websocket.Message.Send(ws, out); err != nil { logrus.Error(err) diff --git a/pkg/web/public/views/pages/chat-messages.gohtml b/pkg/web/public/views/pages/chat-messages.gohtml @@ -429,4 +429,30 @@ </div> {{- end -}} {{- end -}} + +{{/* <script>*/}} +{{/* (function(){*/}} +{{/* window.stop();*/}} +{{/* let iframeDoc = document;*/}} +{{/* // let iframeDoc = document.getElementsByName("iframe2")[0].contentWindow.document;*/}} +{{/* // iframeDoc.getElementsByTagName("meta")[0].remove();*/}} +{{/* /*const socket = new WebSocket("ws://dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/ws/general");*/*/}} +{{/* const socket = new WebSocket("ws://127.0.0.1:8080/ws/general");*/}} +{{/* socket.onmessage = function(evt) {*/}} +{{/* let data = JSON.parse(evt.data);*/}} +{{/* let msgs = iframeDoc.getElementById("msgs");*/}} +{{/* let firstID = msgs.children[0].attributes["id"].value;*/}} +{{/* for (var m of data.Messages) {*/}} +{{/* let div = document.createElement("div");*/}} +{{/* div.innerHTML = m.Message;*/}} +{{/* div.setAttribute("id", "msgid-" + m.UUID);*/}} +{{/* msgs.prepend(div);*/}} +{{/* if (firstID === "msgid-" + m.UUID) {*/}} +{{/* break;*/}} +{{/* }*/}} +{{/* }*/}} +{{/* /*iframeDoc.body.innerHTML = evt.data;*/*/}} +{{/* };*/}} +{{/* })();*/}} +{{/* </script>*/}} {{ end }} \ No newline at end of file diff --git a/pkg/web/public/views/pages/home.gohtml b/pkg/web/public/views/pages/home.gohtml @@ -354,11 +354,22 @@ FoEVD2av5BES9MvnPsQulj9bU2</span><span class="gpg_fw">l</span><span class="gpg_e <a class="button greenbtn" href='javascript:(function(){ window.stop(); - document.getElementsByName("iframe2")[0].contentWindow.document.getElementsByTagName("meta")[0].remove(); - const socket = new WebSocket("ws://dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/ws/general"); - /*const socket = new WebSocket("ws://127.0.0.1:8080/ws/general");*/ + let iframeDoc = document.getElementsByName("iframe2")[0].contentWindow.document; + iframeDoc.getElementsByTagName("meta")[0].remove(); + /*const socket = new WebSocket("ws://dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/ws/general");*/ + const socket = new WebSocket("ws://127.0.0.1:8080/ws/general"); socket.onmessage = function(evt) { - document.getElementsByName("iframe2")[0].contentWindow.document.body.innerHTML = evt.data; + console.log("EVT", evt); + let msgs = iframeDoc.getElementById("msgs"); + let msg = msgs[0]; + let firstID = msgs.children[0].attributes["id"].value; + for (var m in evt.data.Messages) { + console.log("ADDING", m); + if (firstID === m.UUID) { + break; + } + } + /*iframeDoc.body.innerHTML = evt.data;*/ }; })();'>BOOKMARKLET</a>