Commit graph

3310 commits

Author SHA1 Message Date
Fabio Manganiello cd5c9fd046
Included Arch packages automation in .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 00:44:03 +02:00
Fabio Manganiello 1a2ab13197
Only rebuild docs when a new version is released.
All checks were successful
continuous-integration/drone/push Build is passing
Also removed the docs build status badge from README, as it is now part
of the standard Drone build process.
2023-08-05 14:43:10 +02:00
Fabio Manganiello 69f5bee397
Added docs rebuild step in Drone CI pipeline
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-04 11:18:42 +02:00
Fabio Manganiello 53aeb0b3b1
Better documentation for the Redis server + LINT fixes.
All checks were successful
continuous-integration/drone/push Build is passing
1. Added documentation to the README on the possible options to run the
   Redis service.

2. Show a relevant message to the user if the application is run with
   `--start-redis` and Redis couldn't start.

3. Some LINT/black chores on some files that hadn't been touched in a
   while.
2023-08-02 22:17:11 +02:00
Fabio Manganiello 99018598a5
Added reference to the IRC channel to the README.
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-25 00:29:03 +02:00
Fabio Manganiello e4756eb639
Replaced deprecated flask.escape with markupsafe.escape.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-07-25 00:26:15 +02:00
Fabio Manganiello 82811a11a6
Replaced git push --mirror with git push --all in drone.yml.
All checks were successful
continuous-integration/drone/push Build is passing
If the local clone doesn't have the tags or branches for some reason, we
don't want to lose that information on the Github repo.
2023-07-25 00:21:56 +02:00
Fabio Manganiello e240a8d3dc
Removed .gitlab-ci.yml
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-25 00:01:46 +02:00
Fabio Manganiello eadcfe345a
Added github-mirror step to .drone.yml 2023-07-25 00:00:47 +02:00
Fabio Manganiello 8f8e609231
Replaced Reddit link in the README with the local Lemmy instance
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 12:34:02 +02:00
Fabio Manganiello 7646d00b2a
Build status badge on README moved from my self-made txt-based framework to the Drone page at ci-cd.platypush.tech 2023-07-24 12:29:24 +02:00
Fabio Manganiello bfd5959735
(Fixed?) .drone.yml format
All checks were successful
continuous-integration/drone Build is passing
2023-07-24 12:12:13 +02:00
Fabio Manganiello 27705f7bdf Test pipelines migrated to Drone CI
Some checks reported errors
continuous-integration/drone Build was killed
2023-07-24 11:05:41 +02:00
Fabio Manganiello 9788c642f9
Fixed Dockerfile 2023-07-24 11:04:17 +02:00
Fabio Manganiello 1586484e84
Upgraded Dockerfile 2023-07-24 10:37:51 +02:00
Fabio Manganiello 91cd08cdff
Adapted tests to use a locally started Redis instance. 2023-07-24 10:37:07 +02:00
Fabio Manganiello 7a20fec52f
[#60] Added --workdir and --logsdir command-line options.
Also, the application is now using `XDG_CONFIG_HOME` and
`XDG_DATA_HOME` if available to lookup the configuration file and
working directory.

Closes: #60
2023-07-24 03:29:08 +02:00
Fabio Manganiello c1d66abb89
[#60] Added --workdir and --logsdir command-line options.
Closes: #60
2023-07-24 03:20:18 +02:00
Fabio Manganiello 5fd40af285 Revert "Added explicit --help option."
This reverts commit 1304be0718.
2023-07-24 02:38:12 +02:00
Fabio Manganiello 1304be0718 Added explicit --help option.
argparse.ArgumentParser doesn't seem to add the option automatically
anymore.
2023-07-24 02:11:42 +02:00
Fabio Manganiello e9a568fdd2
Unified interface to retrieve the Redis bus configuration.
A common `utils.get_redis_conf` has been created to handle the cascade
fallback logic used to retrive the default Redis configuration.
2023-07-24 01:04:13 +02:00
Fabio Manganiello 77ffefdccb
Added a Config.set method.
A useful interface to change configuration values at runtime.
2023-07-24 00:48:07 +02:00
Fabio Manganiello dd862db29a
[chore] LINT fixes 2023-07-24 00:35:03 +02:00
Fabio Manganiello 3e3d47aa44
Check first the configuration of the Redis plugin and then that of the backend. 2023-07-24 00:26:49 +02:00
Fabio Manganiello 315a89fb65
Added a default parameter to Config.get. 2023-07-23 23:31:57 +02:00
Fabio Manganiello 37dcaba7a1
Refactored structure of main application and startup scripts.
The main application class has been moved from __init__ to the app
module.

__init__ will contain instead the relevant global variables and the
modules and objects exposed to external integrations - such as
`get_plugin` and `get_backend`, or the `main` itself.

This will make future integrations much easier - the global __init__
doesn't contain any business logic now, it can import anything without
fearing circular dependencies, and it can limit its exposed objects to
those that we want to expose to 3rd-party integrations and scripts.

It will also make it easier to extend the main entry point with
additional logic - such as a supervisor or an embedded Redis server.
2023-07-23 23:12:36 +02:00
Fabio Manganiello 0dc380fa94
Removed dependency from prctl.
Also, black'd and LINT-fixed some files that hadn't been touched in a
while.
2023-07-23 19:17:30 +02:00
Fabio Manganiello 04b759e4d5
Upgraded base Python image in example Dockerfile.
3.7 -> 3.11
2023-07-23 17:27:48 +02:00
Fabio Manganiello 15a34ebac9
Upgraded Docker base image.
Debian base image bumped from Bullseye -> Bookworm.
2023-07-23 17:25:52 +02:00
Fabio Manganiello cfdecd5703
[#267] Don't show the PWA popup again after the user dismisses it.
Plus, upgraded a bunch of frontend libraries.

Closes: #267
2023-07-23 02:44:17 +02:00
Fabio Manganiello 454228c56e
Upgraded UI dependencies 2023-07-23 02:42:14 +02:00
Fabio Manganiello 11f336b9b5
Merge pull request #386 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/word-wrap-1.2.5
Bump word-wrap from 1.2.3 to 1.2.5 in /platypush/backend/http/webapp
2023-07-22 23:49:40 +02:00
dependabot[bot] 33699fcac8
Bump word-wrap from 1.2.3 to 1.2.5 in /platypush/backend/http/webapp
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 21:48:53 +00:00
Fabio Manganiello ac9950a441
Merge pull request #385 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/webpack-5.88.2
Bump webpack from 5.70.0 to 5.88.2 in /platypush/backend/http/webapp
2023-07-22 23:47:50 +02:00
dependabot[bot] 505cba44b8
Bump webpack from 5.70.0 to 5.88.2 in /platypush/backend/http/webapp
Bumps [webpack](https://github.com/webpack/webpack) from 5.70.0 to 5.88.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.70.0...v5.88.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 21:46:59 +00:00
Fabio Manganiello 1d98f54c54
Bump version: 0.50.2 → 0.50.3 2023-07-22 23:36:04 +02:00
Fabio Manganiello a65988546b
Updated CHANGELOG 2023-07-22 23:35:58 +02:00
Fabio Manganiello 66981bd00b
Updated email addresses and black'd some old source files. 2023-07-22 23:02:44 +02:00
Fabio Manganiello cf8ecf349b Merge pull request '[#266] XMPP integration implementation' (#269) from 266-xmpp-integration into master
Reviewed-on: #269
2023-07-22 22:40:35 +02:00
Fabio Manganiello 3eda0c6f17
[#268] Implemented XMPP integration. 2023-07-22 22:36:36 +02:00
Fabio Manganiello 63afd90701
Serialize exceptions in the default JSON serializers.
This allows us to easily pass errors in internal JSON payloads, and
ensure that these are serialized consistently across all the
integrations.
2023-07-22 15:14:05 +02:00
Fabio Manganiello cef9d0e007
Always serialize exception names when logging/returning request exceptions. 2023-07-22 15:13:17 +02:00
Fabio Manganiello d49e5b1f6a
Expose Config.workdir property.
This is a useful proxy to avoid using `Config.get('workdir')` string
lookup.
2023-07-22 15:11:58 +02:00
Fabio Manganiello c846c61493
Refactored Config.__init__.
The constructor of the `Config` class had grown too big. It's much more
manageable if split into multiple sub-constructor helpers.
2023-07-15 13:38:07 +02:00
Fabio Manganiello 0a3d6add83
Support ./config.yaml as a config file location. 2023-07-15 01:29:41 +02:00
Fabio Manganiello fa1364d854
Improved logging for requests, responses and events.
- The following logging namespaces are now used, to make it easier to
  filter only log lines related to the logged application message:

  - `platypush:events`
  - `platypush:requests`
  - `platypush:responses`

- Those messages are always logged as JSON, with no prefixes nor
  suffixes.

- Requests are always logged when executed - no more delegation to the
  upstream backend.

- Responses are always logged when fully populated (including `id`,
  `origin`, `target` etc.), instead of being logged when still partially
  populated. This makes it particularly easy to link request/response
  IDs directly from the logs.
2023-07-15 01:11:45 +02:00
Fabio Manganiello cb04af0bbd
Catch TypeError when execution an action.
Most of TypeError are due to the user passing wrong data. It usually
doesn't mean that we have to fail hard and reload the plugin, nor retry
the call with the same parameters.
2023-07-14 22:20:27 +02:00
Fabio Manganiello 27cf1bec52
Removed some optional top-level imports.
Optional top-level imports in Tornado route declarations will trigger
`ImportError`. While this will just mean that those routes will be
skipped, it will also generate a lot of noise on the logs.
2023-07-01 03:13:38 +02:00
Fabio Manganiello e0af2daaff
Bump version: 0.50.1 → 0.50.2 2023-06-30 23:12:40 +02:00
Fabio Manganiello 8c063e2d03
Updated CHANGELOG 2023-06-30 23:12:13 +02:00