Merge branch 'stable' into develop
This commit is contained in:
commit
232ca0f050
|
@ -64,7 +64,7 @@ repos:
|
|||
files: \.(md|yml|yaml|json)$
|
||||
|
||||
- repo: https://github.com/codespell-project/codespell
|
||||
rev: v2.2.4
|
||||
rev: v2.2.5
|
||||
hooks:
|
||||
- id: codespell
|
||||
additional_dependencies: [tomli]
|
||||
|
|
70
CHANGELOG.md
70
CHANGELOG.md
|
@ -9,6 +9,76 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.
|
|||
|
||||
<!-- towncrier -->
|
||||
|
||||
## 1.3.1 (2023-06-27)
|
||||
|
||||
Upgrade instructions are available at
|
||||
https://docs.funkwhale.audio/admin/upgrading.html
|
||||
|
||||
Bugfixes:
|
||||
|
||||
- Dynamically add report targets to the map to avoid missing keys (#2121)
|
||||
- Fix location of the nginx config template for docker deployments (#2146)
|
||||
- Fix pagination on search page (#2134)
|
||||
- Fix Prune skipped uploads is OOM killed (#2136)
|
||||
- Fixed Fomantic UI dropdown messing with Vue internals in radio builder (#2142)
|
||||
- Fixed premature login redirect on podcast detail page (#2155)
|
||||
- Fixed stale data in indexedDB after logout (#2133)
|
||||
- Make sure dependency pins are working with pip install (Restores python3.7 support)
|
||||
- Make sure embed codes generated before 1.3.0 are still working
|
||||
- Make sure the SPA Manifest is fetched using the right protocol (#2151)
|
||||
- Moved modals above all content (#2154)
|
||||
- Raise SystemExit exception in API manage.py script
|
||||
- Remove track from cache when it gets disposed outside of the cache handler (#2157)
|
||||
- Standardize instanceUrl value in instance store (#2113)
|
||||
- Fix for banner images not being served on pods.
|
||||
- Fixed PWA Window theme color.
|
||||
|
||||
Documentation:
|
||||
|
||||
- Fix instructions for using custom nginx configurations in our documentation
|
||||
|
||||
Other:
|
||||
|
||||
- Don't run CI on branch containing stable or develop
|
||||
|
||||
Contributors to our Issues:
|
||||
|
||||
- AMoonRabbit
|
||||
- Asier Iturralde Sarasola
|
||||
- Bertille D.
|
||||
- Casuallynoted
|
||||
- Ciarán Ainsworth
|
||||
- Daniel Jeller
|
||||
- Georg Krause
|
||||
- JuniorJPDJ
|
||||
- Kasper Seweryn
|
||||
- Mathieu Jourdan
|
||||
- NaiveTub
|
||||
- Ricardo
|
||||
- Virgile Robles
|
||||
- nouts
|
||||
- petitminion
|
||||
|
||||
Contributors to our Merge Requests:
|
||||
|
||||
- AMoonRabbit
|
||||
- Ciarán Ainsworth
|
||||
- Georg Krause
|
||||
- JuniorJPDJ
|
||||
- Kasper Seweryn
|
||||
- jooola
|
||||
- petitminion
|
||||
|
||||
Committers:
|
||||
|
||||
- AMoonRabbit
|
||||
- Georg Krause
|
||||
- jo
|
||||
- JuniorJPDJ
|
||||
- Kasper Seweryn
|
||||
- Moon Rabbit
|
||||
- Petitminion
|
||||
|
||||
## 1.3.0 (2023-06-01)
|
||||
|
||||
Upgrade instructions are available at
|
||||
|
|
|
@ -22,7 +22,7 @@ class Command(BaseCommand):
|
|||
@transaction.atomic
|
||||
def handle(self, *args, **options):
|
||||
skipped = models.Upload.objects.filter(import_status="skipped")
|
||||
count = len(skipped)
|
||||
count = skipped.count()
|
||||
if options["force"]:
|
||||
skipped.delete()
|
||||
print(f"Deleted {count} entries from the database.")
|
||||
|
|
|
@ -12,4 +12,4 @@ warnings.warn(
|
|||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
SystemExit(main())
|
||||
raise SystemExit(main())
|
||||
|
|
|
@ -156,24 +156,25 @@ vine = ">=5.0.0"
|
|||
|
||||
[[package]]
|
||||
name = "anyio"
|
||||
version = "3.6.2"
|
||||
version = "3.7.0"
|
||||
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6.2"
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"},
|
||||
{file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"},
|
||||
{file = "anyio-3.7.0-py3-none-any.whl", hash = "sha256:eddca883c4175f14df8aedce21054bfca3adb70ffe76a9f607aef9d7fa2ea7f0"},
|
||||
{file = "anyio-3.7.0.tar.gz", hash = "sha256:275d9973793619a5374e1c89a4f4ad3f4b0a5510a2b5b939444bee8f4c4d37ce"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
exceptiongroup = {version = "*", markers = "python_version < \"3.11\""}
|
||||
idna = ">=2.8"
|
||||
sniffio = ">=1.1"
|
||||
|
||||
[package.extras]
|
||||
doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
|
||||
test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
|
||||
trio = ["trio (>=0.16,<0.22)"]
|
||||
doc = ["Sphinx (>=6.1.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme", "sphinxcontrib-jquery"]
|
||||
test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"]
|
||||
trio = ["trio (<0.22)"]
|
||||
|
||||
[[package]]
|
||||
name = "appnope"
|
||||
|
@ -204,29 +205,32 @@ python-dateutil = ">=2.7.0"
|
|||
|
||||
[[package]]
|
||||
name = "asgiref"
|
||||
version = "3.6.0"
|
||||
version = "3.7.2"
|
||||
description = "ASGI specs, helper code, and adapters"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "asgiref-3.6.0-py3-none-any.whl", hash = "sha256:71e68008da809b957b7ee4b43dbccff33d1b23519fb8344e33f049897077afac"},
|
||||
{file = "asgiref-3.6.0.tar.gz", hash = "sha256:9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506"},
|
||||
{file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"},
|
||||
{file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""}
|
||||
|
||||
[package.extras]
|
||||
tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"]
|
||||
|
||||
[[package]]
|
||||
name = "astroid"
|
||||
version = "2.15.4"
|
||||
version = "2.15.5"
|
||||
description = "An abstract syntax tree for Python with inference support."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7.2"
|
||||
files = [
|
||||
{file = "astroid-2.15.4-py3-none-any.whl", hash = "sha256:a1b8543ef9d36ea777194bc9b17f5f8678d2c56ee6a45b2c2f17eec96f242347"},
|
||||
{file = "astroid-2.15.4.tar.gz", hash = "sha256:c81e1c7fbac615037744d067a9bb5f9aeb655edf59b63ee8b59585475d6f80d8"},
|
||||
{file = "astroid-2.15.5-py3-none-any.whl", hash = "sha256:078e5212f9885fa85fbb0cf0101978a336190aadea6e13305409d099f71b2324"},
|
||||
{file = "astroid-2.15.5.tar.gz", hash = "sha256:1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -453,18 +457,18 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0
|
|||
|
||||
[[package]]
|
||||
name = "boto3"
|
||||
version = "1.26.149"
|
||||
version = "1.26.161"
|
||||
description = "The AWS SDK for Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.7"
|
||||
files = [
|
||||
{file = "boto3-1.26.149-py3-none-any.whl", hash = "sha256:8763b3abd3abe35be8e948de05f71fad1517ac018908c207babb624d728b684c"},
|
||||
{file = "boto3-1.26.149.tar.gz", hash = "sha256:9dde9b81a04bf3ec346fbf9a2d005fd22604adf039f1a4d91494e1787a2484e2"},
|
||||
{file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"},
|
||||
{file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
botocore = ">=1.29.149,<1.30.0"
|
||||
botocore = ">=1.29.161,<1.30.0"
|
||||
jmespath = ">=0.7.1,<2.0.0"
|
||||
s3transfer = ">=0.6.0,<0.7.0"
|
||||
|
||||
|
@ -473,14 +477,14 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
|
|||
|
||||
[[package]]
|
||||
name = "botocore"
|
||||
version = "1.29.149"
|
||||
version = "1.29.162"
|
||||
description = "Low-level, data-driven core of boto 3."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.7"
|
||||
files = [
|
||||
{file = "botocore-1.29.149-py3-none-any.whl", hash = "sha256:b8ffb9ae92d2232dbf0c5e661328f3c174fd55dfd9505626a3606ffdc89268b2"},
|
||||
{file = "botocore-1.29.149.tar.gz", hash = "sha256:2996117aac40e8c30a41e01b16f75f14f1a51fc2fa27ce9090eeece045f0ac35"},
|
||||
{file = "botocore-1.29.162-py3-none-any.whl", hash = "sha256:dadb7d793891274905511cdf8a06bea7d8f797c5e0824f06fbc70c7d1a5fdd17"},
|
||||
{file = "botocore-1.29.162.tar.gz", hash = "sha256:18fd92768b5d554d27b1adce5fad6317a303d3e133abe4adfbf4059a776bcdf7"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -493,14 +497,14 @@ crt = ["awscrt (==0.16.9)"]
|
|||
|
||||
[[package]]
|
||||
name = "cachetools"
|
||||
version = "5.3.0"
|
||||
version = "5.3.1"
|
||||
description = "Extensible memoizing collections and decorators"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "~=3.7"
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "cachetools-5.3.0-py3-none-any.whl", hash = "sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4"},
|
||||
{file = "cachetools-5.3.0.tar.gz", hash = "sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14"},
|
||||
{file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"},
|
||||
{file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -825,20 +829,22 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"]
|
|||
|
||||
[[package]]
|
||||
name = "click-repl"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
description = "REPL plugin for Click"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"},
|
||||
{file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"},
|
||||
{file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"},
|
||||
{file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
click = "*"
|
||||
prompt-toolkit = "*"
|
||||
six = "*"
|
||||
click = ">=7.0"
|
||||
prompt-toolkit = ">=3.0.36"
|
||||
|
||||
[package.extras]
|
||||
testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"]
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
|
@ -999,29 +1005,30 @@ tests = ["django", "hypothesis", "pytest", "pytest-asyncio"]
|
|||
|
||||
[[package]]
|
||||
name = "debugpy"
|
||||
version = "1.6.6"
|
||||
version = "1.6.7"
|
||||
description = "An implementation of the Debug Adapter Protocol for Python"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "debugpy-1.6.6-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:0ea1011e94416e90fb3598cc3ef5e08b0a4dd6ce6b9b33ccd436c1dffc8cd664"},
|
||||
{file = "debugpy-1.6.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dff595686178b0e75580c24d316aa45a8f4d56e2418063865c114eef651a982e"},
|
||||
{file = "debugpy-1.6.6-cp310-cp310-win32.whl", hash = "sha256:87755e173fcf2ec45f584bb9d61aa7686bb665d861b81faa366d59808bbd3494"},
|
||||
{file = "debugpy-1.6.6-cp310-cp310-win_amd64.whl", hash = "sha256:72687b62a54d9d9e3fb85e7a37ea67f0e803aaa31be700e61d2f3742a5683917"},
|
||||
{file = "debugpy-1.6.6-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:78739f77c58048ec006e2b3eb2e0cd5a06d5f48c915e2fc7911a337354508110"},
|
||||
{file = "debugpy-1.6.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23c29e40e39ad7d869d408ded414f6d46d82f8a93b5857ac3ac1e915893139ca"},
|
||||
{file = "debugpy-1.6.6-cp37-cp37m-win32.whl", hash = "sha256:7aa7e103610e5867d19a7d069e02e72eb2b3045b124d051cfd1538f1d8832d1b"},
|
||||
{file = "debugpy-1.6.6-cp37-cp37m-win_amd64.whl", hash = "sha256:f6383c29e796203a0bba74a250615ad262c4279d398e89d895a69d3069498305"},
|
||||
{file = "debugpy-1.6.6-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:23363e6d2a04d726bbc1400bd4e9898d54419b36b2cdf7020e3e215e1dcd0f8e"},
|
||||
{file = "debugpy-1.6.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b5d1b13d7c7bf5d7cf700e33c0b8ddb7baf030fcf502f76fc061ddd9405d16c"},
|
||||
{file = "debugpy-1.6.6-cp38-cp38-win32.whl", hash = "sha256:70ab53918fd907a3ade01909b3ed783287ede362c80c75f41e79596d5ccacd32"},
|
||||
{file = "debugpy-1.6.6-cp38-cp38-win_amd64.whl", hash = "sha256:c05349890804d846eca32ce0623ab66c06f8800db881af7a876dc073ac1c2225"},
|
||||
{file = "debugpy-1.6.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a771739902b1ae22a120dbbb6bd91b2cae6696c0e318b5007c5348519a4211c6"},
|
||||
{file = "debugpy-1.6.6-cp39-cp39-win32.whl", hash = "sha256:549ae0cb2d34fc09d1675f9b01942499751d174381b6082279cf19cdb3c47cbe"},
|
||||
{file = "debugpy-1.6.6-cp39-cp39-win_amd64.whl", hash = "sha256:de4a045fbf388e120bb6ec66501458d3134f4729faed26ff95de52a754abddb1"},
|
||||
{file = "debugpy-1.6.6-py2.py3-none-any.whl", hash = "sha256:be596b44448aac14eb3614248c91586e2bc1728e020e82ef3197189aae556115"},
|
||||
{file = "debugpy-1.6.6.zip", hash = "sha256:b9c2130e1c632540fbf9c2c88341493797ddf58016e7cba02e311de9b0a96b67"},
|
||||
{file = "debugpy-1.6.7-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b3e7ac809b991006ad7f857f016fa92014445085711ef111fdc3f74f66144096"},
|
||||
{file = "debugpy-1.6.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3876611d114a18aafef6383695dfc3f1217c98a9168c1aaf1a02b01ec7d8d1e"},
|
||||
{file = "debugpy-1.6.7-cp310-cp310-win32.whl", hash = "sha256:33edb4afa85c098c24cc361d72ba7c21bb92f501104514d4ffec1fb36e09c01a"},
|
||||
{file = "debugpy-1.6.7-cp310-cp310-win_amd64.whl", hash = "sha256:ed6d5413474e209ba50b1a75b2d9eecf64d41e6e4501977991cdc755dc83ab0f"},
|
||||
{file = "debugpy-1.6.7-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:38ed626353e7c63f4b11efad659be04c23de2b0d15efff77b60e4740ea685d07"},
|
||||
{file = "debugpy-1.6.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279d64c408c60431c8ee832dfd9ace7c396984fd7341fa3116aee414e7dcd88d"},
|
||||
{file = "debugpy-1.6.7-cp37-cp37m-win32.whl", hash = "sha256:dbe04e7568aa69361a5b4c47b4493d5680bfa3a911d1e105fbea1b1f23f3eb45"},
|
||||
{file = "debugpy-1.6.7-cp37-cp37m-win_amd64.whl", hash = "sha256:f90a2d4ad9a035cee7331c06a4cf2245e38bd7c89554fe3b616d90ab8aab89cc"},
|
||||
{file = "debugpy-1.6.7-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:5224eabbbeddcf1943d4e2821876f3e5d7d383f27390b82da5d9558fd4eb30a9"},
|
||||
{file = "debugpy-1.6.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae1123dff5bfe548ba1683eb972329ba6d646c3a80e6b4c06cd1b1dd0205e9b"},
|
||||
{file = "debugpy-1.6.7-cp38-cp38-win32.whl", hash = "sha256:9cd10cf338e0907fdcf9eac9087faa30f150ef5445af5a545d307055141dd7a4"},
|
||||
{file = "debugpy-1.6.7-cp38-cp38-win_amd64.whl", hash = "sha256:aaf6da50377ff4056c8ed470da24632b42e4087bc826845daad7af211e00faad"},
|
||||
{file = "debugpy-1.6.7-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0679b7e1e3523bd7d7869447ec67b59728675aadfc038550a63a362b63029d2c"},
|
||||
{file = "debugpy-1.6.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de86029696e1b3b4d0d49076b9eba606c226e33ae312a57a46dca14ff370894d"},
|
||||
{file = "debugpy-1.6.7-cp39-cp39-win32.whl", hash = "sha256:d71b31117779d9a90b745720c0eab54ae1da76d5b38c8026c654f4a066b0130a"},
|
||||
{file = "debugpy-1.6.7-cp39-cp39-win_amd64.whl", hash = "sha256:c0ff93ae90a03b06d85b2c529eca51ab15457868a377c4cc40a23ab0e4e552a3"},
|
||||
{file = "debugpy-1.6.7-py2.py3-none-any.whl", hash = "sha256:53f7a456bc50706a0eaabecf2d3ce44c4d5010e46dfc65b6b81a518b42866267"},
|
||||
{file = "debugpy-1.6.7.zip", hash = "sha256:c4c2f0810fa25323abfdfa36cbbbb24e5c3b1a42cb762782de64439c575d67f2"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1050,21 +1057,21 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "deprecated"
|
||||
version = "1.2.13"
|
||||
version = "1.2.14"
|
||||
description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
files = [
|
||||
{file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"},
|
||||
{file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"},
|
||||
{file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"},
|
||||
{file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
wrapt = ">=1.10,<2"
|
||||
|
||||
[package.extras]
|
||||
dev = ["PyTest", "PyTest (<5)", "PyTest-Cov", "PyTest-Cov (<2.6)", "bump2version (<1)", "configparser (<5)", "importlib-metadata (<3)", "importlib-resources (<4)", "sphinx (<2)", "sphinxcontrib-websupport (<2)", "tox", "zipp (<2)"]
|
||||
dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"]
|
||||
|
||||
[[package]]
|
||||
name = "dill"
|
||||
|
@ -1102,14 +1109,14 @@ with-social = ["django-allauth (>=0.40.0,<0.53.0)"]
|
|||
|
||||
[[package]]
|
||||
name = "django"
|
||||
version = "3.2.18"
|
||||
version = "3.2.19"
|
||||
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "Django-3.2.18-py3-none-any.whl", hash = "sha256:4d492d9024c7b3dfababf49f94511ab6a58e2c9c3c7207786f1ba4eb77750706"},
|
||||
{file = "Django-3.2.18.tar.gz", hash = "sha256:08208dfe892eb64fff073ca743b3b952311104f939e7f6dae954fe72dcc533ba"},
|
||||
{file = "Django-3.2.19-py3-none-any.whl", hash = "sha256:21cc991466245d659ab79cb01204f9515690f8dae00e5eabde307f14d24d4d7d"},
|
||||
{file = "Django-3.2.19.tar.gz", hash = "sha256:031365bae96814da19c10706218c44dff3b654cc4de20a98bd2d29b9bde469f0"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -1412,7 +1419,7 @@ sidecar = ["drf-spectacular-sidecar"]
|
|||
name = "exceptiongroup"
|
||||
version = "1.1.1"
|
||||
description = "Backport of PEP 654 (exception groups)"
|
||||
category = "dev"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
|
@ -1748,14 +1755,14 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "importlib-metadata"
|
||||
version = "6.6.0"
|
||||
version = "6.7.0"
|
||||
description = "Read metadata from Python packages"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
|
||||
{file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
|
||||
{file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
|
||||
{file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -1764,7 +1771,7 @@ zipp = ">=0.5"
|
|||
[package.extras]
|
||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||
perf = ["ipython"]
|
||||
testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
|
||||
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
|
||||
|
||||
[[package]]
|
||||
name = "importlib-resources"
|
||||
|
@ -1953,17 +1960,17 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-
|
|||
|
||||
[[package]]
|
||||
name = "jwcrypto"
|
||||
version = "1.4.2"
|
||||
version = "1.5.0"
|
||||
description = "Implementation of JOSE Web standards"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.6"
|
||||
files = [
|
||||
{file = "jwcrypto-1.4.2.tar.gz", hash = "sha256:80a35e9ed1b3b2c43ce03d92c5d48e6d0b6647e2aa2618e4963448923d78a37b"},
|
||||
{file = "jwcrypto-1.5.0.tar.gz", hash = "sha256:2c1dc51cf8e38ddf324795dfe9426dee9dd46caf47f535ccbc18781fba810b8d"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cryptography = ">=2.3"
|
||||
cryptography = ">=3.4"
|
||||
deprecated = "*"
|
||||
|
||||
[[package]]
|
||||
|
@ -2560,30 +2567,30 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "platformdirs"
|
||||
version = "3.5.1"
|
||||
version = "3.8.0"
|
||||
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"},
|
||||
{file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"},
|
||||
{file = "platformdirs-3.8.0-py3-none-any.whl", hash = "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e"},
|
||||
{file = "platformdirs-3.8.0.tar.gz", hash = "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
|
||||
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
|
||||
docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
|
||||
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"]
|
||||
|
||||
[[package]]
|
||||
name = "pluggy"
|
||||
version = "1.0.0"
|
||||
version = "1.2.0"
|
||||
description = "plugin and hook calling mechanisms for python"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
|
||||
{file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
|
||||
{file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"},
|
||||
{file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
|
@ -2816,14 +2823,14 @@ with-django = ["Django"]
|
|||
|
||||
[[package]]
|
||||
name = "pylint-plugin-utils"
|
||||
version = "0.7"
|
||||
version = "0.8.2"
|
||||
description = "Utilities and helpers for writing Pylint plugins"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6.2"
|
||||
python-versions = ">=3.7,<4.0"
|
||||
files = [
|
||||
{file = "pylint-plugin-utils-0.7.tar.gz", hash = "sha256:ce48bc0516ae9415dd5c752c940dfe601b18fe0f48aa249f2386adfa95a004dd"},
|
||||
{file = "pylint_plugin_utils-0.7-py3-none-any.whl", hash = "sha256:b3d43e85ab74c4f48bb46ae4ce771e39c3a20f8b3d56982ab17aa73b4f98d535"},
|
||||
{file = "pylint_plugin_utils-0.8.2-py3-none-any.whl", hash = "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507"},
|
||||
{file = "pylint_plugin_utils-0.8.2.tar.gz", hash = "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -2831,18 +2838,18 @@ pylint = ">=1.7"
|
|||
|
||||
[[package]]
|
||||
name = "pyopenssl"
|
||||
version = "23.1.1"
|
||||
version = "23.2.0"
|
||||
description = "Python wrapper module around the OpenSSL library"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "pyOpenSSL-23.1.1-py3-none-any.whl", hash = "sha256:9e0c526404a210df9d2b18cd33364beadb0dc858a739b885677bc65e105d4a4c"},
|
||||
{file = "pyOpenSSL-23.1.1.tar.gz", hash = "sha256:841498b9bec61623b1b6c47ebbc02367c07d60e0e195f19790817f10cc8db0b7"},
|
||||
{file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"},
|
||||
{file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cryptography = ">=38.0.0,<41"
|
||||
cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"]
|
||||
|
@ -3020,20 +3027,23 @@ pytest = "*"
|
|||
|
||||
[[package]]
|
||||
name = "pytest-sugar"
|
||||
version = "0.9.6"
|
||||
version = "0.9.7"
|
||||
description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
files = [
|
||||
{file = "pytest-sugar-0.9.6.tar.gz", hash = "sha256:c4793495f3c32e114f0f5416290946c316eb96ad5a3684dcdadda9267e59b2b8"},
|
||||
{file = "pytest_sugar-0.9.6-py2.py3-none-any.whl", hash = "sha256:30e5225ed2b3cc988a8a672f8bda0fc37bcd92d62e9273937f061112b3f2186d"},
|
||||
{file = "pytest-sugar-0.9.7.tar.gz", hash = "sha256:f1e74c1abfa55f7241cf7088032b6e378566f16b938f3f08905e2cf4494edd46"},
|
||||
{file = "pytest_sugar-0.9.7-py2.py3-none-any.whl", hash = "sha256:8cb5a4e5f8bbcd834622b0235db9e50432f4cbd71fef55b467fe44e43701e062"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
packaging = ">=14.1"
|
||||
pytest = ">=2.9"
|
||||
termcolor = ">=1.1.0"
|
||||
packaging = ">=21.3"
|
||||
pytest = ">=6.2.0"
|
||||
termcolor = ">=2.1.0"
|
||||
|
||||
[package.extras]
|
||||
dev = ["black", "flake8", "pre-commit"]
|
||||
|
||||
[[package]]
|
||||
name = "python-dateutil"
|
||||
|
@ -3175,18 +3185,18 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "redis"
|
||||
version = "4.5.4"
|
||||
version = "4.5.5"
|
||||
description = "Python client for Redis database and key-value store"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "redis-4.5.4-py3-none-any.whl", hash = "sha256:2c19e6767c474f2e85167909061d525ed65bea9301c0770bb151e041b7ac89a2"},
|
||||
{file = "redis-4.5.4.tar.gz", hash = "sha256:73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"},
|
||||
{file = "redis-4.5.5-py3-none-any.whl", hash = "sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119"},
|
||||
{file = "redis-4.5.5.tar.gz", hash = "sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""}
|
||||
async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""}
|
||||
|
||||
[package.extras]
|
||||
hiredis = ["hiredis (>=1.0.0)"]
|
||||
|
@ -3356,19 +3366,19 @@ tests = ["coverage[toml] (>=5.0.2)", "pytest"]
|
|||
|
||||
[[package]]
|
||||
name = "setuptools"
|
||||
version = "67.7.2"
|
||||
version = "68.0.0"
|
||||
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"},
|
||||
{file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"},
|
||||
{file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"},
|
||||
{file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
|
||||
testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
|
||||
testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
|
||||
testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
|
||||
|
||||
[[package]]
|
||||
|
@ -3579,14 +3589,14 @@ requests = "*"
|
|||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.5.0"
|
||||
version = "4.6.3"
|
||||
description = "Backported and Experimental Type Hints for Python 3.7+"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"},
|
||||
{file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
|
||||
{file = "typing_extensions-4.6.3-py3-none-any.whl", hash = "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26"},
|
||||
{file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -3631,14 +3641,14 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "urllib3"
|
||||
version = "1.26.15"
|
||||
version = "1.26.16"
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||
files = [
|
||||
{file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"},
|
||||
{file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"},
|
||||
{file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"},
|
||||
{file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
|
@ -4152,4 +4162,4 @@ typesense = ["typesense"]
|
|||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.8"
|
||||
content-hash = "c4877bd1aa20ecf08a5f61319baee4fe853f76f8259dc49613b845a804f822fc"
|
||||
content-hash = "230bb22b727fbc6e930216b718e8e169547d18f605bddb24a19be3ee9457f4c3"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "funkwhale-api"
|
||||
version = "1.3.0"
|
||||
version = "1.3.1"
|
||||
description = "Funkwhale API"
|
||||
|
||||
authors = ["Funkwhale Collective"]
|
||||
|
@ -29,7 +29,7 @@ python = "^3.8"
|
|||
|
||||
# Django
|
||||
dj-rest-auth = { extras = ["with_social"], version = "2.2.8" }
|
||||
django = "==3.2.18"
|
||||
django = "==3.2.19"
|
||||
django-allauth = "==0.42.0"
|
||||
django-cache-memoize = "0.1.10"
|
||||
django-cacheops = "==6.1"
|
||||
|
@ -47,7 +47,7 @@ drf-spectacular = "==0.26.1"
|
|||
markdown = "==3.4.3"
|
||||
persisting-theory = "==1.0"
|
||||
psycopg2 = "==2.9.6"
|
||||
redis = "==4.5.4"
|
||||
redis = "==4.5.5"
|
||||
|
||||
# Django LDAP
|
||||
django-auth-ldap = "==4.1.0"
|
||||
|
@ -70,7 +70,7 @@ aiohttp = "==3.8.4"
|
|||
arrow = "==1.2.3"
|
||||
backports-zoneinfo = { version = "==0.2.1", python = "<3.9" }
|
||||
bleach = "==5.0.1"
|
||||
boto3 = "==1.26.149"
|
||||
boto3 = "==1.26.161"
|
||||
click = "==8.1.3"
|
||||
cryptography = "==38.0.4"
|
||||
feedparser = "==6.0.10"
|
||||
|
@ -99,7 +99,7 @@ aioresponses = "==0.7.4"
|
|||
asynctest = "==0.13.0"
|
||||
black = "==23.3.0"
|
||||
coverage = { version = "==6.5.0", extras = ["toml"] }
|
||||
debugpy = "==1.6.6"
|
||||
debugpy = "==1.6.7"
|
||||
django-coverage-plugin = "==3.0.0"
|
||||
django-debug-toolbar = "==3.8.1"
|
||||
factory-boy = "==3.2.1"
|
||||
|
@ -114,7 +114,7 @@ pytest-django = "==4.5.2"
|
|||
pytest-env = "==0.8.1"
|
||||
pytest-mock = "==3.10.0"
|
||||
pytest-randomly = "==3.12.0"
|
||||
pytest-sugar = "==0.9.6"
|
||||
pytest-sugar = "==0.9.7"
|
||||
requests-mock = "==1.10.0"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
|
|
|
@ -83,7 +83,7 @@ services:
|
|||
# Uncomment if you want to use your previous nginx config, please let us
|
||||
# know what special configuration you need, so we can support it with out
|
||||
# upstream nginx configuration!
|
||||
#- "./nginx/funkwhale.template:/etc/nginx/conf.d/funkwhale.template:ro"
|
||||
#- "./nginx/funkwhale.template:/etc/nginx/templates/default.conf.template:ro"
|
||||
#- "./nginx/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro"
|
||||
|
||||
- "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_PATH-/music}:ro"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../front/docker/funkwhale_proxy.conf
|
|
@ -132,6 +132,12 @@ server {
|
|||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# Allow direct access to only specific subdirectories in /media
|
||||
location /media/dynamic_preferences/ {
|
||||
alias ${MEDIA_ROOT}/dynamic_preferences/;
|
||||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# This is an internal location that is used to serve
|
||||
# media (uploaded) files once correct permission / authentication
|
||||
# has been checked on API side.
|
||||
|
@ -157,6 +163,7 @@ server {
|
|||
}
|
||||
|
||||
location /manifest.json {
|
||||
return 302 /api/v1/instance/spa-manifest.json;
|
||||
# If the reverse proxy is terminating SSL, nginx gets confused and redirects to http, hence the full URL
|
||||
return 302 ${FUNKWHALE_PROTOCOL}://${FUNKWHALE_HOSTNAME}/api/v1/instance/spa-manifest.json;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -132,6 +132,12 @@ http {
|
|||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# Allow direct access to only specific subdirectories in /media
|
||||
location /media/dynamic_preferences/ {
|
||||
alias ${MEDIA_ROOT}/dynamic_preferences/;
|
||||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# This is an internal location that is used to serve
|
||||
# media (uploaded) files once correct permission / authentication
|
||||
# has been checked on API side.
|
||||
|
@ -157,7 +163,8 @@ http {
|
|||
}
|
||||
|
||||
location /manifest.json {
|
||||
return 302 /api/v1/instance/spa-manifest.json;
|
||||
# If the reverse proxy is terminating SSL, nginx gets confused and redirects to http, hence the full URL
|
||||
return 302 ${FUNKWHALE_PROTOCOL}://${FUNKWHALE_HOSTNAME}/api/v1/instance/spa-manifest.json;
|
||||
}
|
||||
|
||||
location /staticfiles/ {
|
||||
|
|
|
@ -238,8 +238,8 @@ The frontend container ships default Nginx templates which serve content to the
|
|||
2. Download the Nginx template files to the `/srv/funkwhale/nginx` directory.
|
||||
|
||||
```{code-block} sh
|
||||
curl -L -o /srv/funkwhale/nginx/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/docker.nginx.template"
|
||||
curl -L -o /srv/funkwhale/nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/docker.funkwhale_proxy.conf"
|
||||
curl -L -o /srv/funkwhale/nginx/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/front/docker/funkwhale.conf.template"
|
||||
curl -L -o /srv/funkwhale/nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/front/docker/funkwhale_proxy.conf"
|
||||
```
|
||||
|
||||
3. Make any changes you want to make to these files.
|
||||
|
|
|
@ -387,18 +387,18 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0
|
|||
|
||||
[[package]]
|
||||
name = "boto3"
|
||||
version = "1.26.108"
|
||||
version = "1.26.161"
|
||||
description = "The AWS SDK for Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.7"
|
||||
files = [
|
||||
{file = "boto3-1.26.108-py3-none-any.whl", hash = "sha256:27fd0fedfdcab0bbb672b0dd18844049b86de15dccf042488c6420f1101e8a10"},
|
||||
{file = "boto3-1.26.108.tar.gz", hash = "sha256:22bb45185eaf0e4548a08d35ec11b910d55fa14f5ccd1048d1b95c8615afcc53"},
|
||||
{file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"},
|
||||
{file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
botocore = ">=1.29.108,<1.30.0"
|
||||
botocore = ">=1.29.161,<1.30.0"
|
||||
jmespath = ">=0.7.1,<2.0.0"
|
||||
s3transfer = ">=0.6.0,<0.7.0"
|
||||
|
||||
|
@ -407,14 +407,14 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
|
|||
|
||||
[[package]]
|
||||
name = "botocore"
|
||||
version = "1.29.145"
|
||||
version = "1.29.162"
|
||||
description = "Low-level, data-driven core of boto 3."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">= 3.7"
|
||||
files = [
|
||||
{file = "botocore-1.29.145-py3-none-any.whl", hash = "sha256:264a3f19ed280d80711b7e278be09acff7ed379a96432fdf179b4e6e3a687e6a"},
|
||||
{file = "botocore-1.29.145.tar.gz", hash = "sha256:65e2a2b1cc70583225f87d6d63736215f93c6234721967bdab872270ba7a1f45"},
|
||||
{file = "botocore-1.29.162-py3-none-any.whl", hash = "sha256:dadb7d793891274905511cdf8a06bea7d8f797c5e0824f06fbc70c7d1a5fdd17"},
|
||||
{file = "botocore-1.29.162.tar.gz", hash = "sha256:18fd92768b5d554d27b1adce5fad6317a303d3e133abe4adfbf4059a776bcdf7"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -759,20 +759,22 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"]
|
|||
|
||||
[[package]]
|
||||
name = "click-repl"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
description = "REPL plugin for Click"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"},
|
||||
{file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"},
|
||||
{file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"},
|
||||
{file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
click = "*"
|
||||
prompt-toolkit = "*"
|
||||
six = "*"
|
||||
click = ">=7.0"
|
||||
prompt-toolkit = ">=3.0.36"
|
||||
|
||||
[package.extras]
|
||||
testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"]
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
|
@ -928,14 +930,14 @@ with-social = ["django-allauth (>=0.40.0,<0.53.0)"]
|
|||
|
||||
[[package]]
|
||||
name = "django"
|
||||
version = "3.2.18"
|
||||
version = "3.2.19"
|
||||
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "Django-3.2.18-py3-none-any.whl", hash = "sha256:4d492d9024c7b3dfababf49f94511ab6a58e2c9c3c7207786f1ba4eb77750706"},
|
||||
{file = "Django-3.2.18.tar.gz", hash = "sha256:08208dfe892eb64fff073ca743b3b952311104f939e7f6dae954fe72dcc533ba"},
|
||||
{file = "Django-3.2.19-py3-none-any.whl", hash = "sha256:21cc991466245d659ab79cb01204f9515690f8dae00e5eabde307f14d24d4d7d"},
|
||||
{file = "Django-3.2.19.tar.gz", hash = "sha256:031365bae96814da19c10706218c44dff3b654cc4de20a98bd2d29b9bde469f0"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -1390,7 +1392,7 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "funkwhale-api"
|
||||
version = "1.3.0"
|
||||
version = "1.3.1"
|
||||
description = "Funkwhale API"
|
||||
category = "main"
|
||||
optional = false
|
||||
|
@ -1403,14 +1405,14 @@ aiohttp = "==3.8.4"
|
|||
arrow = "==1.2.3"
|
||||
backports-zoneinfo = {version = "==0.2.1", markers = "python_version < \"3.9\""}
|
||||
bleach = "==5.0.1"
|
||||
boto3 = "==1.26.108"
|
||||
boto3 = "==1.26.161"
|
||||
celery = "==5.2.7"
|
||||
channels = {version = "==4.0.0", extras = ["daphne"]}
|
||||
channels-redis = "==4.1.0"
|
||||
click = "==8.1.3"
|
||||
cryptography = "==38.0.4"
|
||||
dj-rest-auth = {version = "2.2.8", extras = ["with-social"]}
|
||||
django = "==3.2.18"
|
||||
django = "==3.2.19"
|
||||
django-allauth = "==0.42.0"
|
||||
django-auth-ldap = "==4.1.0"
|
||||
django-cache-memoize = "0.1.10"
|
||||
|
@ -1436,12 +1438,12 @@ mutagen = "==1.46.0"
|
|||
persisting-theory = "==1.0"
|
||||
pillow = "==9.3.0"
|
||||
pluralizer = "==1.2.0"
|
||||
psycopg2 = "==2.9.5"
|
||||
psycopg2 = "==2.9.6"
|
||||
pydub = "==0.25.1"
|
||||
pyld = "==2.0.3"
|
||||
python-ldap = "==3.4.3"
|
||||
python-magic = "==0.4.27"
|
||||
redis = "==4.5.4"
|
||||
redis = "==4.5.5"
|
||||
requests = "==2.28.2"
|
||||
requests-http-message-signatures = "==0.3.1"
|
||||
sentry-sdk = "==1.19.1"
|
||||
|
@ -1585,14 +1587,14 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "importlib-metadata"
|
||||
version = "6.6.0"
|
||||
version = "6.7.0"
|
||||
description = "Read metadata from Python packages"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
|
||||
{file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
|
||||
{file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
|
||||
{file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
@ -1601,7 +1603,7 @@ zipp = ">=0.5"
|
|||
[package.extras]
|
||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||
perf = ["ipython"]
|
||||
testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
|
||||
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
|
||||
|
||||
[[package]]
|
||||
name = "importlib-resources"
|
||||
|
@ -1944,62 +1946,62 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
|
|||
|
||||
[[package]]
|
||||
name = "markupsafe"
|
||||
version = "2.1.2"
|
||||
version = "2.1.3"
|
||||
description = "Safely add untrusted strings to HTML/XML markup."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
|
||||
{file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
|
||||
{file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
|
||||
{file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
|
||||
{file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
|
||||
{file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
|
||||
{file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
|
||||
{file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
|
||||
{file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
|
||||
{file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
|
||||
{file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
|
||||
{file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
|
||||
{file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2457,25 +2459,25 @@ wcwidth = "*"
|
|||
|
||||
[[package]]
|
||||
name = "psycopg2"
|
||||
version = "2.9.5"
|
||||
version = "2.9.6"
|
||||
description = "psycopg2 - Python-PostgreSQL Database Adapter"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "psycopg2-2.9.5-cp310-cp310-win32.whl", hash = "sha256:d3ef67e630b0de0779c42912fe2cbae3805ebaba30cda27fea2a3de650a9414f"},
|
||||
{file = "psycopg2-2.9.5-cp310-cp310-win_amd64.whl", hash = "sha256:4cb9936316d88bfab614666eb9e32995e794ed0f8f6b3b718666c22819c1d7ee"},
|
||||
{file = "psycopg2-2.9.5-cp311-cp311-win32.whl", hash = "sha256:093e3894d2d3c592ab0945d9eba9d139c139664dcf83a1c440b8a7aa9bb21955"},
|
||||
{file = "psycopg2-2.9.5-cp311-cp311-win_amd64.whl", hash = "sha256:920bf418000dd17669d2904472efeab2b20546efd0548139618f8fa305d1d7ad"},
|
||||
{file = "psycopg2-2.9.5-cp36-cp36m-win32.whl", hash = "sha256:b9ac1b0d8ecc49e05e4e182694f418d27f3aedcfca854ebd6c05bb1cffa10d6d"},
|
||||
{file = "psycopg2-2.9.5-cp36-cp36m-win_amd64.whl", hash = "sha256:fc04dd5189b90d825509caa510f20d1d504761e78b8dfb95a0ede180f71d50e5"},
|
||||
{file = "psycopg2-2.9.5-cp37-cp37m-win32.whl", hash = "sha256:922cc5f0b98a5f2b1ff481f5551b95cd04580fd6f0c72d9b22e6c0145a4840e0"},
|
||||
{file = "psycopg2-2.9.5-cp37-cp37m-win_amd64.whl", hash = "sha256:1e5a38aa85bd660c53947bd28aeaafb6a97d70423606f1ccb044a03a1203fe4a"},
|
||||
{file = "psycopg2-2.9.5-cp38-cp38-win32.whl", hash = "sha256:f5b6320dbc3cf6cfb9f25308286f9f7ab464e65cfb105b64cc9c52831748ced2"},
|
||||
{file = "psycopg2-2.9.5-cp38-cp38-win_amd64.whl", hash = "sha256:1a5c7d7d577e0eabfcf15eb87d1e19314c8c4f0e722a301f98e0e3a65e238b4e"},
|
||||
{file = "psycopg2-2.9.5-cp39-cp39-win32.whl", hash = "sha256:322fd5fca0b1113677089d4ebd5222c964b1760e361f151cbb2706c4912112c5"},
|
||||
{file = "psycopg2-2.9.5-cp39-cp39-win_amd64.whl", hash = "sha256:190d51e8c1b25a47484e52a79638a8182451d6f6dff99f26ad9bd81e5359a0fa"},
|
||||
{file = "psycopg2-2.9.5.tar.gz", hash = "sha256:a5246d2e683a972e2187a8714b5c2cf8156c064629f9a9b1a873c1730d9e245a"},
|
||||
{file = "psycopg2-2.9.6-cp310-cp310-win32.whl", hash = "sha256:f7a7a5ee78ba7dc74265ba69e010ae89dae635eea0e97b055fb641a01a31d2b1"},
|
||||
{file = "psycopg2-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:f75001a1cbbe523e00b0ef896a5a1ada2da93ccd752b7636db5a99bc57c44494"},
|
||||
{file = "psycopg2-2.9.6-cp311-cp311-win32.whl", hash = "sha256:53f4ad0a3988f983e9b49a5d9765d663bbe84f508ed655affdb810af9d0972ad"},
|
||||
{file = "psycopg2-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b81fcb9ecfc584f661b71c889edeae70bae30d3ef74fa0ca388ecda50b1222b7"},
|
||||
{file = "psycopg2-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:11aca705ec888e4f4cea97289a0bf0f22a067a32614f6ef64fcf7b8bfbc53744"},
|
||||
{file = "psycopg2-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:36c941a767341d11549c0fbdbb2bf5be2eda4caf87f65dfcd7d146828bd27f39"},
|
||||
{file = "psycopg2-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:869776630c04f335d4124f120b7fb377fe44b0a7645ab3c34b4ba42516951889"},
|
||||
{file = "psycopg2-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:a8ad4a47f42aa6aec8d061fdae21eaed8d864d4bb0f0cade5ad32ca16fcd6258"},
|
||||
{file = "psycopg2-2.9.6-cp38-cp38-win32.whl", hash = "sha256:2362ee4d07ac85ff0ad93e22c693d0f37ff63e28f0615a16b6635a645f4b9214"},
|
||||
{file = "psycopg2-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:d24ead3716a7d093b90b27b3d73459fe8cd90fd7065cf43b3c40966221d8c394"},
|
||||
{file = "psycopg2-2.9.6-cp39-cp39-win32.whl", hash = "sha256:1861a53a6a0fd248e42ea37c957d36950da00266378746588eab4f4b5649e95f"},
|
||||
{file = "psycopg2-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:ded2faa2e6dfb430af7713d87ab4abbfc764d8d7fb73eafe96a24155f906ebf5"},
|
||||
{file = "psycopg2-2.9.6.tar.gz", hash = "sha256:f15158418fd826831b28585e2ab48ed8df2d0d98f502a2b4fe619e7d5ca29011"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2774,18 +2776,18 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "redis"
|
||||
version = "4.5.4"
|
||||
version = "4.5.5"
|
||||
description = "Python client for Redis database and key-value store"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "redis-4.5.4-py3-none-any.whl", hash = "sha256:2c19e6767c474f2e85167909061d525ed65bea9301c0770bb151e041b7ac89a2"},
|
||||
{file = "redis-4.5.4.tar.gz", hash = "sha256:73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"},
|
||||
{file = "redis-4.5.5-py3-none-any.whl", hash = "sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119"},
|
||||
{file = "redis-4.5.5.tar.gz", hash = "sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""}
|
||||
async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""}
|
||||
|
||||
[package.extras]
|
||||
hiredis = ["hiredis (>=1.0.0)"]
|
||||
|
@ -2935,14 +2937,14 @@ tests = ["coverage[toml] (>=5.0.2)", "pytest"]
|
|||
|
||||
[[package]]
|
||||
name = "setuptools"
|
||||
version = "67.8.0"
|
||||
version = "68.0.0"
|
||||
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
|
||||
{file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
|
||||
{file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"},
|
||||
{file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
|
@ -3913,4 +3915,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
|
|||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.8"
|
||||
content-hash = "be4da5013e5048931e893faae2e12a0737dcc0bfabcbc116eb275737ab1e8d8b"
|
||||
content-hash = "7be337d87db6d99fb4e16da440b325addc5bf156a873d8939a5ce3d10dbd6e03"
|
||||
|
|
|
@ -13,9 +13,9 @@ sphinx_design = "==0.3.0"
|
|||
sphinx-intl = "2.0.1"
|
||||
sphinx-rtd-theme = "==1.1.1"
|
||||
sphinxcontrib-mermaid = "0.7.1"
|
||||
myst-parser = "==1.0.0"
|
||||
myst-parser = "1.0.0"
|
||||
|
||||
django = "==3.2.18"
|
||||
django = "==3.2.19"
|
||||
django-environ = "==0.10.0"
|
||||
funkwhale-api = {path = "../api"}
|
||||
sphinx-copybutton = "==0.5.2"
|
||||
|
|
|
@ -39,7 +39,7 @@ backup.html, ../administrator/upgrade/backup.html
|
|||
admin/migration.html, ../administrator/installation/migrate.html
|
||||
admin/commands.html, ../administrator/manage-script/index.html
|
||||
admin/mrf.html, ../administrator/configuration/mrf.html
|
||||
admin/url.html, ../administrator/configuration/change_url.html
|
||||
admin/url.html, ../administrator/configuration/change-url.html
|
||||
admin/optimization.html, ../administrator/configuration/optimize.html
|
||||
architecture.html, ../developer/architecture.html
|
||||
contributing.html, ../developer/index.html
|
||||
|
@ -52,3 +52,4 @@ documentation/index.html, ../contributor/documentation.html
|
|||
translators.html, ../contributor/translation.html
|
||||
federation.html, ../developer/federation/index.html
|
||||
upgrading.html, ../administrator/upgrade/index.html
|
||||
administrator_documentation/upgrade_docs/docker.html, ../../administrator/upgrade/docker.html
|
||||
|
|
|
@ -97,6 +97,12 @@ server {
|
|||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# Allow direct access to only specific subdirectories in /media
|
||||
location /media/dynamic_preferences/ {
|
||||
alias ${MEDIA_ROOT}/dynamic_preferences/;
|
||||
add_header Access-Control-Allow-Origin '*';
|
||||
}
|
||||
|
||||
# This is an internal location that is used to serve
|
||||
# media (uploaded) files once correct permission / authentication
|
||||
# has been checked on API side.
|
||||
|
@ -122,6 +128,7 @@ server {
|
|||
}
|
||||
|
||||
location /manifest.json {
|
||||
return 302 /api/v1/instance/spa-manifest.json;
|
||||
# If the reverse proxy is terminating SSL, nginx gets confused and redirects to http, hence the full URL
|
||||
return 302 ${FUNKWHALE_PROTOCOL}://${FUNKWHALE_HOSTNAME}/api/v1/instance/spa-manifest.json;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<meta name="apple-mobile-web-app-title" content="Funkwhale">
|
||||
<meta name="application-name" content="Funkwhale">
|
||||
<meta name="msapplication-TileColor" content="#009fe3">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta name="theme-color" content="#f2711c">
|
||||
<style>
|
||||
#fake-app {
|
||||
width: 100vw;
|
||||
|
|
|
@ -33,22 +33,22 @@
|
|||
"focus-trap": "7.2.0",
|
||||
"fomantic-ui-css": "2.9.2",
|
||||
"howler": "2.2.3",
|
||||
"idb-keyval": "6.2.0",
|
||||
"idb-keyval": "6.2.1",
|
||||
"js-logger": "1.6.1",
|
||||
"lodash-es": "4.17.21",
|
||||
"lru-cache": "7.14.1",
|
||||
"moment": "2.29.4",
|
||||
"showdown": "2.1.0",
|
||||
"standardized-audio-context": "25.3.41",
|
||||
"standardized-audio-context": "25.3.53",
|
||||
"text-clipper": "2.2.0",
|
||||
"transliteration": "2.3.5",
|
||||
"universal-cookie": "4.0.4",
|
||||
"vue": "3.3.2",
|
||||
"vue-gettext": "2.1.12",
|
||||
"vue-i18n": "9.3.0-beta.16",
|
||||
"vue-i18n": "9.3.0-beta.19",
|
||||
"vue-router": "4.2.2",
|
||||
"vue-upload-component": "3.1.6",
|
||||
"vue-virtual-scroller": "2.0.0-beta.7",
|
||||
"vue-upload-component": "3.1.8",
|
||||
"vue-virtual-scroller": "2.0.0-beta.8",
|
||||
"vue3-gettext": "2.3.4",
|
||||
"vue3-lazyload": "0.3.6",
|
||||
"vuedraggable": "4.1.0",
|
||||
|
|
|
@ -17,6 +17,7 @@ export interface Sound {
|
|||
readonly audioNode: IAudioNode<IAudioContext>
|
||||
readonly isErrored: Ref<boolean>
|
||||
readonly isLoaded: Ref<boolean>
|
||||
readonly isDisposed: Ref<boolean>
|
||||
readonly currentTime: number
|
||||
readonly playable: boolean
|
||||
readonly duration: number
|
||||
|
@ -51,6 +52,7 @@ export class HTMLSound implements Sound {
|
|||
|
||||
readonly isErrored = ref(false)
|
||||
readonly isLoaded = ref(false)
|
||||
readonly isDisposed = ref(false)
|
||||
|
||||
audioNode = createAudioSource(this.#audio)
|
||||
onSoundLoop: EventHookOn<HTMLSound>
|
||||
|
@ -112,12 +114,15 @@ export class HTMLSound implements Sound {
|
|||
}
|
||||
|
||||
async preload () {
|
||||
this.isDisposed.value = false
|
||||
this.isErrored.value = false
|
||||
console.log('CALLING PRELOAD ON', this)
|
||||
this.#audio.load()
|
||||
}
|
||||
|
||||
async dispose () {
|
||||
if (this.isDisposed.value) return
|
||||
|
||||
// Remove all event listeners
|
||||
this.#scope.stop()
|
||||
|
||||
|
@ -128,10 +133,17 @@ export class HTMLSound implements Sound {
|
|||
// Cancel any request downloading the source
|
||||
this.#audio.src = ''
|
||||
this.#audio.load()
|
||||
|
||||
this.isDisposed.value = true
|
||||
}
|
||||
|
||||
async play () {
|
||||
return this.#audio.play()
|
||||
try {
|
||||
await this.#audio.play()
|
||||
} catch (err) {
|
||||
console.error('>> AUDIO PLAY ERROR', err, this)
|
||||
this.isErrored.value = true
|
||||
}
|
||||
}
|
||||
|
||||
async pause () {
|
||||
|
|
|
@ -33,7 +33,7 @@ const suggestedInstances = computed(() => {
|
|||
...store.state.instance.knownInstances,
|
||||
serverUrl.endsWith('/') ? serverUrl : serverUrl + '/',
|
||||
store.getters['instance/defaultInstance']
|
||||
]).slice(1)
|
||||
])
|
||||
})
|
||||
|
||||
watch(() => store.state.instance.instanceUrl, () => store.dispatch('instance/fetchSettings'))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { computed, ref, reactive, watch, watchEffect, onMounted } from 'vue'
|
||||
import { computed, ref, reactive, watch, onMounted } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
|
@ -84,7 +84,11 @@ const fetchCandidates = async () => {
|
|||
}
|
||||
}
|
||||
|
||||
watch(filters, fetchCandidates)
|
||||
// NOTE: Whenever we modify filters array, we refetch the candidates automatically
|
||||
watch(filters, fetchCandidates, {
|
||||
deep: true
|
||||
})
|
||||
|
||||
const checkErrors = computed(() => checkResult.value?.errors ?? [])
|
||||
|
||||
const isPublic = ref(true)
|
||||
|
@ -107,6 +111,7 @@ const fetchFilters = async () => {
|
|||
}
|
||||
}
|
||||
|
||||
let filterId = Number.MIN_SAFE_INTEGER
|
||||
const isLoading = ref(false)
|
||||
const fetchData = async () => {
|
||||
isLoading.value = true
|
||||
|
@ -114,10 +119,10 @@ const fetchData = async () => {
|
|||
try {
|
||||
const response = await axios.get(`radios/radios/${props.id}/`)
|
||||
filters.length = 0
|
||||
filters.push(...response.data.config.map((filter: FilterConfig) => ({
|
||||
config: filter,
|
||||
filter: availableFilters.find(available => available.type === filter.type),
|
||||
hash: +new Date()
|
||||
filters.push(...response.data.config.map((config: FilterConfig) => ({
|
||||
config,
|
||||
filter: availableFilters.find(available => available.type === config.type),
|
||||
hash: filterId++
|
||||
})))
|
||||
|
||||
radioName.value = response.data.name
|
||||
|
@ -130,28 +135,19 @@ const fetchData = async () => {
|
|||
isLoading.value = false
|
||||
}
|
||||
|
||||
fetchFilters().then(() => watchEffect(fetchData))
|
||||
fetchFilters().then(() => fetchData())
|
||||
|
||||
const add = async () => {
|
||||
if (currentFilter.value) {
|
||||
filters.push({
|
||||
config: {} as FilterConfig,
|
||||
filter: currentFilter.value,
|
||||
hash: +new Date()
|
||||
})
|
||||
}
|
||||
|
||||
return fetchCandidates()
|
||||
}
|
||||
|
||||
const updateConfig = async (index: number, field: keyof FilterConfig, value: unknown) => {
|
||||
filters[index].config[field] = value
|
||||
return fetchCandidates()
|
||||
if (!currentFilter.value) return
|
||||
filters.push({
|
||||
config: {} as FilterConfig,
|
||||
filter: currentFilter.value,
|
||||
hash: +new Date()
|
||||
})
|
||||
}
|
||||
|
||||
const deleteFilter = async (index: number) => {
|
||||
filters.splice(index, 1)
|
||||
return fetchCandidates()
|
||||
}
|
||||
|
||||
const success = ref(false)
|
||||
|
@ -325,11 +321,8 @@ onMounted(() => {
|
|||
<builder-filter
|
||||
v-for="(f, index) in filters"
|
||||
:key="f.hash"
|
||||
:index="index"
|
||||
:config="f.config"
|
||||
:filter="f.filter"
|
||||
@update-config="updateConfig"
|
||||
@delete="deleteFilter"
|
||||
v-model:data="filters[index]"
|
||||
@delete="deleteFilter(index)"
|
||||
/>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -6,8 +6,8 @@ import type { Track } from '~/types'
|
|||
import axios from 'axios'
|
||||
import $ from 'jquery'
|
||||
|
||||
import { useCurrentElement } from '@vueuse/core'
|
||||
import { ref, onMounted, watch } from 'vue'
|
||||
import { useCurrentElement, useVModel } from '@vueuse/core'
|
||||
import { ref, onMounted, watch, computed } from 'vue'
|
||||
import { useStore } from '~/store'
|
||||
import { clone } from 'lodash-es'
|
||||
|
||||
|
@ -20,35 +20,33 @@ type Filter = { candidates: { count: number, sample: Track[] } }
|
|||
type ResponseType = { filters: Array<Filter> }
|
||||
|
||||
interface Events {
|
||||
(e: 'update-config', index: number, name: string, value: number[] | boolean): void
|
||||
(e: 'delete', index: number): void
|
||||
(e: 'update:data', name: string, value: number[] | boolean): void
|
||||
(e: 'delete'): void
|
||||
}
|
||||
|
||||
interface Props {
|
||||
index: number
|
||||
|
||||
filter: BuilderFilter
|
||||
config: FilterConfig
|
||||
data: {
|
||||
filter: BuilderFilter
|
||||
config: FilterConfig
|
||||
}
|
||||
}
|
||||
|
||||
const emit = defineEmits<Events>()
|
||||
const props = defineProps<Props>()
|
||||
const data = useVModel(props, 'data', emit)
|
||||
|
||||
const store = useStore()
|
||||
|
||||
const checkResult = ref<Filter | null>(null)
|
||||
const showCandidadesModal = ref(false)
|
||||
const exclude = ref(props.config.not)
|
||||
const exclude = computed({
|
||||
get: () => data.value.config.not,
|
||||
set: (value: boolean) => (data.value.config.not = value)
|
||||
})
|
||||
|
||||
const el = useCurrentElement()
|
||||
onMounted(() => {
|
||||
for (const field of props.filter.fields) {
|
||||
const selector = ['.dropdown']
|
||||
|
||||
if (field.type === 'list') {
|
||||
selector.push('.multiple')
|
||||
}
|
||||
|
||||
for (const field of data.value.filter.fields) {
|
||||
const settings: SemanticUI.DropdownSettings = {
|
||||
onChange (value) {
|
||||
value = $(this).dropdown('get value').split(',')
|
||||
|
@ -57,15 +55,19 @@ onMounted(() => {
|
|||
value = value.map((number: string) => parseInt(number))
|
||||
}
|
||||
|
||||
value.value = value
|
||||
emit('update-config', props.index, field.name, value)
|
||||
data.value.config[field.name] = value
|
||||
fetchCandidates()
|
||||
}
|
||||
}
|
||||
|
||||
let selector = field.type === 'list'
|
||||
? '.dropdown.multiple'
|
||||
: '.dropdown'
|
||||
|
||||
if (field.autocomplete) {
|
||||
selector.push('.autocomplete')
|
||||
// @ts-expect-error custom field?
|
||||
selector += '.autocomplete'
|
||||
|
||||
// @ts-expect-error Semantic UI types are incomplete
|
||||
settings.fields = field.autocomplete_fields
|
||||
settings.minCharacters = 1
|
||||
settings.apiSettings = {
|
||||
|
@ -85,15 +87,15 @@ onMounted(() => {
|
|||
}
|
||||
}
|
||||
|
||||
$(el.value).find(selector.join('')).dropdown(settings)
|
||||
$(el.value).find(selector).dropdown(settings)
|
||||
}
|
||||
})
|
||||
|
||||
const fetchCandidates = async () => {
|
||||
const params = {
|
||||
filters: [{
|
||||
...clone(props.config),
|
||||
type: props.filter.type
|
||||
...clone(data.value.config),
|
||||
type: data.value.filter.type
|
||||
}]
|
||||
}
|
||||
|
||||
|
@ -106,11 +108,12 @@ const fetchCandidates = async () => {
|
|||
}
|
||||
|
||||
watch(exclude, fetchCandidates)
|
||||
fetchCandidates()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<tr>
|
||||
<td>{{ filter.label }}</td>
|
||||
<td>{{ data.filter.label }}</td>
|
||||
<td>
|
||||
<div class="ui toggle checkbox">
|
||||
<input
|
||||
|
@ -118,7 +121,6 @@ watch(exclude, fetchCandidates)
|
|||
v-model="exclude"
|
||||
name="public"
|
||||
type="checkbox"
|
||||
@change="$emit('update-config', index, 'not', exclude)"
|
||||
>
|
||||
<label
|
||||
for="exclude-filter"
|
||||
|
@ -130,33 +132,34 @@ watch(exclude, fetchCandidates)
|
|||
</td>
|
||||
<td>
|
||||
<div
|
||||
v-for="f in filter.fields"
|
||||
v-for="f in data.filter.fields"
|
||||
:key="f.name"
|
||||
class="ui field"
|
||||
>
|
||||
<div :class="['ui', 'search', 'selection', 'dropdown', {'autocomplete': f.autocomplete}, {'multiple': f.type === 'list'}]">
|
||||
<div :class="['ui', 'search', 'selection', 'dropdown', { autocomplete: f.autocomplete }, { multiple: f.type === 'list' }]">
|
||||
<i class="dropdown icon" />
|
||||
<div class="default text">
|
||||
{{ f.placeholder }}
|
||||
</div>
|
||||
<input
|
||||
v-if="f.type === 'list' && config[f.name as keyof FilterConfig]"
|
||||
v-if="f.type === 'list' && data.config[f.name as keyof FilterConfig]"
|
||||
:id="f.name"
|
||||
:value="(config[f.name as keyof FilterConfig] as string[]).join(',')"
|
||||
:value="(data.config[f.name as keyof FilterConfig] as string[]).join(',')"
|
||||
type="hidden"
|
||||
>
|
||||
<div
|
||||
v-if="typeof config[f.name as keyof FilterConfig] === 'object'"
|
||||
v-if="typeof data.config[f.name as keyof FilterConfig] === 'object'"
|
||||
class="ui menu"
|
||||
>
|
||||
<div
|
||||
v-for="(v, i) in config[f.name as keyof FilterConfig] as object"
|
||||
:key="i"
|
||||
v-for="(v, i) in data.config[f.name as keyof FilterConfig] as object"
|
||||
v-once
|
||||
:key="data.config.ids?.[i] ?? v"
|
||||
class="ui item"
|
||||
:data-value="v"
|
||||
>
|
||||
<template v-if="config.names">
|
||||
{{ config.names[i] }}
|
||||
<template v-if="data.config.names">
|
||||
{{ data.config.names[i] }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ v }}
|
||||
|
@ -170,7 +173,7 @@ watch(exclude, fetchCandidates)
|
|||
<a
|
||||
v-if="checkResult"
|
||||
href=""
|
||||
:class="['ui', {'success': checkResult.candidates.count > 10}, 'label']"
|
||||
:class="['ui', { success: checkResult.candidates.count > 10 }, 'label']"
|
||||
@click.prevent="showCandidadesModal = !showCandidadesModal"
|
||||
>
|
||||
{{ $t('components.library.radios.Filter.matchingTracks', checkResult.candidates.count) }}
|
||||
|
@ -200,7 +203,7 @@ watch(exclude, fetchCandidates)
|
|||
<td>
|
||||
<button
|
||||
class="ui danger button"
|
||||
@click="$emit('delete', index)"
|
||||
@click="emit('delete')"
|
||||
>
|
||||
{{ $t('components.library.radios.Filter.removeButton') }}
|
||||
</button>
|
||||
|
|
|
@ -61,9 +61,7 @@ interface TargetType {
|
|||
}
|
||||
|
||||
type Targets = Exclude<StateTarget, undefined>['type']
|
||||
const targets = reactive({
|
||||
track: {}
|
||||
}) as Record<Targets, Record<string, TargetType>>
|
||||
const targets = reactive<Record<Targets, Record<string, TargetType>>>(Object.create(null))
|
||||
|
||||
const fetchTargets = async () => {
|
||||
// we request target data via the API so we can display previous state
|
||||
|
@ -96,6 +94,7 @@ const fetchTargets = async () => {
|
|||
})
|
||||
|
||||
for (const payload of response?.data?.results ?? []) {
|
||||
targets[key as keyof typeof targets] ??= Object.create(null)
|
||||
targets[key as keyof typeof targets][payload.id] = {
|
||||
payload,
|
||||
currentState: configs[key as keyof typeof targets].fields.reduce((state, field) => {
|
||||
|
|
|
@ -324,7 +324,7 @@ export const useQueue = createGlobalState(() => {
|
|||
const clear = async () => {
|
||||
await currentSound.value?.pause()
|
||||
await currentSound.value?.seekTo(0)
|
||||
currentSound.value?.dispose()
|
||||
await currentSound.value?.dispose()
|
||||
|
||||
clearRadio.value = true
|
||||
|
||||
|
|
|
@ -101,6 +101,11 @@ export const useTracks = createGlobalState(() => {
|
|||
setTimeout(() => playNext(), 0)
|
||||
})
|
||||
|
||||
// NOTE: When the sound is disposed, we need to delete it from the cache (#2157)
|
||||
whenever(sound.isDisposed, () => {
|
||||
soundCache.delete(track.id)
|
||||
})
|
||||
|
||||
// NOTE: Bump current track to ensure that it lives despite enqueueing 3 tracks as next track:
|
||||
//
|
||||
// In every queue we have 3 tracks that are cached, in the order, they're being played:
|
||||
|
|
|
@ -7,6 +7,9 @@ import axios from 'axios'
|
|||
import useLogger from '~/composables/useLogger'
|
||||
import useFormData from '~/composables/useFormData'
|
||||
|
||||
import { clear as clearIDB } from 'idb-keyval'
|
||||
import { useQueue } from '~/composables/audio/queue'
|
||||
|
||||
export type Permission = 'settings' | 'library' | 'moderation'
|
||||
export interface State {
|
||||
authenticated: boolean
|
||||
|
@ -167,6 +170,7 @@ const store: Module<State, RootState> = {
|
|||
} catch (error) {
|
||||
console.log('Error while logging out, probably logged in via oauth')
|
||||
}
|
||||
|
||||
const modules = [
|
||||
'auth',
|
||||
'favorites',
|
||||
|
@ -175,9 +179,20 @@ const store: Module<State, RootState> = {
|
|||
'queue',
|
||||
'radios'
|
||||
]
|
||||
modules.forEach(m => {
|
||||
commit(`${m}/reset`, null, { root: true })
|
||||
})
|
||||
|
||||
for (const module of modules) {
|
||||
commit(`${module}/reset`, null, { root: true })
|
||||
}
|
||||
|
||||
// Clear session storage
|
||||
sessionStorage.clear()
|
||||
|
||||
// Clear track queue
|
||||
await useQueue().clear()
|
||||
|
||||
// Clear all indexedDB data
|
||||
await clearIDB()
|
||||
|
||||
logger.info('Log out, goodbye!')
|
||||
},
|
||||
|
||||
|
|
|
@ -126,16 +126,21 @@ const logger = useLogger()
|
|||
// 1. use the url provided in settings.json, if any
|
||||
// 2. use the url specified when building via VUE_APP_INSTANCE_URL
|
||||
// 3. use the current url
|
||||
const instanceUrl = import.meta.env.VUE_APP_INSTANCE_URL as string ?? location.origin
|
||||
let DEFAULT_INSTANCE_URL = `${location.origin}/`
|
||||
try {
|
||||
DEFAULT_INSTANCE_URL = new URL(import.meta.env.VUE_APP_INSTANCE_URL as string).href
|
||||
} catch (e) {
|
||||
logger.warn('Invalid VUE_APP_INSTANCE_URL, falling back to current url', e)
|
||||
}
|
||||
|
||||
const store: Module<State, RootState> = {
|
||||
namespaced: true,
|
||||
state: {
|
||||
frontSettings: {
|
||||
defaultServerUrl: instanceUrl,
|
||||
defaultServerUrl: DEFAULT_INSTANCE_URL,
|
||||
additionalStylesheets: []
|
||||
},
|
||||
instanceUrl,
|
||||
instanceUrl: DEFAULT_INSTANCE_URL,
|
||||
knownInstances: [],
|
||||
nodeinfo: null,
|
||||
settings: {
|
||||
|
@ -190,40 +195,31 @@ const store: Module<State, RootState> = {
|
|||
state.nodeinfo = value
|
||||
},
|
||||
instanceUrl: (state, value) => {
|
||||
if (value && !value.endsWith('/')) {
|
||||
value = value + '/'
|
||||
}
|
||||
try {
|
||||
const { href } = new URL(value)
|
||||
state.instanceUrl = href
|
||||
axios.defaults.baseURL = `${href}api/v1/`
|
||||
|
||||
state.instanceUrl = value
|
||||
|
||||
// append the URL to the list (and remove existing one if needed)
|
||||
if (value) {
|
||||
const index = state.knownInstances.indexOf(value)
|
||||
if (index > -1) {
|
||||
state.knownInstances.splice(index, 1)
|
||||
}
|
||||
state.knownInstances.splice(0, 0, value)
|
||||
}
|
||||
|
||||
if (!value) {
|
||||
// append the URL to the list (and remove existing one if needed)
|
||||
const index = state.knownInstances.indexOf(href)
|
||||
if (index > -1) state.knownInstances.splice(index, 1)
|
||||
state.knownInstances.unshift(href)
|
||||
} catch (e) {
|
||||
logger.error('Invalid instance URL', e)
|
||||
axios.defaults.baseURL = undefined
|
||||
return
|
||||
}
|
||||
const suffix = 'api/v1/'
|
||||
axios.defaults.baseURL = state.instanceUrl + suffix
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
absoluteUrl: (state) => (relativeUrl: string) => {
|
||||
absoluteUrl: (_state, getters) => (relativeUrl: string) => {
|
||||
if (relativeUrl.startsWith('http')) return relativeUrl
|
||||
if (state.instanceUrl?.endsWith('/') && relativeUrl.startsWith('/')) {
|
||||
relativeUrl = relativeUrl.slice(1)
|
||||
}
|
||||
|
||||
return (state.instanceUrl ?? instanceUrl) + relativeUrl
|
||||
return relativeUrl.startsWith('/')
|
||||
? `${getters.url.href}${relativeUrl.slice(1)}`
|
||||
: `${getters.url.href}${relativeUrl}`
|
||||
},
|
||||
domain: (state) => new URL(state.instanceUrl ?? instanceUrl).hostname,
|
||||
defaultInstance: () => instanceUrl
|
||||
url: (state) => new URL(state.instanceUrl ?? DEFAULT_INSTANCE_URL),
|
||||
domain: (_state, getters) => getters.url.hostname,
|
||||
defaultInstance: () => DEFAULT_INSTANCE_URL
|
||||
},
|
||||
actions: {
|
||||
setUrl ({ commit }, url) {
|
||||
|
@ -269,7 +265,7 @@ const store: Module<State, RootState> = {
|
|||
|
||||
for (const [key, value] of Object.entries(response.data as FrontendSettings)) {
|
||||
if (key === 'defaultServerUrl' && !value) {
|
||||
state.frontSettings.defaultServerUrl = instanceUrl
|
||||
state.frontSettings.defaultServerUrl = DEFAULT_INSTANCE_URL
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
body > .modals {
|
||||
z-index: 99999 !important;
|
||||
}
|
||||
|
||||
.modal > .header {
|
||||
text-align: center;
|
||||
|
|
|
@ -31,7 +31,8 @@ syncRef(pageQuery, page, {
|
|||
transform: {
|
||||
ltr: (left) => +left,
|
||||
rtl: (right) => right.toString()
|
||||
}
|
||||
},
|
||||
direction: 'both'
|
||||
})
|
||||
|
||||
const q = useRouteQuery('q', '')
|
||||
|
@ -113,7 +114,7 @@ const currentType = computed(() => types.value.find(({ id }) => id === type.valu
|
|||
const axiosParams = computed(() => {
|
||||
const params = new URLSearchParams({
|
||||
q: query.value,
|
||||
page: page.value as unknown as string,
|
||||
page: pageQuery.value,
|
||||
page_size: paginateBy.value as unknown as string
|
||||
})
|
||||
|
||||
|
@ -171,10 +172,12 @@ const search = async () => {
|
|||
}
|
||||
|
||||
watch(type, () => {
|
||||
if (page.value === 1) return search()
|
||||
page.value = 1
|
||||
search()
|
||||
})
|
||||
|
||||
// NOTE: When we watch `page`, the `pageQuery` value is never updated for some reason
|
||||
watch(pageQuery, search)
|
||||
search()
|
||||
|
||||
const labels = computed(() => ({
|
||||
|
|
|
@ -103,7 +103,8 @@ watch([uuid, object], ([uuid, object], [lastUuid, lastObject]) => {
|
|||
|
||||
const route = useRoute()
|
||||
watchEffect(() => {
|
||||
if (!store.state.auth.authenticated && store.getters['instance/domain'] !== object.value?.actor.domain) {
|
||||
if (!object.value) return
|
||||
if (!store.state.auth.authenticated && store.getters['instance/domain'] !== object.value.actor.domain) {
|
||||
router.push({ name: 'login', query: { next: route.fullPath } })
|
||||
}
|
||||
})
|
||||
|
|
339
front/yarn.lock
339
front/yarn.lock
|
@ -925,7 +925,7 @@
|
|||
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
|
||||
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
|
||||
|
||||
"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.22.3", "@babel/runtime@^7.22.5", "@babel/runtime@^7.8.4":
|
||||
"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.22.5", "@babel/runtime@^7.8.4":
|
||||
version "7.22.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec"
|
||||
integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==
|
||||
|
@ -1185,15 +1185,15 @@
|
|||
"@intlify/shared" "9.2.2"
|
||||
"@intlify/vue-devtools" "9.2.2"
|
||||
|
||||
"@intlify/core-base@9.3.0-beta.16":
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.3.0-beta.16.tgz#bd993fde9c0a96f081a5805a78bece953bfdce9e"
|
||||
integrity sha512-BoAxVoPIJoPKCCMdsuNXKaaJxvetvHrW2KA43IpkwgPd2/w6zPebh/+v8e4zpXKjFVSgcF97zP87KeVcM/Lxwg==
|
||||
"@intlify/core-base@9.3.0-beta.19":
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.3.0-beta.19.tgz#f89de10d183f4352500beb9c844632c96c5308b0"
|
||||
integrity sha512-mlpVZ1w6ZwnP9QZAs+RzGuFMCuYjZPboX3hX7JzhV49vUcsLj0R4667cmcLpPZzXJguIy/zaqbIyoUvLV8HONQ==
|
||||
dependencies:
|
||||
"@intlify/devtools-if" "9.3.0-beta.16"
|
||||
"@intlify/message-compiler" "9.3.0-beta.16"
|
||||
"@intlify/shared" "9.3.0-beta.16"
|
||||
"@intlify/vue-devtools" "9.3.0-beta.16"
|
||||
"@intlify/devtools-if" "9.3.0-beta.19"
|
||||
"@intlify/message-compiler" "9.3.0-beta.19"
|
||||
"@intlify/shared" "9.3.0-beta.19"
|
||||
"@intlify/vue-devtools" "9.3.0-beta.19"
|
||||
|
||||
"@intlify/devtools-if@9.2.2":
|
||||
version "9.2.2"
|
||||
|
@ -1202,12 +1202,12 @@
|
|||
dependencies:
|
||||
"@intlify/shared" "9.2.2"
|
||||
|
||||
"@intlify/devtools-if@9.3.0-beta.16":
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/devtools-if/-/devtools-if-9.3.0-beta.16.tgz#fab2bf0166686e998c9a1539e1eff1e07ee2beb6"
|
||||
integrity sha512-9WXn8YMAnL/DHdoWqCy6yLTXcLFxd8eXB9UNsViQA5JJV7neR+yahr+23X1wP0prhG338MruxAu65khRf+AJCw==
|
||||
"@intlify/devtools-if@9.3.0-beta.19":
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/devtools-if/-/devtools-if-9.3.0-beta.19.tgz#d50265591089456d923e0edfb575985b4b9c0b90"
|
||||
integrity sha512-L4NyqMcuQURejKy9XX0m/2kb37f56NAUvbiXKRx96pahSBclY6T+E0TrKXup0Hx6T0qY55QYGRwyVLeHXIHAMA==
|
||||
dependencies:
|
||||
"@intlify/shared" "9.3.0-beta.16"
|
||||
"@intlify/shared" "9.3.0-beta.19"
|
||||
|
||||
"@intlify/eslint-plugin-vue-i18n@2.0.0":
|
||||
version "2.0.0"
|
||||
|
@ -1238,15 +1238,7 @@
|
|||
"@intlify/shared" "9.2.2"
|
||||
source-map "0.6.1"
|
||||
|
||||
"@intlify/message-compiler@9.3.0-beta.16":
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.16.tgz#335f7bdb06cfb84d04a1a1c1d6eff2532dfd88e7"
|
||||
integrity sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw==
|
||||
dependencies:
|
||||
"@intlify/shared" "9.3.0-beta.16"
|
||||
source-map "0.6.1"
|
||||
|
||||
"@intlify/message-compiler@next":
|
||||
"@intlify/message-compiler@9.3.0-beta.19", "@intlify/message-compiler@next":
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.19.tgz#1b66bf87d15843c9354a0d07d26e417f44b65182"
|
||||
integrity sha512-5RBn5tMOsWh5FqM65IfEJvfpRS8R0lHEUVNDa2rNc9Y7oGEI7swezlbFqU9Kc5FyHy5Kx2jHtdgFIipDwnIYFQ==
|
||||
|
@ -1259,11 +1251,6 @@
|
|||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5"
|
||||
integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==
|
||||
|
||||
"@intlify/shared@9.3.0-beta.16":
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.3.0-beta.16.tgz#74f254dbb7eac633b86d690a341349db29573896"
|
||||
integrity sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig==
|
||||
|
||||
"@intlify/shared@9.3.0-beta.19", "@intlify/shared@next":
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.3.0-beta.19.tgz#090bdd5d6ed1eabbb92ee2f2ead2668edc576596"
|
||||
|
@ -1295,13 +1282,13 @@
|
|||
"@intlify/core-base" "9.2.2"
|
||||
"@intlify/shared" "9.2.2"
|
||||
|
||||
"@intlify/vue-devtools@9.3.0-beta.16":
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/vue-devtools/-/vue-devtools-9.3.0-beta.16.tgz#70a615f56d70e2fcaa91eb1a362c3bca1c553f3e"
|
||||
integrity sha512-rQ/jSW0gBciYLBBi+XN65r80B59Ypege9oqUi+EZ2QpOaK54wDcy1xq9w6Zbj6WpY1qgf34KtYawKIF10mMr6w==
|
||||
"@intlify/vue-devtools@9.3.0-beta.19":
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/vue-devtools/-/vue-devtools-9.3.0-beta.19.tgz#e3053ec984d28028a3ce15cffd74ce1af40c37f7"
|
||||
integrity sha512-7yz8sUbovPUIf8sCX3+sMdw/xEyeHKBCc7Agxcxv54PiQz3zwsVl0hC1X+JXUy46FiPsMEoFfY8O27xOFLupaw==
|
||||
dependencies:
|
||||
"@intlify/core-base" "9.3.0-beta.16"
|
||||
"@intlify/shared" "9.3.0-beta.16"
|
||||
"@intlify/core-base" "9.3.0-beta.19"
|
||||
"@intlify/shared" "9.3.0-beta.19"
|
||||
|
||||
"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
|
||||
version "0.1.3"
|
||||
|
@ -1521,10 +1508,10 @@
|
|||
dependencies:
|
||||
type-detect "4.0.8"
|
||||
|
||||
"@sinonjs/fake-timers@^10.0.2", "@sinonjs/fake-timers@^10.2.0":
|
||||
version "10.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz#b3e322a34c5f26e3184e7f6115695f299c1b1194"
|
||||
integrity sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==
|
||||
"@sinonjs/fake-timers@^10.0.2", "@sinonjs/fake-timers@^10.3.0":
|
||||
version "10.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66"
|
||||
integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==
|
||||
dependencies:
|
||||
"@sinonjs/commons" "^3.0.0"
|
||||
|
||||
|
@ -1665,9 +1652,9 @@
|
|||
axios ">=0.13.0"
|
||||
|
||||
"@types/node@*":
|
||||
version "20.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.0.tgz#719498898d5defab83c3560f45d8498f58d11938"
|
||||
integrity sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ==
|
||||
version "20.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.2.tgz#fa6a90f2600e052a03c18b8cb3fd83dd4e599898"
|
||||
integrity sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==
|
||||
|
||||
"@types/node@^14.14.31":
|
||||
version "14.18.50"
|
||||
|
@ -1925,14 +1912,14 @@
|
|||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^5.0.0":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15"
|
||||
integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz#81382d6ecb92b8dda70e91f9035611cb2fecd1c3"
|
||||
integrity sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==
|
||||
dependencies:
|
||||
"@eslint-community/regexpp" "^4.4.0"
|
||||
"@typescript-eslint/scope-manager" "5.59.9"
|
||||
"@typescript-eslint/type-utils" "5.59.9"
|
||||
"@typescript-eslint/utils" "5.59.9"
|
||||
"@typescript-eslint/scope-manager" "5.60.1"
|
||||
"@typescript-eslint/type-utils" "5.60.1"
|
||||
"@typescript-eslint/utils" "5.60.1"
|
||||
debug "^4.3.4"
|
||||
grapheme-splitter "^1.0.4"
|
||||
ignore "^5.2.0"
|
||||
|
@ -1941,13 +1928,13 @@
|
|||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/parser@^5.0.0":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa"
|
||||
integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.1.tgz#0f2f58209c0862a73e3d5a56099abfdfa21d0fd3"
|
||||
integrity sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "5.59.9"
|
||||
"@typescript-eslint/types" "5.59.9"
|
||||
"@typescript-eslint/typescript-estree" "5.59.9"
|
||||
"@typescript-eslint/scope-manager" "5.60.1"
|
||||
"@typescript-eslint/types" "5.60.1"
|
||||
"@typescript-eslint/typescript-estree" "5.60.1"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@5.48.2":
|
||||
|
@ -1958,13 +1945,13 @@
|
|||
"@typescript-eslint/types" "5.48.2"
|
||||
"@typescript-eslint/visitor-keys" "5.48.2"
|
||||
|
||||
"@typescript-eslint/scope-manager@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4"
|
||||
integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==
|
||||
"@typescript-eslint/scope-manager@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz#35abdb47f500c68c08f2f2b4f22c7c79472854bb"
|
||||
integrity sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.59.9"
|
||||
"@typescript-eslint/visitor-keys" "5.59.9"
|
||||
"@typescript-eslint/types" "5.60.1"
|
||||
"@typescript-eslint/visitor-keys" "5.60.1"
|
||||
|
||||
"@typescript-eslint/type-utils@5.48.2":
|
||||
version "5.48.2"
|
||||
|
@ -1976,13 +1963,13 @@
|
|||
debug "^4.3.4"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/type-utils@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2"
|
||||
integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==
|
||||
"@typescript-eslint/type-utils@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz#17770540e98d65ab4730c7aac618003f702893f4"
|
||||
integrity sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "5.59.9"
|
||||
"@typescript-eslint/utils" "5.59.9"
|
||||
"@typescript-eslint/typescript-estree" "5.60.1"
|
||||
"@typescript-eslint/utils" "5.60.1"
|
||||
debug "^4.3.4"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
|
@ -1991,10 +1978,10 @@
|
|||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e"
|
||||
integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==
|
||||
|
||||
"@typescript-eslint/types@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52"
|
||||
integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==
|
||||
"@typescript-eslint/types@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.60.1.tgz#a17473910f6b8d388ea83c9d7051af89c4eb7561"
|
||||
integrity sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==
|
||||
|
||||
"@typescript-eslint/typescript-estree@5.48.2":
|
||||
version "5.48.2"
|
||||
|
@ -2009,13 +1996,13 @@
|
|||
semver "^7.3.7"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/typescript-estree@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b"
|
||||
integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==
|
||||
"@typescript-eslint/typescript-estree@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz#8c71824b7165b64d5ebd7aa42968899525959834"
|
||||
integrity sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.59.9"
|
||||
"@typescript-eslint/visitor-keys" "5.59.9"
|
||||
"@typescript-eslint/types" "5.60.1"
|
||||
"@typescript-eslint/visitor-keys" "5.60.1"
|
||||
debug "^4.3.4"
|
||||
globby "^11.1.0"
|
||||
is-glob "^4.0.3"
|
||||
|
@ -2036,17 +2023,17 @@
|
|||
eslint-utils "^3.0.0"
|
||||
semver "^7.3.7"
|
||||
|
||||
"@typescript-eslint/utils@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4"
|
||||
integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==
|
||||
"@typescript-eslint/utils@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.60.1.tgz#6861ebedbefba1ac85482d2bdef6f2ff1eb65b80"
|
||||
integrity sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.2.0"
|
||||
"@types/json-schema" "^7.0.9"
|
||||
"@types/semver" "^7.3.12"
|
||||
"@typescript-eslint/scope-manager" "5.59.9"
|
||||
"@typescript-eslint/types" "5.59.9"
|
||||
"@typescript-eslint/typescript-estree" "5.59.9"
|
||||
"@typescript-eslint/scope-manager" "5.60.1"
|
||||
"@typescript-eslint/types" "5.60.1"
|
||||
"@typescript-eslint/typescript-estree" "5.60.1"
|
||||
eslint-scope "^5.1.1"
|
||||
semver "^7.3.7"
|
||||
|
||||
|
@ -2058,12 +2045,12 @@
|
|||
"@typescript-eslint/types" "5.48.2"
|
||||
eslint-visitor-keys "^3.3.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@5.59.9":
|
||||
version "5.59.9"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d"
|
||||
integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==
|
||||
"@typescript-eslint/visitor-keys@5.60.1":
|
||||
version "5.60.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz#19a877358bf96318ec35d90bfe6bd1445cce9434"
|
||||
integrity sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.59.9"
|
||||
"@typescript-eslint/types" "5.60.1"
|
||||
eslint-visitor-keys "^3.3.0"
|
||||
|
||||
"@vitejs/plugin-vue@4.2.3":
|
||||
|
@ -2207,7 +2194,7 @@
|
|||
"@vue/compiler-dom" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.2.1", "@vue/devtools-api@^6.5.0":
|
||||
"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.5.0":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07"
|
||||
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
|
||||
|
@ -2390,9 +2377,9 @@ acorn@^7.1.1, acorn@^7.4.1:
|
|||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||
|
||||
acorn@^8.1.0, acorn@^8.5.0, acorn@^8.8.0, acorn@^8.8.1, acorn@^8.8.2:
|
||||
version "8.8.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
|
||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||
version "8.9.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59"
|
||||
integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==
|
||||
|
||||
agent-base@6:
|
||||
version "6.0.2"
|
||||
|
@ -2564,21 +2551,13 @@ at-least-node@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
||||
|
||||
automation-events@^5.0.2:
|
||||
version "5.0.3"
|
||||
resolved "https://registry.yarnpkg.com/automation-events/-/automation-events-5.0.3.tgz#15feb39cabc96c1d35d9ad31959f3c6a6176a41f"
|
||||
integrity sha512-ZZWTNYJTkGjcJUOBX5P0MHZrArJOkcrQsbyGWwlzJpZs961Y5YvKUw5MsAf8xLlvh7+1B8SO/VTvjMmVXFkD3w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.21.0"
|
||||
tslib "^2.5.0"
|
||||
|
||||
automation-events@^6.0.1, automation-events@^6.0.5:
|
||||
version "6.0.5"
|
||||
resolved "https://registry.yarnpkg.com/automation-events/-/automation-events-6.0.5.tgz#5725ae4655576df2667907f768c88a897892da8e"
|
||||
integrity sha512-HILDp8DRruDqM29WDbpFof+mXMSDdnOlPA07eyVfzHnXrGPbAf5ZLemelbRCrW40BzK8ihIRbZEgVj4+GiM/+A==
|
||||
automation-events@^6.0.1, automation-events@^6.0.6:
|
||||
version "6.0.6"
|
||||
resolved "https://registry.yarnpkg.com/automation-events/-/automation-events-6.0.6.tgz#19981024e1bfc1e393bb786b1a89380114759f06"
|
||||
integrity sha512-0gFiz0TCa0iLm5XBOFtXrcOmA8RB8jOFkj2IWiNnhr0LeahfGQny9ccs1+yYJBJuhKAWUu/lTsXsYELsjvuP0Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.22.5"
|
||||
tslib "^2.5.3"
|
||||
tslib "^2.6.0"
|
||||
|
||||
available-typed-arrays@^1.0.5:
|
||||
version "1.0.5"
|
||||
|
@ -2710,12 +2689,12 @@ braces@^3.0.2, braces@~3.0.2:
|
|||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.21.3, browserslist@^4.21.5:
|
||||
version "4.21.7"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.7.tgz#e2b420947e5fb0a58e8f4668ae6e23488127e551"
|
||||
integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==
|
||||
version "4.21.9"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635"
|
||||
integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001489"
|
||||
electron-to-chromium "^1.4.411"
|
||||
caniuse-lite "^1.0.30001503"
|
||||
electron-to-chromium "^1.4.431"
|
||||
node-releases "^2.0.12"
|
||||
update-browserslist-db "^1.0.11"
|
||||
|
||||
|
@ -2802,10 +2781,10 @@ callsites@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||
|
||||
caniuse-lite@^1.0.30001489:
|
||||
version "1.0.30001499"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001499.tgz#0235c127d9795c82aaf0a7f43e24018549dac659"
|
||||
integrity sha512-IhoQqRrW6WiecFcfZgoJS1YLEN1/HR1vHP5WNgjCARRW7KUNToHHTX3FrwCM+y4zkRa48D9rE90WFYc2IWhDWQ==
|
||||
caniuse-lite@^1.0.30001503:
|
||||
version "1.0.30001508"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz#4461bbc895c692a96da399639cc1e146e7302a33"
|
||||
integrity sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
|
@ -3001,9 +2980,9 @@ cookie@^0.4.0:
|
|||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
core-js-compat@^3.30.1, core-js-compat@^3.30.2:
|
||||
version "3.30.2"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b"
|
||||
integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==
|
||||
version "3.31.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.31.0.tgz#4030847c0766cc0e803dcdfb30055d7ef2064bf1"
|
||||
integrity sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==
|
||||
dependencies:
|
||||
browserslist "^4.21.5"
|
||||
|
||||
|
@ -3297,10 +3276,10 @@ ejs@^3.1.6:
|
|||
dependencies:
|
||||
jake "^10.8.5"
|
||||
|
||||
electron-to-chromium@^1.4.411:
|
||||
version "1.4.427"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz#67e8069f7a864fc092fe2e09f196e68af5cb88a1"
|
||||
integrity sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==
|
||||
electron-to-chromium@^1.4.431:
|
||||
version "1.4.441"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.441.tgz#94dd9c1cbf081d83f032a4f1cd9f787e21fc24ce"
|
||||
integrity sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
|
@ -4286,12 +4265,10 @@ iconv-lite@0.6.3:
|
|||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3.0.0"
|
||||
|
||||
idb-keyval@6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.0.tgz#3af94a3cc0689d6ee0bc9e045d2a3340ea897173"
|
||||
integrity sha512-uw+MIyQn2jl3+hroD7hF8J7PUviBU7BPKWw4f/ISf32D4LoGu98yHjrzWWJDASu9QNrX10tCJqk9YY0ClWm8Ng==
|
||||
dependencies:
|
||||
safari-14-idb-fix "^3.0.0"
|
||||
idb-keyval@6.2.1:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33"
|
||||
integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==
|
||||
|
||||
idb@^7.0.1:
|
||||
version "7.1.1"
|
||||
|
@ -5577,9 +5554,9 @@ rollup@^2.43.1:
|
|||
fsevents "~2.3.2"
|
||||
|
||||
rollup@^3.21.0, rollup@^3.7.2:
|
||||
version "3.25.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.25.0.tgz#71327d396a9decbf23c87b55916ae7204211738a"
|
||||
integrity sha512-FnJkNRst2jEZGw7f+v4hFo6UTzpDKrAKcHZWcEfm5/GJQ5CK7wgb4moNLNAe7npKUev7yQn1AY/YbZRIxOv6Qg==
|
||||
version "3.25.3"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.25.3.tgz#f9a8986f0f244bcfde2208da91ba46b8fd252551"
|
||||
integrity sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
|
@ -5597,11 +5574,6 @@ rxjs@^7.5.1:
|
|||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
safari-14-idb-fix@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/safari-14-idb-fix/-/safari-14-idb-fix-3.0.0.tgz#450fc049b996ec7f3fd9ca2f89d32e0761583440"
|
||||
integrity sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==
|
||||
|
||||
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||
|
@ -5642,7 +5614,14 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
|||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8:
|
||||
semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8:
|
||||
version "7.5.3"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e"
|
||||
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@^7.3.2:
|
||||
version "7.5.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec"
|
||||
integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==
|
||||
|
@ -5707,12 +5686,12 @@ sinon@15.0.2:
|
|||
supports-color "^7.2.0"
|
||||
|
||||
sinon@^15.0.4:
|
||||
version "15.1.0"
|
||||
resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.1.0.tgz#87656841545f7c63bd1e291df409fafd0e9aec09"
|
||||
integrity sha512-cS5FgpDdE9/zx7no8bxROHymSlPLZzq0ChbbLk1DrxBfc+eTeBK3y8nIL+nu/0QeYydhhbLIr7ecHJpywjQaoQ==
|
||||
version "15.2.0"
|
||||
resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.2.0.tgz#5e44d4bc5a9b5d993871137fd3560bebfac27565"
|
||||
integrity sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==
|
||||
dependencies:
|
||||
"@sinonjs/commons" "^3.0.0"
|
||||
"@sinonjs/fake-timers" "^10.2.0"
|
||||
"@sinonjs/fake-timers" "^10.3.0"
|
||||
"@sinonjs/samsam" "^8.0.0"
|
||||
diff "^5.1.0"
|
||||
nise "^5.1.4"
|
||||
|
@ -5808,23 +5787,14 @@ standardized-audio-context-mock@9.6.18:
|
|||
tslib "^2.5.0"
|
||||
vehicles "^9.0.1"
|
||||
|
||||
standardized-audio-context@25.3.41:
|
||||
version "25.3.41"
|
||||
resolved "https://registry.yarnpkg.com/standardized-audio-context/-/standardized-audio-context-25.3.41.tgz#42689e0653698bba13705e220b78fe1f9cf458da"
|
||||
integrity sha512-NCKY1kLCGN37dnCCIG4NX1LHWRgONvIU6u6GS3nzhMM9CV/M+GR48uIeojjeJBSICfWXfQ+t2N1MTdsgJz3wlA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.21.0"
|
||||
automation-events "^5.0.2"
|
||||
tslib "^2.5.0"
|
||||
|
||||
standardized-audio-context@^25.3.46:
|
||||
version "25.3.52"
|
||||
resolved "https://registry.yarnpkg.com/standardized-audio-context/-/standardized-audio-context-25.3.52.tgz#46683a8230c065dcb00c33ba336df2d7d31a7406"
|
||||
integrity sha512-rVWhfpVwsgmWgx+rb+K8st+nTPiceKCe+/J6RYzFIGsvbAWIM9k0IRMpQXFv7Pysvze9WRFIrnhtwMmfJhw0Xg==
|
||||
standardized-audio-context@25.3.53, standardized-audio-context@^25.3.46:
|
||||
version "25.3.53"
|
||||
resolved "https://registry.yarnpkg.com/standardized-audio-context/-/standardized-audio-context-25.3.53.tgz#b7366724ed95913ed75f235e8cbeffcce5694db7"
|
||||
integrity sha512-uLtKsl/ZDPCwKqw8lzPtJXQJYp4uF4E9A2srNMj6nxmvFaZbJPx0X9pWuYcV/kMsmlIkRxBpofyDG1AdodW0fA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.22.5"
|
||||
automation-events "^6.0.5"
|
||||
tslib "^2.5.3"
|
||||
automation-events "^6.0.6"
|
||||
tslib "^2.6.0"
|
||||
|
||||
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
|
@ -5951,9 +5921,9 @@ symbol-tree@^3.2.4:
|
|||
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
||||
|
||||
tabbable@^6.0.1:
|
||||
version "6.1.2"
|
||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.1.2.tgz#b0d3ca81d582d48a80f71b267d1434b1469a3703"
|
||||
integrity sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
|
||||
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
|
||||
|
||||
temp-dir@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
@ -5971,9 +5941,9 @@ tempy@^0.6.0:
|
|||
unique-string "^2.0.0"
|
||||
|
||||
terser@^5.0.0:
|
||||
version "5.17.7"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.7.tgz#2a8b134826fe179b711969fd9d9a0c2479b2a8c3"
|
||||
integrity sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==
|
||||
version "5.18.2"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948"
|
||||
integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==
|
||||
dependencies:
|
||||
"@jridgewell/source-map" "^0.3.3"
|
||||
acorn "^8.8.2"
|
||||
|
@ -6097,11 +6067,16 @@ tslib@^1.8.1, tslib@^1.9.3:
|
|||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.5.3:
|
||||
tslib@^2.1.0:
|
||||
version "2.5.3"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913"
|
||||
integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==
|
||||
|
||||
tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.3, tslib@^2.6.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
|
||||
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
|
||||
|
||||
tsutils@^3.21.0:
|
||||
version "3.21.0"
|
||||
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
|
||||
|
@ -6305,13 +6280,13 @@ v8-to-istanbul@^9.0.0:
|
|||
convert-source-map "^1.6.0"
|
||||
|
||||
vehicles@^9.0.1:
|
||||
version "9.0.4"
|
||||
resolved "https://registry.yarnpkg.com/vehicles/-/vehicles-9.0.4.tgz#3272981324823f97801daed709ab638f775a5b7b"
|
||||
integrity sha512-s6iOudyZzhaXa3kCN9KuY0rQtO7l7FXD4APctKb7HN0i79bXjJb9VC4a9dKd1T2n7RmnkracFZG0WU4UfLt28Q==
|
||||
version "9.0.5"
|
||||
resolved "https://registry.yarnpkg.com/vehicles/-/vehicles-9.0.5.tgz#573d1920c43675bd2e09c6131f7333e7e4b9f2e6"
|
||||
integrity sha512-bu/ThqkuMSLTVT3/2QMVWbwZJ26h0p0qNWUEIqNcsjbLMEe7qKRbsYxS4FFSaStXbl44fdvuYfv6uFd+ZW84hQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.22.3"
|
||||
"@babel/runtime" "^7.22.5"
|
||||
decimal.js "^10.4.3"
|
||||
tslib "^2.5.2"
|
||||
tslib "^2.5.3"
|
||||
|
||||
verror@1.10.0:
|
||||
version "1.10.0"
|
||||
|
@ -6405,15 +6380,15 @@ vue-gettext@2.1.12:
|
|||
resolved "https://registry.yarnpkg.com/vue-gettext/-/vue-gettext-2.1.12.tgz#444d3220149b17fa4c7caeded3f12d439b698f33"
|
||||
integrity sha512-7Kw36xtKvARp8ZafQGPK9WR6EM+dhFUikR5f0+etSkiHuvUM3yf1HsRDLYoLLdJ0AMaXxKwgekumzvCk6KX8rA==
|
||||
|
||||
vue-i18n@9.3.0-beta.16:
|
||||
version "9.3.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.3.0-beta.16.tgz#7d48c2a16087e47e388e1cd43a95ae38071a8c3d"
|
||||
integrity sha512-huhBeRB0SEvv2gIgCS7Zo06nb8AAhbPQCoB/vwDfbDNs8F+giv9QCmhEed+TkLTih/54JGnXkxN6tw1VZqVY/w==
|
||||
vue-i18n@9.3.0-beta.19:
|
||||
version "9.3.0-beta.19"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.3.0-beta.19.tgz#d660d9b342322d8c3ae62965bf6957ff8e52607b"
|
||||
integrity sha512-1pbEcoAbxaAPuR5hODnQJ5CtIimnVD+aUVnCztuuRaOZPLP1i4FxkWVvb1lu8JIRC5pePyODZxi3yoy3PUYheA==
|
||||
dependencies:
|
||||
"@intlify/core-base" "9.3.0-beta.16"
|
||||
"@intlify/shared" "9.3.0-beta.16"
|
||||
"@intlify/vue-devtools" "9.3.0-beta.16"
|
||||
"@vue/devtools-api" "^6.2.1"
|
||||
"@intlify/core-base" "9.3.0-beta.19"
|
||||
"@intlify/shared" "9.3.0-beta.19"
|
||||
"@intlify/vue-devtools" "9.3.0-beta.19"
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
|
||||
vue-observe-visibility@^2.0.0-alpha.1:
|
||||
version "2.0.0-alpha.1"
|
||||
|
@ -6449,15 +6424,15 @@ vue-tsc@1.6.5:
|
|||
"@volar/vue-typescript" "1.6.5"
|
||||
semver "^7.3.8"
|
||||
|
||||
vue-upload-component@3.1.6:
|
||||
version "3.1.6"
|
||||
resolved "https://registry.yarnpkg.com/vue-upload-component/-/vue-upload-component-3.1.6.tgz#38c9c750b9177c897795a9979c45b7def6e5b374"
|
||||
integrity sha512-MAQ0UCZ39/Y54yJc/K3JdVg2h/IcKMaJISG6CD6y3zacAbVb7YtNz2rYE/zpnyDez+9IOygEvwX8TtUgsl3YGg==
|
||||
vue-upload-component@3.1.8:
|
||||
version "3.1.8"
|
||||
resolved "https://registry.yarnpkg.com/vue-upload-component/-/vue-upload-component-3.1.8.tgz#6c79aaf3c34c596ec40bbdde0f625d4855fb275a"
|
||||
integrity sha512-8LHCrgmEZPg+1hbkKjQgMce2uasmGLEnIsLE8YG+vNyfNDuaQA71T+5t6kdDSG/szeh+E8mjb26uEd9WkVSFtg==
|
||||
|
||||
vue-virtual-scroller@2.0.0-beta.7:
|
||||
version "2.0.0-beta.7"
|
||||
resolved "https://registry.yarnpkg.com/vue-virtual-scroller/-/vue-virtual-scroller-2.0.0-beta.7.tgz#4ea8158638c84b2033b001a8b26c5fcb6896b271"
|
||||
integrity sha512-OrouVj1i2939jaLjVfu8f5fsDlbzhAb4bOsYZYrAkpcVLylAmMoGtIL7eT3hJrdTiaKbwQpRdnv7DKf9Fn+tHg==
|
||||
vue-virtual-scroller@2.0.0-beta.8:
|
||||
version "2.0.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/vue-virtual-scroller/-/vue-virtual-scroller-2.0.0-beta.8.tgz#eeceda57e4faa5ba1763994c873923e2a956898b"
|
||||
integrity sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==
|
||||
dependencies:
|
||||
mitt "^2.1.0"
|
||||
vue-observe-visibility "^2.0.0-alpha.1"
|
||||
|
|
Loading…
Reference in New Issue