Yohan Boniface
1d47bfce0a
chore: add redis port in Github workflow
2025-01-24 10:13:00 +01:00
Yohan Boniface
b62085b7aa
chore: add REDIS_HOST and REDIS_PORT env vars in CI
2025-01-23 18:02:28 +01:00
Yohan Boniface
222213ec87
fix(sync): add python redis package
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:26:39 +01:00
Yohan Boniface
476c160fd5
wip(sync): clean stale username from redis
...
We wanted to use the HEXPIRE command, but discovered that this command
is only available since the Redis 7.4 version (the latest), and this version
does not have an OSI compliant licence, so it is generally not installable
through common packages managers. The OSS fork is Valkey, but it still does
not have the HEXPIRE command.
So we decide to clean those keys manually, and in order no do this clean
task at each websocket connection, we only do it when we are the first user
to connect to a given map.
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:20:21 +01:00
Yohan Boniface
0d5e3047f4
wip(sync): only return peers with an active connection
2025-01-23 17:20:21 +01:00
Yohan Boniface
11fb29c456
wip(sync): log but do not crash when sending fail
...
This should be a race condition when sending to a closed websocket. Let's
log to track them.
2025-01-23 17:20:21 +01:00
Yohan Boniface
ef7c769abe
wip(sync): remove a bit of server prints
2025-01-23 17:20:21 +01:00
Yohan Boniface
82342ea00f
wip(sync): try a better pattern to unsubscribe to pubsub channels
...
When publishing a "STOP", this would unsubscribe every listener of the
channel.
2025-01-23 17:20:21 +01:00
Yohan Boniface
7e42331533
wip(sync): add Redis to CI and configure tests settings
2025-01-23 17:20:21 +01:00
Yohan Boniface
a07ee482ce
wip(sync): use our async_live_server for websocket related PW tests
...
As now both http and ws are on the same domain, let's use one test server
able to serve both.
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:20:20 +01:00
Yohan Boniface
1bf100d7a8
wip(sync): make the client set its peer id
2025-01-23 17:17:16 +01:00
Yohan Boniface
36d9e9bf06
wip(sync): use the correct URL for websocket
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:17:16 +01:00
Yohan Boniface
acb2e967b8
wip(sync): POC of using Redis for pubsub
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:17:16 +01:00
Yohan Boniface
ab7119e0a4
wip(sync): use Daphne as live_server for tests
...
Also clean dependencies.
We still use the channels live server for our tests, but do not use it
anymore for the actual websocket handling.
2025-01-23 17:17:13 +01:00
Yohan Boniface
460a0c9997
wip(sync): only open listen connections after authentication
2025-01-23 17:16:44 +01:00
Yohan Boniface
698c74b427
wip(sync): only save Peer after authentication
2025-01-23 17:16:44 +01:00
Yohan Boniface
a29eae138e
wip(sync): websocket server with ASGI and PostgreSQL LISTEN/NOTIFY
2025-01-23 17:16:44 +01:00
Yohan Boniface
31546d6ff4
wip(sync): use django-channels to serve websockets
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:16:44 +01:00
Yohan Boniface
30690bcb35
chore: bump mkdocs-material from 9.5.49 to 9.5.50 ( #2433 )
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
2025-01-21 10:52:54 +01:00
dependabot[bot]
f7c9c469d1
chore: bump mkdocs-material from 9.5.49 to 9.5.50
...
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material ) from 9.5.49 to 9.5.50.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.49...9.5.50 )
---
updated-dependencies:
- dependency-name: mkdocs-material
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 21:33:09 +00:00
Yohan Boniface
3c38a5e55e
chore: bump moto[s3] from 5.0.25 to 5.0.27 ( #2436 )
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
2025-01-20 22:32:28 +01:00
Yohan Boniface
4430bddcc9
chore: bump ruff from 0.9.1 to 0.9.2 ( #2434 )
2025-01-20 22:32:06 +01:00
dependabot[bot]
9ba5dda507
chore: bump ruff from 0.9.1 to 0.9.2
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.1...0.9.2 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 20:36:06 +00:00
dependabot[bot]
b15e333f6c
chore: bump moto[s3] from 5.0.25 to 5.0.27
...
Bumps [moto[s3]](https://github.com/getmoto/moto ) from 5.0.25 to 5.0.27.
- [Release notes](https://github.com/getmoto/moto/releases )
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getmoto/moto/compare/5.0.25...5.0.27 )
---
updated-dependencies:
- dependency-name: moto[s3]
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 20:35:47 +00:00
Yohan Boniface
4ce8f6515d
fix: test failing due to unstable FS ordering between OS ( #2438 )
2025-01-20 21:34:28 +01:00
Yohan Boniface
dc5a3a6b62
fix: test failing due to unstable FS ordering between OS
2025-01-20 21:12:06 +01:00
David Larlet
2ff2ee29ed
chore: bump pillow from 11.0.0 to 11.1.0 ( #2417 )
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
2025-01-16 10:01:25 -05:00
David Larlet
02afc783cf
chore: bump django from 5.1.4 to 5.1.5 ( #2432 )
2025-01-16 10:00:56 -05:00
dependabot[bot]
f3fc24addf
chore: bump django from 5.1.4 to 5.1.5
...
Bumps [django](https://github.com/django/django ) from 5.1.4 to 5.1.5.
- [Commits](https://github.com/django/django/compare/5.1.4...5.1.5 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-16 14:52:18 +00:00
David Larlet
2beeda3c2f
chore: bump pydantic from 2.10.4 to 2.10.5 ( #2427 )
2025-01-16 09:51:48 -05:00
David Larlet
ac6e9a1021
chore: bump ruff from 0.8.4 to 0.9.1 ( #2428 )
2025-01-16 09:51:22 -05:00
dependabot[bot]
2428b0fd47
chore: bump ruff from 0.8.4 to 0.9.1
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.8.4 to 0.9.1.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.4...0.9.1 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:24:40 +00:00
dependabot[bot]
20a1cf0c55
chore: bump pydantic from 2.10.4 to 2.10.5
...
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 2.10.4 to 2.10.5.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:24:27 +00:00
Yohan Boniface
f53d435dfd
chore: internalize FormBuilder ( #2420 )
...
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
fix #2280
That's a first step, which:
- internalize Formbuilder as a bunch of modules
- use Javascript classes instead of Leaflet ones
- remove dependencies to Leaflet (L.DomUtil…)
- replaces `L.FormBuilder` by `Form` (in theory generic, but not quite)
and `U.FormBuilder` by `MutatingForm` (knows about isDirty,
`inheritable` and such)
There is much more room for refactor, but let's do it step by step!
2025-01-11 14:29:55 +01:00
Yohan Boniface
07c29abbec
chore(utils): use native events instead of array of callbacks for WithEvents
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-10 16:44:48 +01:00
Yohan Boniface
86a8e17aec
fix(sync): handle sync of datalayer delete ( #2416 )
...
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
fix #2268
There is a tricky choice to do: the delete actually occurs in two
times, first the datalayer is hidden from the UI and set as "deleted"
(this can then be undone) then at next "save" it will totally removed.
When syncing, given we removed the "reset/undo" feature for now, and
because it was simpler, I decide to do both step in once.
When working on a proper "undo/redo", we may challenge this choice
again.
2025-01-10 16:34:47 +01:00
Yohan Boniface
75af1a4855
fix(sync): handle sync of datalayer delete
...
fix #2268
There is a tricky choice to do: the delete actually occurs in two
times, first the datalayer is hidden from the UI and set as "deleted"
(this can then be undone) then at next "save" it will totally removed.
When syncing, given we removed the "reset/undo" feature for now, and
because it was simpler, I decide to do both step in once.
When working on a proper "undo/redo", we may challenge this choice
again.
2025-01-10 16:33:46 +01:00
Yohan Boniface
0c52c35ae3
chore(tests): use name from data when defined in DataLayerFactory
2025-01-10 16:33:06 +01:00
Yohan Boniface
49cde00361
feat: display map's "created at" and "modified at" in the caption ( #2424 )
...
fix #2110

2025-01-10 16:23:42 +01:00
Yohan Boniface
7072b5434a
fix: update map.modified_at when saving a datalayer ( #2423 )
...
fix #2421
2025-01-10 15:51:39 +01:00
Yohan Boniface
e7fe92c070
feat: display map's "created at" and "modified at" in the caption
2025-01-10 15:49:05 +01:00
Yohan Boniface
92b7be3ad9
fix: update map.modified_at when saving a datalayer
...
fix #2421
2025-01-10 12:01:13 +01:00
Yohan Boniface
0ba69e41d0
wip(forms): use events instead of callback
2025-01-09 13:02:04 +01:00
Yohan Boniface
fb4fecd337
chore(tests): fix sync tests
2025-01-09 13:00:59 +01:00
Yohan Boniface
b6c8d64c47
chore(forms): remove duplicate NullableBoolean field
2025-01-08 16:15:27 +01:00
Yohan Boniface
63e84d94c4
chore(forms): refactor icon preview of IconURL field
2025-01-08 16:14:36 +01:00
Yohan Boniface
176b8bdbcc
wip(forms): refactor forms templating
2025-01-07 18:08:48 +01:00
Yohan Boniface
e0fadea749
chore: remove Leaflet dependency from form modules
2025-01-07 18:07:14 +01:00
Yohan Boniface
b88a0cc49f
wip: internalize FormBuilder and move to module
2025-01-07 18:07:14 +01:00
dependabot[bot]
910995291d
chore: bump pillow from 11.0.0 to 11.1.0
...
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/11.0.0...11.1.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 17:33:24 +00:00