rmountjoy92 / DashMachine

Another web application bookmark dashboard, with fun features.
GNU General Public License v3.0
1.24k stars 120 forks source link

navbar not working with public role #197

Closed H4R0 closed 4 years ago

H4R0 commented 4 years ago

I wanted no login so i created the public role and set every app to public, which works great.

However the navbar only appears for like 200ms and then goes away, without an option to show it again.

How can i permanently show the navbar ?

shamoon commented 4 years ago

Sorry Im not answering your question you mind sharing your config? I was thinking about doing this as a means to avoid login requirement but was acting weird.

(and maybe if I get it setup I can help debug the issue)

H4R0 commented 4 years ago

Sorry Im not answering your question you mind sharing your config? I was thinking about doing this as a means to avoid login requirement but was acting weird.

(and maybe if I get it setup I can help debug the issue)

sure no problem, i removed all my apps tho.

you can drop the config as whole, leave password empty so it does not get changed.

[Settings]
theme = dark
accent = green
background = none
roles = admin,user,public_user
home_access_groups = public
settings_access_groups = admin_only
custom_app_title = Dashboard
sidebar_default = open
tags = {"name": "Services", "icon": "widgets", "sort_pos": 1}
tags_expanded = True

[root]
role = admin
password = 
confirm_password = 

[public]
roles = admin, user, public_user

[Nextcloud]
prefix = https://
url = cloud.example.com
icon = static/images/apps/nextcloud.png
sidebar_icon = static/images/apps/nextcloud.png
open_in = iframe
tags = Services
groups = public
H4R0 commented 4 years ago

i assume its something in the frontend javascript which detects the user and hides the navbar, as it can be seen on site load.

but i did not take a look at the source, yet.

shamoon commented 4 years ago

Figured it out, lines 120-122 is the issue specifically can fix it by just removing https://github.com/rmountjoy92/DashMachine/blob/ec082dae46ad24fbe821c98b2cfb3e30ee12fbfe/dashmachine/static/js/global/dashmachine.js#L121

Easiest solution is just comment out that line for now, I haven't submitted a PR for this because:

  1. Im not exactly sure what the author's logic was in this if block, Im guessing there was a reason so I wouldn't want to change it without fully understanding.
  2. More importantly the plugin author is working on a major revamp, doesnt seem worth it to spend any real time unless author chimes in on the above.
H4R0 commented 4 years ago

Figured it out, lines 120-122 is the issue specifically can fix it by just removing

https://github.com/rmountjoy92/DashMachine/blob/ec082dae46ad24fbe821c98b2cfb3e30ee12fbfe/dashmachine/static/js/global/dashmachine.js#L121

Easiest solution is just comment out that line for now, I haven't submitted a PR for this because:

  1. Im not exactly sure what the author's logic was in this if block, Im guessing there was a reason so I wouldn't want to change it without fully understanding.
  2. More importantly the plugin author is working on a major revamp, doesnt seem worth it to spend any real time unless author chimes in on the above.

Neat thanks, i created a little cronjob to patch the file so it applies to updates.

Has to be run on the docker host as the js file is not exposed by default.

Adjust "dashmachine" to your container name.

cat << 'EOF' > /etc/cron.hourly/dashmachine-force-navbar
#!/bin/bash
docker exec -it dashboard sed -i "s/settings\['user_name'\].length < 1/false/g" /dashmachine/dashmachine/static/js/global/dashmachine.js
EOF

i was also thinking to give heimdall a try, but i guess i will stick with dashmachine for now