Giter Club home page Giter Club logo

dashd's Introduction

Hi, there! โœŒ๏ธ

I'm Elias* and this is my GitHub profile. (bit messy, don't look too closely ๐Ÿ˜‰)

dashd's People

Contributors

eliasstar avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

dashd's Issues

Set temporary display

Description
Expose another http endpoint for temporary displaying a URL for given amount of seconds and then it goes back to the previously displayed URL.

Possible Solutions
Expose endpoint /display_temporary with get params url and 'duration'. The duration param gets integer value specifying the duration of seconds. After these number of seconds are passed, it loads the previously loaded URL, the one before the /display_temporary request occurred.

Additional Context
This feature would be very useful in cases like:

  • Show a camera feed on doorbell ring.
  • Show CCTV perimeter cameras on security alarm trigger.

After some time passes, displays return to their previously displayed page.

Blank screen on webkit2gtk-4.0 versions above 2.32

Description
When running it I get a blank screen and this error on the terminal:
Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal

This error seems to be a because of a bug in webkit2gtk-4.0 versions above 2.32. The current version is 2.36.3.

I tried to understand how to workaround it and got here - a fix in Wails for exactly this issue:
wailsapp/wails@e015517

And here is the thread: wailsapp/wails#658

How To Reproduce
apt-get install webkit2gtk-4.0 (install latest version, e.g. currently that is 2.36.3-1)

Expected Behavior
Show the webpage

Actual Behavior
Blank screen

Do we need a full-blown Gnome?

Do we need a full-blown Gnome? I'm trying to setup DashD on Armbian without GUI. I see that we can use xX.Org Server for a window manager. I'm unable to install gtk-3 however on the Debian Bullseye Armbian (it says there's no such package). Can you please state minimum software requirements?

Unable to init server: Could not connect: Connection refused

Description
When /usr/local/sbin/dashd is executed I get the following error:

sudo /usr/local/sbin/dashd -lighting_enabled=false -screen_enabled=false -default_url="http://192.168.80.100:7878/"
[Display] Starting.
[Server] Starting.
[Server] Listening on: 80
Unable to init server: Could not connect: Connection refused
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x5fb950]

runtime stack:
runtime.throw({0x675bb7?, 0xffff70003d70?})
        /usr/local/go/src/runtime/panic.go:992 +0x50
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:802 +0x1e8

goroutine 34 [syscall]:
runtime.cgocall(0x5fb454, 0x4000030ee8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x54 fp=0x4000030eb0 sp=0x4000030e70 pc=0x4086b4
github.com/webview/webview._Cfunc_webview_set_title(0x0, 0xffff70003d70)
        _cgo_gotypes.go:277 +0x38 fp=0x4000030ee0 sp=0x4000030eb0 pc=0x4da3b8
github.com/webview/webview.(*webview).SetTitle.func2(0xffff70003d70?, 0x5?)
        /go/pkg/mod/github.com/webview/[email protected]/webview.go:180 +0x54 fp=0x4000030f20 sp=0x4000030ee0 pc=0x4dab64
github.com/webview/webview.(*webview).SetTitle(0x0?, {0x6680f9?, 0x0?})
        /go/pkg/mod/github.com/webview/[email protected]/webview.go:180 +0x58 fp=0x4000030f60 sp=0x4000030f20 pc=0x4daab8
github.com/EliasStar/DashD/display.Init.func1()
        /dashd/app/display/display.go:20 +0xe4 fp=0x4000030fd0 sp=0x4000030f60 pc=0x4db884
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm64.s:1263 +0x4 fp=0x4000030fd0 sp=0x4000030fd0 pc=0x467be4
created by github.com/EliasStar/DashD/display.Init
        /dashd/app/display/display.go:17 +0xc0

goroutine 1 [chan receive, locked to thread]:
main.main()
        /dashd/app/main.go:44 +0x300

goroutine 5 [syscall]:
os/signal.signal_recv()
        /usr/local/go/src/runtime/sigqueue.go:151 +0x34
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
        /usr/local/go/src/os/signal/signal.go:151 +0x30

goroutine 35 [IO wait]:
internal/poll.runtime_pollWait(0xffff862e8ee8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0xa4
internal/poll.(*pollDesc).wait(0x4000188000?, 0x648c20?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x2c
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Accept(0x4000188000)
        /usr/local/go/src/internal/poll/fd_unix.go:614 +0x1d8
net.(*netFD).accept(0x4000188000)
        /usr/local/go/src/net/fd_unix.go:172 +0x28
net.(*TCPListener).accept(0x40000a6150)
        /usr/local/go/src/net/tcpsock_posix.go:139 +0x2c
net.(*TCPListener).Accept(0x40000a6150)
        /usr/local/go/src/net/tcpsock.go:288 +0x30
net/http.(*Server).Serve(0x86a540, {0x6dffd8, 0x40000a6150})
        /usr/local/go/src/net/http/server.go:3039 +0x300
net/http.(*Server).ListenAndServe(0x86a540)
        /usr/local/go/src/net/http/server.go:2968 +0x88
github.com/EliasStar/DashD/server.Listen(0x0?, 0x0?)
        /dashd/app/server/server.go:53 +0xe4
created by main.main
        /dashd/app/main.go:42 +0x2ec

From what I understand, this issue could be because of multithreaded CPU. Go runs the http on another goroutine.
This is a thread with more info: golang/go#26698

How To Reproduce
Just run on a multithreaded CPU.

Make features disableable

Description
image

How To Reproduce

Run sudo /usr/local/sbin/dashd on non-raspberry arm board and no ws2811 hardware.

Any way we can disable Lighting if it's not used?

About DashD

The DashD project seems exactly what I'm looking for to put on my armbian boards around my home and turn them into proper kiosks. I'm really excited about the HTTP control (make a request to a particular display to load a web page). However I have no idea how to use the DashD binary. There's no documentation available. I tried to wild guess it, but so far unsuccessfully. Can you please provide such information in the README, plus an example? Really, really thank you!

arm64 build

Description
Can we have an arm64 build?

Possible Solutions
GOARCH=arm64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.