Instead of running `python setup.py --version`.
That's because earlier versions of Python that don't fully support
dynamic version specifications through `pyproject.toml` may just return
`0.0.0` here.
These are required for clients that don't have JS enabled and will get a
404 otherwise.
The routes simply render `index.html`, which will be empty if JS is
disabled and will redirect to the appropriate login/registration Vue
route if the user isn't logged in.
Moved to optional dependencies for `system` plugin.
It requires gcc, linux-headers and python-dev to be installed on the
system.
The `python-psutil` system package however will still be installed when
Platypush is installed through a package manager.
Importing `platypush.__version__` also imports the `platypush` base
package, which in turns depends on at least `pyyaml` being already
installed on the system.
If the connection to Redis goes down, it shouldn't take down the main
thread.
Instead, catch `RedisConnectionError`, and execute `poll` in a loop
until the connection is restored.
- Separated the user model/db classes from the `UserManager`.
- More consistent naming for the flag on the `authenticate_*` functions
that enables returning a tuple with the authentication status - all
those flags are now named `with_status`.
Instead of having a single Flask-provided endpoint, the UI should
initialize its own Vue component and manage the authentication
asynchronously over API.
This is especially a requirement for the implementation of 2FA.
The following routes have also been merged/refactored:
- `POST /register` -> `POST /auth?type=register`
- `POST /login` -> `POST /auth?type=login`
- `POST /auth` -> `POST /auth?type=jwt`
The propagation of the `click` event shouldn't be stopped, as it is
required for the upstream Dropdown event to understand if it needs to
close.
Components should instead listen to `@input` events, so disabled items
will not be triggered.