forked from platypush/platypush
Merge branch 'master' into snyk-upgrade-873f5c9ba68f797b57ac46cbfe818acc
This commit is contained in:
commit
5a32d94991
53 changed files with 284 additions and 197 deletions
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Installing required build dependencies"
|
||||
apk add --update --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ git make py3-sphinx py3-myst-parser py3-pip $(cat platypush/install/requirements/alpine.txt)
|
||||
apk add --update --no-cache git make py3-sphinx py3-myst-parser py3-pip $(cat platypush/install/requirements/alpine.txt)
|
||||
pip install -U sphinx-rtd-theme sphinx-book-theme --break-system-packages
|
||||
pip install . --break-system-packages
|
||||
mkdir -p /docs/current
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
apk add --update --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ $(cat platypush/install/requirements/alpine.txt)
|
||||
apk add --update --no-cache $(cat platypush/install/requirements/alpine.txt)
|
||||
pip install . --break-system-packages
|
||||
pip install -r requirements-tests.txt --break-system-packages
|
||||
pytest tests
|
||||
|
|
|
@ -23,7 +23,7 @@ fi
|
|||
. .drone/macros/configure-gpg.sh
|
||||
|
||||
echo 'Updating components cache'
|
||||
apk add --update --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ $(cat platypush/install/requirements/alpine.txt)
|
||||
apk add --update --no-cache $(cat platypush/install/requirements/alpine.txt)
|
||||
pip install . --break-system-packages
|
||||
|
||||
python - <<EOF
|
||||
|
|
|
@ -1,11 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ -z "$DOCKER_USER" ] && echo "Please set the DOCKER_USER environment variable" && exit 1
|
||||
[ -z "$DOCKER_PASS" ] && echo "Please set the DOCKER_PASS environment variable" && exit 1
|
||||
|
||||
export VERSION=$(grep current_version pyproject.toml | sed -r -e "s/.*=\s*['\"]?([^'\"]+)['\"]?\s*$/\1/")
|
||||
export REGISTRY_ENDPOINT="${REGISTRY_ENDPOINT:-quay.io}"
|
||||
export IMAGE_NAME="$REGISTRY_ENDPOINT/$DOCKER_USER/platypush"
|
||||
|
||||
# Log in to the registry
|
||||
docker login "$REGISTRY_ENDPOINT" -u "$DOCKER_USER" -p "$DOCKER_PASS"
|
||||
docker build -f Dockerfile.alpine -t "$IMAGE_NAME:$VERSION" .
|
||||
docker tag "$IMAGE_NAME:$VERSION" "$IMAGE_NAME:latest"
|
||||
|
||||
docker push "$IMAGE_NAME:$VERSION"
|
||||
docker push "$IMAGE_NAME:latest"
|
||||
# Required for multi-platform builds
|
||||
docker buildx create --name=multiarch --driver=docker-container
|
||||
|
||||
# Build and publish the images
|
||||
docker buildx build \
|
||||
-f Dockerfile.alpine \
|
||||
-t "$IMAGE_NAME:$VERSION" \
|
||||
-t "$IMAGE_NAME:latest" \
|
||||
--platform linux/amd64,linux/arm64,linux/arm/v7 \
|
||||
--builder multiarch \
|
||||
--push .
|
||||
|
||||
# Clean up
|
||||
docker buildx rm multiarch
|
||||
|
|
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -1,5 +1,15 @@
|
|||
# Changelog
|
||||
|
||||
## [1.3.4]
|
||||
|
||||
- [Bug]: Fixed installation bug in `pip install platypush` introduced by the
|
||||
`pyproject.toml` migration.
|
||||
|
||||
## [1.3.3]
|
||||
|
||||
- [`3e02304a`](https://git.platypush.tech/platypush/platypush/commit/3e02304ac203625650ab4b03f9d4146a40839f2f)
|
||||
[Auth]: Fixed generation of API tokens when 2FA is enabled.
|
||||
|
||||
## [1.3.2]
|
||||
|
||||
- [[#414](https://git.platypush.tech/platypush/platypush/issues/414)]: added
|
||||
|
|
10
README.md
10
README.md
|
@ -656,12 +656,20 @@ $ pip install git+https://github.com/blacklight/platypush
|
|||
```bash
|
||||
$ docker run -it --name platypush \
|
||||
-p 8008:8008 \
|
||||
-e "PLATYPUSH_DEVICE_ID=my-device"
|
||||
-e "PLATYPUSH_DEVICE_ID=my-device" \
|
||||
-v /path/to/your/platypush/config:/etc/platypush \
|
||||
-v /path/to/your/platypush/share:/var/lib/platypush \
|
||||
quay.io/platypush/platypush
|
||||
```
|
||||
|
||||
The following architectures are currently supported:
|
||||
|
||||
- `amd64`/`x86_64` (standard Intel-based architectures)
|
||||
- `arm64`/`aarch64` (ARM64, such as modern ARM-based MacBooks, most of the
|
||||
Android devices or RaspberryPi 4 and 5)
|
||||
- `armv7l` (older ARM-based devices, such as RaspberryPi 2 and 3 or older
|
||||
Android devices)
|
||||
|
||||
The Web service will be available on `http://localhost:8008`, and a default
|
||||
configuration file will be initialized under
|
||||
`/path/to/your/platypush/config/config.yaml` if not available. The next
|
||||
|
|
|
@ -21,7 +21,7 @@ from .utils import run
|
|||
# see https://git.platypush.tech/platypush/platypush/issues/399
|
||||
when = hook
|
||||
|
||||
__version__ = '1.3.2'
|
||||
__version__ = '1.3.4'
|
||||
__author__ = 'Fabio Manganiello <fabio@manganiello.tech>'
|
||||
__all__ = [
|
||||
'Application',
|
||||
|
|
|
@ -107,7 +107,6 @@ def _create_token():
|
|||
user = None
|
||||
username = payload.get('username')
|
||||
password = payload.get('password')
|
||||
code = payload.get('code')
|
||||
name = payload.get('name')
|
||||
expiry_days = payload.get('expiry_days')
|
||||
user_manager = UserManager()
|
||||
|
@ -115,7 +114,7 @@ def _create_token():
|
|||
|
||||
# Try and authenticate with the credentials passed in the JSON payload
|
||||
if username and password:
|
||||
user = user_manager.authenticate_user(username, password, code=code)
|
||||
user = user_manager.authenticate_user(username, password, skip_2fa=True)
|
||||
if not isinstance(user, User):
|
||||
return UserAuthStatus.INVALID_CREDENTIALS.to_response()
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ class StreamingRoute(RequestHandler, PubSubMixin, ABC):
|
|||
auth_status = get_auth_status(self.request)
|
||||
if auth_status != UserAuthStatus.OK:
|
||||
self.send_error(auth_status.value.code, error=auth_status.value.message)
|
||||
self.finish()
|
||||
return
|
||||
|
||||
self.logger.info(
|
||||
|
|
|
@ -27,7 +27,7 @@ class WSRoute(WebSocketHandler, Thread, PubSubMixin, ABC):
|
|||
auth_status = get_auth_status(self.request)
|
||||
if auth_status != UserAuthStatus.OK:
|
||||
self.close(code=1008, reason=auth_status.value.message) # Policy Violation
|
||||
return
|
||||
raise ValueError(f'Unauthorized connection: {auth_status.value.message}')
|
||||
|
||||
logger.info(
|
||||
'Client %s connected to %s', self.request.remote_ip, self.request.path
|
||||
|
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.c55c495e.js"></script><script defer="defer" src="/static/js/app.61d039e6.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.70fb1f4a.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.c55c495e.js"></script><script defer="defer" src="/static/js/app.4c67dc8c.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.70fb1f4a.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
platypush/backend/http/webapp/dist/static/css/1367.204be919.css
vendored
Normal file
1
platypush/backend/http/webapp/dist/static/css/1367.204be919.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
platypush/backend/http/webapp/dist/static/js/1367.357a4e88.js
vendored
Normal file
2
platypush/backend/http/webapp/dist/static/js/1367.357a4e88.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
platypush/backend/http/webapp/dist/static/js/1367.357a4e88.js.map
vendored
Normal file
1
platypush/backend/http/webapp/dist/static/js/1367.357a4e88.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
platypush/backend/http/webapp/dist/static/js/2720.9e2ebf44.js
vendored
Normal file
2
platypush/backend/http/webapp/dist/static/js/2720.9e2ebf44.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
platypush/backend/http/webapp/dist/static/js/648.47a909dc.js
vendored
Normal file
2
platypush/backend/http/webapp/dist/static/js/648.47a909dc.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
platypush/backend/http/webapp/dist/static/js/7896.8f57ebbc.js
vendored
Normal file
2
platypush/backend/http/webapp/dist/static/js/7896.8f57ebbc.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7896],{7896:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(641);const d={class:"plugin"};function o(e,n,i,o,a,r){const s=(0,t.g2)("Loading");return(0,t.uX)(),(0,t.CE)("div",d,[a.loading?((0,t.uX)(),(0,t.Wv)(s,{key:0})):a.component?((0,t.uX)(),(0,t.Wv)((0,t.$y)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.Q3)("",!0)])}var a=i(2002),r=i(9828),s=i(953),c={name:"Plugin",components:{Loading:r.A},mixins:[a.A],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,component:null,config:{}}},computed:{componentName(){return this.pluginName.split(".").map((e=>e[0].toUpperCase()+e.slice(1))).join("")}},methods:{refresh:async function(){this.loading=!0;try{this.component=(0,s.IJ)((0,t.$V)((()=>i(7672)(`./${this.componentName}/Index`)))),this.$options.components[this.componentName]=this.component,this.config=(await this.request("config.get_plugins"))?.[this.pluginName]||{}}finally{this.loading=!1}}},mounted:function(){this.refresh()}},u=i(6262);const x=(0,u.A)(c,[["render",o],["__scopeId","data-v-69b17daa"]]);var I=x},7672:function(e,n,i){var t={"./Alarm/Index":[8597,9769,5184,3841,1146,1861,3162,9878,4280,1367,2561,2716,648,572,6027,5928,7329,7594,343,3045,6360],"./Camera/Index":[9284,6903],"./CameraAndroidIpcam/Index":[2981,2981],"./CameraCv/Index":[2908,6903,2908],"./CameraFfmpeg/Index":[6973,6903,6973],"./CameraGstreamer/Index":[5783,6903,5783],"./CameraIrMlx90640/Index":[8636,6903,8636],"./CameraPi/Index":[3671,6903,3671],"./CameraPiLegacy/Index":[8357,6903,8357],"./Entities/Index":[1131,3841,1146,1861,5799,2486,343,1131,2256],"./Execute/Index":[8567,1146,9878,2561,5928,1381],"./Extensions/Index":[2720,1146,9878,2561,572,6027,6592,2720,6730],"./File/Index":[2061,1146,1861,3162,9878,1367,2716,648,1562],"./Light/Index":[6298,9769,5184,6298],"./LightHue/Index":[9318,9769,5184,6298,9318],"./Media/Index":[4277,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277],"./Media/Providers/Jellyfin/views/Media/Index":[6975,3841,1146,1861,3162,4280,2353,3149,1433,7619,1616],"./Media/Providers/Jellyfin/views/Movies/Index":[2436,3841,1146,1861,3162,4280,3149,1008,6556,4267],"./Media/Providers/Jellyfin/views/Music/Index":[1433,3841,1146,1861,3162,4280,2353,3149,1433,28],"./Media/Providers/YouTube/Index":[9476,9476],"./MediaChromecast/Index":[1684,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277,1684],"./MediaGstreamer/Index":[9145,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277,9145],"./MediaMplayer/Index":[7839,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277,7839],"./MediaMpv/Index":[9388,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277,9388],"./MediaVlc/Index":[6372,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,4277,6372],"./Music/Index":[4834,5184,1146,1861,6157,4787,4834],"./MusicMopidy/Index":[7533,5184,1146,1861,6157,4787,4834,7533],"./MusicMpd/Index":[560,5184,1146,1861,6157,4787,4834,560],"./MusicSnapcast/Index":[6564,9769,5184,6564],"./MusicSpotify/Index":[7299,5184,1146,1861,6157,4787,4834,7299],"./Procedures/Index":[9636,3841,1146,3162,9878,4280,1367,2561,572,6027,5928,7329,6923,343,9636],"./Rtorrent/Index":[8499,1146,1861,6777,9142,8499],"./Settings/Index":[4050,9769,3841,1146,1861,3162,2561,806,6592,4050],"./Settings/Tokens/Index":[806,3841,1146,1861,2561,806],"./Sound/Index":[7158,7158],"./Torrent/Index":[7098,1146,1861,6777,9142,7098],"./Tts/Index":[2392,8946,2392],"./TtsGoogle/Index":[1526,8946,1526],"./TtsPicovoice/Index":[8191,8946,8191],"./TvSamsungWs/Index":[4387,4387],"./ZigbeeMqtt/Index":[7630,9769,5184,1146,1861,7630],"./Zwave/Index":[9313,9769,5184,1146,1861,3290,9313],"./ZwaveMqtt/Index":[5145,9769,5184,1146,1861,3290,5145]};function d(e){if(!i.o(t,e))return Promise.resolve().then((function(){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=t[e],d=n[0];return Promise.all(n.slice(1).map(i.e)).then((function(){return i(d)}))}d.keys=function(){return Object.keys(t)},d.id=7672,e.exports=d}}]);
|
||||
//# sourceMappingURL=7896.8f57ebbc.js.map
|
1
platypush/backend/http/webapp/dist/static/js/7896.8f57ebbc.js.map
vendored
Normal file
1
platypush/backend/http/webapp/dist/static/js/7896.8f57ebbc.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
|||
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7896],{7896:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(641);const d={class:"plugin"};function o(e,n,i,o,a,r){const s=(0,t.g2)("Loading");return(0,t.uX)(),(0,t.CE)("div",d,[a.loading?((0,t.uX)(),(0,t.Wv)(s,{key:0})):a.component?((0,t.uX)(),(0,t.Wv)((0,t.$y)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.Q3)("",!0)])}var a=i(2002),r=i(9828),s=i(953),c={name:"Plugin",components:{Loading:r.A},mixins:[a.A],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,component:null,config:{}}},computed:{componentName(){return this.pluginName.split(".").map((e=>e[0].toUpperCase()+e.slice(1))).join("")}},methods:{refresh:async function(){this.loading=!0;try{this.component=(0,s.IJ)((0,t.$V)((()=>i(7672)(`./${this.componentName}/Index`)))),this.$options.components[this.componentName]=this.component,this.config=(await this.request("config.get_plugins"))?.[this.pluginName]||{}}finally{this.loading=!1}}},mounted:function(){this.refresh()}},u=i(6262);const x=(0,u.A)(c,[["render",o],["__scopeId","data-v-69b17daa"]]);var I=x},7672:function(e,n,i){var t={"./Alarm/Index":[8597,9769,5184,3841,1146,1861,3162,9878,4280,933,2561,2716,648,572,6027,5928,7329,7594,343,3045,6360],"./Camera/Index":[9284,6903],"./CameraAndroidIpcam/Index":[2981,2981],"./CameraCv/Index":[2908,6903,2908],"./CameraFfmpeg/Index":[6973,6903,6973],"./CameraGstreamer/Index":[5783,6903,5783],"./CameraIrMlx90640/Index":[8636,6903,8636],"./CameraPi/Index":[3671,6903,3671],"./CameraPiLegacy/Index":[8357,6903,8357],"./Entities/Index":[1131,3841,1146,1861,5799,2486,343,1131,2256],"./Execute/Index":[8567,1146,9878,2561,5928,1381],"./Extensions/Index":[7908,1146,9878,2561,572,6027,6592,7908,6730],"./File/Index":[2061,1146,1861,3162,9878,933,2716,648,1562],"./Light/Index":[6298,9769,5184,6298],"./LightHue/Index":[9318,9769,5184,6298,9318],"./Media/Index":[4277,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277],"./Media/Providers/Jellyfin/views/Media/Index":[6975,3841,1146,1861,3162,4280,2353,3149,1433,7619,1616],"./Media/Providers/Jellyfin/views/Movies/Index":[2436,3841,1146,1861,3162,4280,3149,1008,6556,4267],"./Media/Providers/Jellyfin/views/Music/Index":[1433,3841,1146,1861,3162,4280,2353,3149,1433,28],"./Media/Providers/YouTube/Index":[9476,9476],"./MediaChromecast/Index":[1684,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277,1684],"./MediaGstreamer/Index":[9145,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277,9145],"./MediaMplayer/Index":[7839,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277,7839],"./MediaMpv/Index":[9388,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277,9388],"./MediaVlc/Index":[6372,5184,1146,1861,3162,9878,4280,933,2716,648,6157,4787,3149,6777,4277,6372],"./Music/Index":[4834,5184,1146,1861,6157,4787,4834],"./MusicMopidy/Index":[7533,5184,1146,1861,6157,4787,4834,7533],"./MusicMpd/Index":[560,5184,1146,1861,6157,4787,4834,560],"./MusicSnapcast/Index":[6564,9769,5184,6564],"./MusicSpotify/Index":[7299,5184,1146,1861,6157,4787,4834,7299],"./Procedures/Index":[9636,3841,1146,3162,9878,4280,933,2561,572,6027,5928,7329,6923,343,9636],"./Rtorrent/Index":[8499,1146,1861,6777,9142,8499],"./Settings/Index":[4050,9769,3841,1146,1861,3162,2561,806,6592,4050],"./Settings/Tokens/Index":[806,3841,1146,1861,2561,806],"./Sound/Index":[7158,7158],"./Torrent/Index":[7098,1146,1861,6777,9142,7098],"./Tts/Index":[2392,8946,2392],"./TtsGoogle/Index":[1526,8946,1526],"./TtsPicovoice/Index":[8191,8946,8191],"./TvSamsungWs/Index":[4387,4387],"./ZigbeeMqtt/Index":[7630,9769,5184,1146,1861,7630],"./Zwave/Index":[9313,9769,5184,1146,1861,3290,9313],"./ZwaveMqtt/Index":[5145,9769,5184,1146,1861,3290,5145]};function d(e){if(!i.o(t,e))return Promise.resolve().then((function(){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=t[e],d=n[0];return Promise.all(n.slice(1).map(i.e)).then((function(){return i(d)}))}d.keys=function(){return Object.keys(t)},d.id=7672,e.exports=d}}]);
|
||||
//# sourceMappingURL=7896.b116b065.js.map
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
203
platypush/backend/http/webapp/package-lock.json
generated
203
platypush/backend/http/webapp/package-lock.json
generated
|
@ -18,7 +18,7 @@
|
|||
"register-service-worker": "^1.7.2",
|
||||
"sass": "^1.77.6",
|
||||
"sass-loader": "^10.5.2",
|
||||
"vue": "^3.4.31",
|
||||
"vue": "^3.5.12",
|
||||
"vue-router": "^4.4.5",
|
||||
"vue-skycons": "^4.3.4",
|
||||
"w3css": "^2.7.0"
|
||||
|
@ -423,19 +423,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-string-parser": {
|
||||
"version": "7.22.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
|
||||
"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
|
||||
"dev": true,
|
||||
"version": "7.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
||||
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.22.20",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
|
||||
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
|
||||
"dev": true,
|
||||
"version": "7.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
||||
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
|
@ -492,10 +492,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.24.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
|
||||
"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
|
||||
"version": "7.26.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
|
||||
"integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.26.0"
|
||||
},
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
},
|
||||
|
@ -1819,14 +1822,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/types": {
|
||||
"version": "7.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
|
||||
"integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
|
||||
"dev": true,
|
||||
"version": "7.26.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
|
||||
"integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.22.5",
|
||||
"@babel/helper-validator-identifier": "^7.22.20",
|
||||
"to-fast-properties": "^2.0.0"
|
||||
"@babel/helper-string-parser": "^7.25.9",
|
||||
"@babel/helper-validator-identifier": "^7.25.9"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
@ -1971,9 +1973,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@jridgewell/sourcemap-codec": {
|
||||
"version": "1.4.15",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
||||
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
||||
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@jridgewell/trace-mapping": {
|
||||
"version": "0.3.25",
|
||||
|
@ -3068,13 +3071,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@vue/compiler-core": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.31.tgz",
|
||||
"integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz",
|
||||
"integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.24.7",
|
||||
"@vue/shared": "3.4.31",
|
||||
"@babel/parser": "^7.25.3",
|
||||
"@vue/shared": "3.5.12",
|
||||
"entities": "^4.5.0",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map-js": "^1.2.0"
|
||||
|
@ -3093,40 +3096,40 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-dom": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz",
|
||||
"integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz",
|
||||
"integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-core": "3.4.31",
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/compiler-core": "3.5.12",
|
||||
"@vue/shared": "3.5.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-sfc": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz",
|
||||
"integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz",
|
||||
"integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.24.7",
|
||||
"@vue/compiler-core": "3.4.31",
|
||||
"@vue/compiler-dom": "3.4.31",
|
||||
"@vue/compiler-ssr": "3.4.31",
|
||||
"@vue/shared": "3.4.31",
|
||||
"@babel/parser": "^7.25.3",
|
||||
"@vue/compiler-core": "3.5.12",
|
||||
"@vue/compiler-dom": "3.5.12",
|
||||
"@vue/compiler-ssr": "3.5.12",
|
||||
"@vue/shared": "3.5.12",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.10",
|
||||
"postcss": "^8.4.38",
|
||||
"magic-string": "^0.30.11",
|
||||
"postcss": "^8.4.47",
|
||||
"source-map-js": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-ssr": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz",
|
||||
"integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz",
|
||||
"integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.4.31",
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/compiler-dom": "3.5.12",
|
||||
"@vue/shared": "3.5.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/component-compiler-utils": {
|
||||
|
@ -3200,53 +3203,53 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.31.tgz",
|
||||
"integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz",
|
||||
"integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/shared": "3.5.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-core": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.31.tgz",
|
||||
"integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz",
|
||||
"integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.4.31",
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/reactivity": "3.5.12",
|
||||
"@vue/shared": "3.5.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz",
|
||||
"integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz",
|
||||
"integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.4.31",
|
||||
"@vue/runtime-core": "3.4.31",
|
||||
"@vue/shared": "3.4.31",
|
||||
"@vue/reactivity": "3.5.12",
|
||||
"@vue/runtime-core": "3.5.12",
|
||||
"@vue/shared": "3.5.12",
|
||||
"csstype": "^3.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/server-renderer": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.31.tgz",
|
||||
"integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz",
|
||||
"integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.4.31",
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/compiler-ssr": "3.5.12",
|
||||
"@vue/shared": "3.5.12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "3.4.31"
|
||||
"vue": "3.5.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.31.tgz",
|
||||
"integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
|
||||
"integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vue/vue-loader-v15": {
|
||||
|
@ -8446,12 +8449,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
"version": "0.30.10",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
|
||||
"integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
|
||||
"version": "0.30.12",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz",
|
||||
"integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/sourcemap-codec": "^1.4.15"
|
||||
"@jridgewell/sourcemap-codec": "^1.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/make-dir": {
|
||||
|
@ -9361,9 +9364,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
||||
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
|
@ -9412,9 +9416,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.38",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
|
||||
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
|
||||
"version": "8.4.48",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz",
|
||||
"integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
@ -9429,10 +9433,11 @@
|
|||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.7",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.2.0"
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
|
@ -11128,9 +11133,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
||||
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
||||
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
@ -11747,15 +11753,6 @@
|
|||
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/to-fast-properties": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
||||
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
|
@ -12084,16 +12081,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.4.31",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.31.tgz",
|
||||
"integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==",
|
||||
"version": "3.5.12",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz",
|
||||
"integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.4.31",
|
||||
"@vue/compiler-sfc": "3.4.31",
|
||||
"@vue/runtime-dom": "3.4.31",
|
||||
"@vue/server-renderer": "3.4.31",
|
||||
"@vue/shared": "3.4.31"
|
||||
"@vue/compiler-dom": "3.5.12",
|
||||
"@vue/compiler-sfc": "3.5.12",
|
||||
"@vue/runtime-dom": "3.5.12",
|
||||
"@vue/server-renderer": "3.5.12",
|
||||
"@vue/shared": "3.5.12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "*"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"register-service-worker": "^1.7.2",
|
||||
"sass": "^1.77.6",
|
||||
"sass-loader": "^10.5.2",
|
||||
"vue": "^3.4.31",
|
||||
"vue": "^3.5.12",
|
||||
"vue-router": "^4.4.5",
|
||||
"vue-skycons": "^4.3.4",
|
||||
"w3css": "^2.7.0"
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<script>
|
||||
import axios from 'axios';
|
||||
import hljs from 'highlight.js';
|
||||
import 'highlight.js/styles/intellij-light.css';
|
||||
import 'highlight.js/styles/night-owl.min.css'
|
||||
|
||||
import FloatingButton from "@/components/elements/FloatingButton";
|
||||
import Highlighter from "./Highlighter";
|
||||
|
@ -51,7 +51,16 @@ export default {
|
|||
props: {
|
||||
file: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
|
||||
text: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
|
||||
contentType: {
|
||||
type: String,
|
||||
default: 'plaintext',
|
||||
},
|
||||
|
||||
isNew: {
|
||||
|
@ -114,41 +123,43 @@ export default {
|
|||
|
||||
methods: {
|
||||
async loadFile() {
|
||||
this.setUrlArgs({file: this.file})
|
||||
if (this.isNew) {
|
||||
this.content = ''
|
||||
this.initialContentHash = 0
|
||||
this.highlightedContent = ''
|
||||
this.info = {}
|
||||
this.type = this.getLanguageType({path: this.file})
|
||||
return
|
||||
}
|
||||
|
||||
this.loading = true
|
||||
|
||||
try {
|
||||
this.info = (
|
||||
await this.request('file.info', {files: [this.file]})
|
||||
)[this.file] || {}
|
||||
|
||||
this.type = this.getLanguageType(this.info)
|
||||
this.content = (
|
||||
await axios.get(`/file?path=${encodeURIComponent(this.file)}`)
|
||||
).data
|
||||
|
||||
if (typeof this.content === 'object') {
|
||||
this.content = JSON.stringify(this.content, null, 2)
|
||||
if (!this.text?.length) {
|
||||
this.setUrlArgs({file: this.file})
|
||||
if (this.isNew) {
|
||||
this.content = ''
|
||||
this.initialContentHash = 0
|
||||
this.highlightedContent = ''
|
||||
this.info = {}
|
||||
this.type = this.getLanguageType({path: this.file})
|
||||
return
|
||||
}
|
||||
|
||||
this.initialContentHash = this.content.hashCode()
|
||||
} catch (e) {
|
||||
this.notify({
|
||||
error: true,
|
||||
text: e.message,
|
||||
title: 'Failed to load file',
|
||||
})
|
||||
} finally {
|
||||
this.loading = false
|
||||
this.loading = true
|
||||
|
||||
try {
|
||||
this.info = (
|
||||
await this.request('file.info', {files: [this.file]})
|
||||
)[this.file] || {}
|
||||
|
||||
this.type = this.getLanguageType(this.info)
|
||||
this.content = (
|
||||
await axios.get(`/file?path=${encodeURIComponent(this.file)}`)
|
||||
).data
|
||||
|
||||
if (typeof this.content === 'object') {
|
||||
this.content = JSON.stringify(this.content, null, 2)
|
||||
}
|
||||
|
||||
this.initialContentHash = this.content.hashCode()
|
||||
} catch (e) {
|
||||
this.notify({
|
||||
error: true,
|
||||
text: e.message,
|
||||
title: 'Failed to load file',
|
||||
})
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
|
||||
if (this.selectedLine) {
|
||||
|
@ -270,6 +281,11 @@ export default {
|
|||
window.removeEventListener('beforeunload', this.beforeUnload)
|
||||
},
|
||||
|
||||
convertType(type) {
|
||||
const parts = type.split('/')
|
||||
return parts[parts.length - 1]
|
||||
},
|
||||
|
||||
reset() {
|
||||
this.setUrlArgs({file: null, line: null})
|
||||
this.removeBeforeUnload()
|
||||
|
@ -278,6 +294,14 @@ export default {
|
|||
},
|
||||
|
||||
watch: {
|
||||
contentType() {
|
||||
if (!this.contentType?.length) {
|
||||
return
|
||||
}
|
||||
|
||||
this.type = this.convertType(this.contentType)
|
||||
},
|
||||
|
||||
file() {
|
||||
this.loadFile()
|
||||
},
|
||||
|
@ -323,6 +347,10 @@ export default {
|
|||
this.$refs.selectedLine.style.top = `${offset}px`
|
||||
})
|
||||
},
|
||||
|
||||
text() {
|
||||
this.content = this.text
|
||||
},
|
||||
},
|
||||
|
||||
mounted() {
|
||||
|
@ -334,6 +362,8 @@ export default {
|
|||
}
|
||||
}
|
||||
|
||||
this.content = this.text
|
||||
this.type = this.convertType(this.contentType)
|
||||
this.loadFile()
|
||||
this.addBeforeUnload()
|
||||
this.addKeyListener()
|
||||
|
@ -354,6 +384,11 @@ export default {
|
|||
$line-numbers-width: 2.5em;
|
||||
|
||||
.file-editor {
|
||||
--body-bg: #080808;
|
||||
--body-fg: #f8f8f2;
|
||||
--line-numbers-bg: #282a36;
|
||||
--line-numbers-fg: #6272a4;
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
@ -366,6 +401,8 @@ $line-numbers-width: 2.5em;
|
|||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: var(--body-bg);
|
||||
color: var(--body-fg);
|
||||
}
|
||||
|
||||
.editor-highlight-loading {
|
||||
|
@ -412,6 +449,8 @@ $line-numbers-width: 2.5em;
|
|||
align-items: flex-end;
|
||||
overflow: hidden;
|
||||
z-index: 2;
|
||||
background: var(--line-numbers-bg);
|
||||
color: var(--line-numbers-fg);
|
||||
|
||||
.line-number {
|
||||
width: 100%;
|
||||
|
@ -444,7 +483,7 @@ $line-numbers-width: 2.5em;
|
|||
overflow-x: scroll;
|
||||
z-index: 2;
|
||||
color: rgba(0, 0, 0, 0);
|
||||
caret-color: black;
|
||||
caret-color: var(--body-fg);
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
:file="file"
|
||||
:is-new="isNew"
|
||||
:line="line"
|
||||
:text="text"
|
||||
:content-type="contentType"
|
||||
:with-save="withSave"
|
||||
@save="$emit('save', $event)"
|
||||
v-if="file" />
|
||||
</div>
|
||||
|
@ -41,7 +44,16 @@ export default {
|
|||
props: {
|
||||
file: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
|
||||
text: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
|
||||
contentType: {
|
||||
type: String,
|
||||
default: 'text/plain',
|
||||
},
|
||||
|
||||
isNew: {
|
||||
|
|
Binary file not shown.
|
@ -18,7 +18,7 @@ RUN --mount=type=bind,source=.,target=/curdir \
|
|||
|
||||
RUN /install/platypush/install/scripts/alpine/install.sh && \
|
||||
cd /install && \
|
||||
pip install -U --no-input --no-cache-dir --no-deps --ignore-installed --break-system-packages . croniter && \
|
||||
pip install -U --no-input --no-cache-dir --no-deps --ignore-installed --break-system-packages . croniter marshmallow && \
|
||||
rm -rf /install && \
|
||||
rm -rf /root/.cache && \
|
||||
apk del gcc git && \
|
||||
|
|
|
@ -6,7 +6,6 @@ py3-docutils
|
|||
py3-flask
|
||||
py3-greenlet
|
||||
py3-magic
|
||||
py3-marshmallow
|
||||
py3-mypy-extensions
|
||||
py3-otp
|
||||
py3-psutil
|
||||
|
@ -16,11 +15,13 @@ py3-qrcode
|
|||
py3-redis
|
||||
py3-requests
|
||||
py3-rsa
|
||||
py3-simplejson
|
||||
py3-sqlalchemy
|
||||
py3-tornado
|
||||
py3-tz
|
||||
py3-websocket-client
|
||||
py3-websockets
|
||||
py3-wheel
|
||||
py3-yaml
|
||||
py3-zeroconf
|
||||
redis
|
||||
|
|
|
@ -1 +1 @@
|
|||
apk add --update --no-interactive --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/
|
||||
apk add --update --no-interactive --no-cache
|
||||
|
|
|
@ -70,8 +70,13 @@ class IRCBot(irc.bot.SingleServerIRCBot):
|
|||
dcc_max_connections: Optional[int] = None,
|
||||
):
|
||||
connection_factory = ConnectionFactory()
|
||||
self._ssl_ctx = None
|
||||
|
||||
if ssl:
|
||||
connection_factory.wrapper = _ssl.wrap_socket
|
||||
self._ssl_ctx = _ssl.create_default_context()
|
||||
# Temporary workaround for check_hostname issues on Python >= 3.12
|
||||
self._ssl_ctx.check_hostname = False
|
||||
connection_factory.wrapper = self._ssl_ctx.wrap_socket
|
||||
if ipv6:
|
||||
connection_factory.family = socket.AF_INET6
|
||||
|
||||
|
@ -86,7 +91,7 @@ class IRCBot(irc.bot.SingleServerIRCBot):
|
|||
self.port = port
|
||||
self.alias = alias
|
||||
self._password = password
|
||||
self.channels.update({channel: None for channel in channels})
|
||||
self.channels.update(dict.fromkeys(channels))
|
||||
self._stop_message = stop_message
|
||||
self.dcc_ip_whitelist = set(dcc_ip_whitelist or [])
|
||||
self.dcc_ip_blacklist = set(dcc_ip_blacklist or [])
|
||||
|
@ -455,7 +460,7 @@ class IRCBot(irc.bot.SingleServerIRCBot):
|
|||
def on_disconnect(self, connection: Connection, event: _IRCEvent):
|
||||
self._post_event(connection, IRCDisconnectEvent)
|
||||
# Cache channels for reconnect logic
|
||||
channels = {ch: None for ch in self.channels.keys()}
|
||||
channels = dict.fromkeys(self.channels)
|
||||
super()._on_disconnect(connection, event)
|
||||
self.channels.update(channels)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[project]
|
||||
name = "platypush"
|
||||
description = "A general-purpose framework for automation"
|
||||
dynamic = ["version", "dependencies", "optional-dependencies"]
|
||||
dynamic = ["version", "dependencies", "optional-dependencies", "entry-points"]
|
||||
authors = [
|
||||
{name = "Fabio Manganiello", email = "fabio@manganiello.tech"},
|
||||
]
|
||||
|
@ -19,7 +19,7 @@ keywords = [
|
|||
]
|
||||
|
||||
[tool.setuptools.dynamic]
|
||||
version = {attr = "version.__version__"}
|
||||
version = {attr = "platypush.__version__"}
|
||||
dependencies = {file = "requirements.txt"}
|
||||
|
||||
[project.urls]
|
||||
|
@ -50,7 +50,7 @@ include = [
|
|||
]
|
||||
|
||||
[tool.bumpversion]
|
||||
current_version = "1.3.2"
|
||||
current_version = "1.3.4"
|
||||
commit = true
|
||||
tag = true
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
__version__ = "1.3.2"
|
||||
__version__ = "1.3.4"
|
||||
|
|
Loading…
Reference in a new issue