Need Testers
-
I need a handful of
victimsvolunteers to help test previews of the next build of Reactor. A long-standing request was for "a simple login mechanism," but in practice, adding user authentication and competent access control turned out to be a pretty big project with a lot of big changes on both server and client sides. It's a bit more than I'm comfortable testing myself and springing out to everyone at once, so I'd like to work with a small group to put it through "sea trials."Major changes/features include:
- User authentication with hashed password storage;
- User group configuration with application restriction (admin, dashboard, API);
- Detailed control over API access, with user- and token-based authentication/authorization;
- Improvements to the HTTPS service;
- Improvements to UI coordination with the core for Rules and Reactions.
If this sounds like something you'd like to help with, drop me a reply here in this thread or privately.
-
PM'd you but I am in!
-
-
Willing to help however I can.
-
therealdbreplied to toggledbits on Apr 24, 2024, 9:52 PM last edited by therealdb Apr 24, 2024, 5:53 PM
@toggledbits busy weeks, but count me in.
-
@toggledbits happy to help!
I'm running Reactor>Docker>Synology NAS
-
Would like to help. PM you as well
-
@toggledbits I'm in
-
toggledbitswrote on Apr 26, 2024, 4:08 PM last edited by toggledbits Apr 26, 2024, 12:10 PM
OK. A build with user authentication is now up on the download server (and dockerhub for docker users). The branch for this test is called
userauth
(as opposed tolatest
).Bare-metal users will have the easiest time installing, because you just need to download the
userauth
package instead of thelatest
package, and then install/update as usual.Docker users will likely find it harder to make this switch. If you are using docker-compose, you can just change the image name in your config file from
latest
touserauth
; then update (docker-compose pull
) and start. But for NAS users and those not using docker-compose, you will need to rebuild your container. You can keep your configs and storage data; just make sure your new container points to the same directory where all that's stored (everything in the container configuration should be the same). See the installation instructions for reference, and look at/capture the settings of your current container before you launch into rebuilding it with the new image.To configure access control, see the documentation.
If you run into any showstoppers, just rename your
users.yaml
file to something else (e.g.Xusers.yaml
orusers.yaml-disabled
and restart Reactor, and that will disable access control. Otherwise, this release is identical to 24115, and you can switch between the two without problems. -
gwp1replied to toggledbits on Apr 27, 2024, 2:28 PM last edited by gwp1 Apr 27, 2024, 10:41 AM
@toggledbits am getting Not Found at
http://xxx.xxx.xxx.xxx:8111/reactor/en-US/login.html
Steps taken:
- Installed 24115
- Received alert to later build and realized I sorted in the wrong direction at
\download
- resorted, installed 24117 - Copied
user.yaml-dist
to\config
- Cleared browser cache
- Restarted Reactor - nada change other than version to
userauth-24117-9f164e8f
- Renamed
user.yaml-dist
touser.yaml
in\config
- Cleared browser cache
- Restarted Reactor
- Not Found at
http://xxx.xxx.xxx.xxx:8111/reactor/en-US/login.html
- Confirmed version running is
userauth-24117-9f164e8f
I know it's something simple I missed - others would have caught this sooner if it were on MSRs side.
EDIT: Ok, a weird thing: my API calls via
Reactions
out to two different wx systems returnednull
until I rolled back tolatest-24115-55b591da
-
Did you turn on HTTPS? What's your
baseurl
anduse_tls
settings look like? -
@toggledbits, I'm having a similar issue as @gwp1 but mine is one step more complicated. I am using cloudflare add on on Home Assistant (on a separate server) for access to my server remotely, which serves the SSL connection, so even if the page is http, it'll serve it up as https. What would I need to do in order to make this work in my situation?
Edit: For clarification on my question I did create a reactor.crt and reactor.key file, switched the base url and added the lines to the reactor.yaml file. I am also getting the Not Found error, running 24117. The more complicated step will involve Cloudflare, but it may just be as simple as getting the local setup done first.
Edit 2: Okay, Cloudflare isn't an issue. I read what was said about renaming the users.yaml file to something else, and once I did that, the Not Found error went way. I just can't get the login page to serve up. My https connection is working fine.
-
Looking in the logs, looks like the login.html page is missing from the path.
[tmorgenthaler@galactica logs]$ cat reactor.log | grep login [userauth-24117]2024-04-28T01:26:47.692Z <httpapi:ERR> [HTTPAPI]#1 request for /reactor/en-US/login.html failed: [Error] ENOENT: no such file or directory, open '/home/tmorgenthaler/reactor/reactorui/login.html' [-] [userauth-24117]2024-04-28T01:26:50.733Z <httpapi:ERR> [HTTPAPI]#1 request for /reactor/en-US/login.html failed: [Error] ENOENT: no such file or directory, open '/home/tmorgenthaler/reactor/reactorui/login.html' [-] [tmorgenthaler@galactica reactorui]$ pwd /home/tmorgenthaler/reactor/reactorui [tmorgenthaler@galactica reactorui]$ ls -al total 32 drwxr-xr-x 4 tmorgenthaler tmorgenthaler 4096 Apr 26 11:28 . drwxr-xr-x 16 tmorgenthaler tmorgenthaler 4096 Apr 26 11:29 .. drwxr-xr-x 2 tmorgenthaler tmorgenthaler 4096 Apr 24 17:42 img -rw-r--r-- 1 tmorgenthaler tmorgenthaler 12290 Dec 8 2022 index.html drwxr-xr-x 4 tmorgenthaler tmorgenthaler 4096 Apr 26 11:28 lib
-
-
@toggledbits,
So something is also going on with running reactions with the autoversion. They are hanging and not running. Immediately after restarting, the reactions run, however, within a few minutes, those reactions are hanging.I even tried manually going into one of the rules (a simple rule for turning on a light) and ran the reaction, and it's not working.
I reverted back to the "lastest" release, and the automations are working again.
-
@tamorgen said in Need Testers:
I'm not seeing the login.html in the reactorui directory
Oy. OK. Fresh build is now up.
@tamorgen said in Need Testers:
those reactions are hanging.
I'm running this in my house, not seeing any issues. The engine is the same for 24115 and userauth; they are completely in sync except for the required elements to support user authentication, which has nothing to do with reaction. Still, anything is possible, but I wouldn't be able to discern much without the usual rules still applying: when things aren't going as expected, look at the logs... follow the posting guidelines...
-
tamorgenreplied to toggledbits on Apr 28, 2024, 12:56 PM last edited by tamorgen Apr 28, 2024, 9:40 AM
@toggledbits,
Thanks for the updated version. I'll test it this evening after work.I was only able to provide limited diagnostic information this morning before I headed to work. Reverting to 24115 latest version fixed the immediate issue of reactions not functioning, so everything would function normally while I was gone for the day.
If the reactions continue to hang with the revised version, I'll provide more detailed information and logs this evening.
-
@therealdb the fixed build I just put up (to include the missing HTML file) also includes a potential fix for VirtualEntityController to preserve attributes across upgrades. Let's see how it works out.
-
@toggledbits I have not done that yet. One step at a time
The Not found issue has been resolved with your latest build and Access Control is WAE. The
Reactions
issue I noted has also not reappeared.I have noticed that the
TOOLS>Restart Reactor
button does not work and I see nothing in the logs whatsoever even after "elevator button-ing" it (press press press press press press press). -
@gwp1 said in Need Testers:
I have noticed that the TOOLS>Restart Reactor button does not work
Make sure you've done a hard refresh on the browser to ensure that it has loaded all the latest files for the UI.
Failing that, hit F12 (usually) in your browser to open a Developer window, and then hit the Restart button and see if anything gets logged on the browser side.
2/78