## TODO
- [x] add expire to peers registry hash in redis, as for now when the
server closes the connection we have extra users (edit: we cleaned
manually, as HEXPIRE is not available in FOSS version of Redis)
- [x] make that the peer uuid is created by the client, so when it
reconnects, it uses the same, and does not create a new one
- [ ] see if we can use a connection_pool
- [x] use dynamic websocket_uri (that must include the map id)
- [x] integrate Redis in playwright tests
Bumps [rcssmin](https://github.com/ndparker/rcssmin) from 1.1.3 to
1.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ndparker/rcssmin/blob/master/CHANGES">rcssmin's
changelog</a>.</em></p>
<blockquote>
<p>Changes with version 1.2.0</p>
<p>*) Add support for nesting selector (&)</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.3</p>
<p>*) Add support for Python 3.13</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.2</p>
<p>*) Add support for Python 3.12</p>
<p>*) Add musllinux wheels</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.1</p>
<p>*) Add support for Python 3.11</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.0</p>
<p>*) quoted data urls which are not base64 encoded keep their spaces
now (<a
href="https://redirect.github.com/ndparker/rcssmin/issues/8">#8</a>)</p>
<p>*) Add x86_64, i686 and aarch64 wheels</p>
<p>*) Update python support: 2.7, 3.6+</p>
<p>*) Both python 2 and 3 now accept bytes and text as input. All other
types now
raise a TypeError. Before they possibly have been converted to a string,
depending on the python version and the implementation. Python 3 also
accepts bytearray input.</p>
<p>*) Support for PyPy and Jython is no longer tested. Patches are
accepted,
though.</p>
<p>*) The python version will only accept the C implementation if the
versions
match exactly. This should prevent using older installed C versions.
Fixes <a
href="https://redirect.github.com/ndparker/rcssmin/issues/11">#11</a>.
This issue is now more relevant since <a
href="https://redirect.github.com/ndparker/rcssmin/issues/7">#7</a> is
fixed.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5396f5ec39"><code>5396f5e</code></a>
Bump version to 1.2.0</li>
<li><a
href="81da21987b"><code>81da219</code></a>
Update benchmarks</li>
<li><a
href="1f9ff6d2d8"><code>1f9ff6d</code></a>
Add support for nesting selector (&)</li>
<li><a
href="eac70b68c2"><code>eac70b6</code></a>
Add pyproject.toml, update dependencies</li>
<li><a
href="c1beaf0f1c"><code>c1beaf0</code></a>
update gpg info</li>
<li>See full diff in <a
href="https://github.com/ndparker/rcssmin/compare/1.1.3...1.2.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Bumps [djlint](https://github.com/djlint/djLint) from 1.35.2 to 1.36.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/djlint/djLint/releases">djlint's
releases</a>.</em></p>
<blockquote>
<h2>v1.36.1</h2>
<ul>
<li>Improve performance by ~30%. Thanks, <a
href="https://github.com/oliverhaas"><code>@oliverhaas</code></a>.</li>
</ul>
<h2>v1.36.0</h2>
<h3>Feature</h3>
<ul>
<li>Add support for <code>djlint.toml</code> config file. The format is
identical to <code>pyproject.toml</code>, but it does not use
<code>[tool.djlint]</code> table.</li>
</ul>
<h3>Fix</h3>
<ul>
<li>Do not format HTML in attributes. Thanks, <a
href="https://github.com/oliverhaas"><code>@oliverhaas</code></a>.</li>
<li>Fix using <code>js_config</code> instead of
<code>css_config</code>.</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Increase performance by ~30% by using regex more efficiently and
caching more stuff.</li>
</ul>
<h2>v1.35.4</h2>
<p>Compiled <a
href="https://mypyc.readthedocs.io/en/stable/introduction.html">mypyc</a>
wheels are now also available, which improve performance by ~21% over
Pure Python. They will be automatically installed by your package
manager when available for your platform. Pure Python wheel is still
available.</p>
<p>Other changes have been made to improve performance, thanks to <a
href="https://github.com/JCWasmx86"><code>@JCWasmx86</code></a>. See
the <a
href="https://github.com/djlint/djLint/compare/v1.35.3...v1.35.4">commits</a>
for more details.</p>
<p>Formatting performance comparison with the previous version (tested
on <a
href="https://github.com/openedx/edx-platform">https://github.com/openedx/edx-platform</a>
with single thread):</p>
<table>
<thead>
<tr>
<th>Version</th>
<th>Seconds</th>
</tr>
</thead>
<tbody>
<tr>
<td>v1.35.3</td>
<td>20.39</td>
</tr>
<tr>
<td>v1.35.4 pure Python</td>
<td>14.39</td>
</tr>
<tr>
<td>v1.35.4 compiled</td>
<td>11.35</td>
</tr>
</tbody>
</table>
<h2>v1.35.3</h2>
<p>This release significantly improves performance, especially for large
files and large projects.</p>
<p>Formatting <a
href="https://github.com/openedx/edx-platform">https://github.com/openedx/edx-platform</a>
took 87 seconds in the previous version, now it takes only 4 seconds
(>2000% speedup)! Tested on a 32-core computer.</p>
<ul>
<li>Performance improved by caching some functions. Thanks to <a
href="https://github.com/JCWasmx86"><code>@JCWasmx86</code></a>!</li>
<li>Removed the limitation on the number of workers introduced in
v1.35.0.</li>
<li>Drop Python 3.8 support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/djlint/djLint/blob/master/CHANGELOG.md">djlint's
changelog</a>.</em></p>
<blockquote>
<h2>[1.36.1] - 2024-11-07</h2>
<ul>
<li>Improve performance by ~30%. Thanks, <a
href="https://github.com/oliverhaas"><code>@oliverhaas</code></a>.</li>
</ul>
<h2>[1.36.0] - 2024-11-05</h2>
<h3>Feature</h3>
<ul>
<li>Add support for <code>djlint.toml</code> config file. The format is
identical to <code>pyproject.toml</code>, but it does not use
<code>[tool.djlint]</code> table.</li>
</ul>
<h3>Fix</h3>
<ul>
<li>Do not format HTML in attributes. Thanks, <a
href="https://github.com/oliverhaas"><code>@oliverhaas</code></a>.</li>
<li>Fix using <code>js_config</code> instead of
<code>css_config</code>.</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Increase performance by ~30% by using regex more efficiently and
caching more stuff.</li>
</ul>
<h2>[1.35.4] - 2024-11-01</h2>
<p>Compiled <a
href="https://mypyc.readthedocs.io/en/stable/introduction.html">mypyc</a>
wheels are now also available, which improve performance by ~21% over
Pure Python. They will be automatically installed by your package
manager when available for your platform. Pure Python wheel is still
available.</p>
<p>Other changes have been made to improve performance, thanks to <a
href="https://github.com/JCWasmx86"><code>@JCWasmx86</code></a>. See
the <a
href="https://github.com/djlint/djLint/compare/v1.35.3...v1.35.4">commits</a>
for more details.</p>
<p>Formatting performance comparison with the previous version (tested
on <a
href="https://github.com/openedx/edx-platform">https://github.com/openedx/edx-platform</a>
with single thread):</p>
<table>
<thead>
<tr>
<th>Version</th>
<th>Seconds</th>
</tr>
</thead>
<tbody>
<tr>
<td>v1.35.3</td>
<td>20.39</td>
</tr>
<tr>
<td>v1.35.4 pure Python</td>
<td>14.39</td>
</tr>
<tr>
<td>v1.35.4 compiled</td>
<td>11.35</td>
</tr>
</tbody>
</table>
<h2>[1.35.3] - 2024-10-30</h2>
<p>This release significantly improves performance, especially for large
files and large projects.</p>
<p>Formatting <a
href="https://github.com/openedx/edx-platform">https://github.com/openedx/edx-platform</a>
took 87 seconds in the previous version, now it takes only 4 seconds
(>2000% speedup)! Tested on a 32-core computer.</p>
<ul>
<li>Performance improved by caching some functions. Thanks to <a
href="https://github.com/JCWasmx86"><code>@JCWasmx86</code></a>!</li>
<li>Removed the limitation on the number of workers introduced in
v1.35.0.</li>
<li>Drop Python 3.8 support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f908697f4e"><code>f908697</code></a>
chore: v1.36.1</li>
<li><a
href="92e2e84f64"><code>92e2e84</code></a>
chore(deps): lock file maintenance</li>
<li><a
href="96fec0e0e1"><code>96fec0e</code></a>
chore(deps): update dependency
<code>@ianvs/prettier-plugin-sort-imports</code> to v4.4.0</li>
<li><a
href="a7050555f8"><code>a705055</code></a>
chore(deps): lock file maintenance</li>
<li><a
href="21dc6a12d7"><code>21dc6a1</code></a>
perf: simple skip for unformatted blocks (<a
href="https://redirect.github.com/djlint/djLint/issues/1005">#1005</a>)</li>
<li><a
href="9dc7ea3cb6"><code>9dc7ea3</code></a>
chore(deps): lock file maintenance</li>
<li><a
href="14530c8356"><code>14530c8</code></a>
chore: v1.36.0</li>
<li><a
href="d97be3b90e"><code>d97be3b</code></a>
fix: types.py -> types.pyi</li>
<li><a
href="012ee62d47"><code>012ee62</code></a>
chore(deps): lock file maintenance</li>
<li><a
href="1afeeb87cf"><code>1afeeb8</code></a>
fix: fix type hint</li>
<li>Additional commits viewable in <a
href="https://github.com/djlint/djLint/compare/v1.35.2...v1.36.1">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Bumps [django](https://github.com/django/django) from 5.1.2 to 5.1.3.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="69bf08e3a3"><code>69bf08e</code></a>
[5.1.x] Bumped version for 5.1.3 release.</li>
<li><a
href="e3984ca5d1"><code>e3984ca</code></a>
[5.1.x] Added release date for 5.1.3.</li>
<li><a
href="4ae358122b"><code>4ae3581</code></a>
[5.1.x] Made minor edits to form fields docs.</li>
<li><a
href="9fa2d235c9"><code>9fa2d23</code></a>
[5.1.x] Fixed <a
href="https://redirect.github.com/django/django/issues/35876">#35876</a>
-- Displayed non-ASCII fieldset names when rendering Mod...</li>
<li><a
href="5045dab4f9"><code>5045dab</code></a>
[5.1.x] Added missing lang attributes to html elements in docs.</li>
<li><a
href="ffc67aac1e"><code>ffc67aa</code></a>
[5.1.x] Fixed <a
href="https://redirect.github.com/django/django/issues/35864">#35864</a>
-- Documented EmailMessage.connection is ignored when us...</li>
<li><a
href="4915feaaf7"><code>4915fea</code></a>
[5.1.x] Fixed <a
href="https://redirect.github.com/django/django/issues/35873">#35873</a>
-- Corrected Form.as_table() call in form docs.</li>
<li><a
href="b57a8395b5"><code>b57a839</code></a>
[5.1.x] Refs <a
href="https://redirect.github.com/django/django/issues/35844">#35844</a>
-- Expanded compatibility for expected error messages in ...</li>
<li><a
href="c5ddc8550c"><code>c5ddc85</code></a>
[5.1.x] Corrected note on importing fields in model field reference
docs.</li>
<li><a
href="0a1091f118"><code>0a1091f</code></a>
[5.1.x] Removed unneeded OS reference on running the test suite in
contributi...</li>
<li>Additional commits viewable in <a
href="https://github.com/django/django/compare/5.1.2...5.1.3">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>