D. Berge
595c20f504
Add vessel position to map.
...
Updates via websocket using the `realtime` channel notification
message.
2025-08-10 21:52:02 +02:00
D. Berge
40d0038d80
Add vessel track layer to map.
...
Track length may be changed by clicking on the appropriate icon.
2025-08-10 21:47:43 +02:00
D. Berge
acdf118a67
Add new /vessel/track endpoints.
...
This is a variation on /navdata but returns data more suitable
for plotting vessel tracks on the map.
2025-08-10 21:39:35 +02:00
D. Berge
b9e0975d3d
Add clone routine to project DB lib (WIP).
...
This relates to #333 .
2025-08-10 21:37:12 +02:00
D. Berge
39d9c9d748
Fix GeoJSON returned by /navdata endpoint
2025-08-10 21:36:37 +02:00
D. Berge
b8b25dcd62
Update IP getter script to return LAN address.
...
get-ip.sh internet: returns the first IP address found that has
internet access.
get-ip.sh local (or no argument): returns the list of non-loopback
IPs minus the one that has internet access.
This means that update-dns.sh now sends the first IP address that
does *not* have internet access.
2025-08-09 22:27:23 +02:00
D. Berge
db97382758
Add scripts to automatically update the LAN DNS records.
...
./sbin/update-dns.sh may be called at regular intervals (one hour
or so) via crontab.
It will automatically detect:
- its local host name (*.lan.dougal.aaltronav.eu); and
- which IP has internet access, if any.
Armed with that information and with the dynamic DNS API password
stored in DYNDNS_PASSWD in ~/.dougalrc, it will update the relevant
DNS record.
For this to work, the first `lan.dougal` hostname in the Nginx
configuration must be the one that is set up for dynamic update.
Other `lan.dougal` hostnames should be CNAME records pointing to
the first one.
2025-08-09 18:37:15 +02:00
D. Berge
ae8e5d4ef6
Do not use cookies for backend authentication
2025-08-09 12:43:17 +02:00
D. Berge
2c1a24e4a5
Do not store JWT in document.cookie
2025-08-09 12:14:17 +02:00
D. Berge
0b83187372
Provide authorisation details to Deck.gl layers.
...
Those layers that call API endpoints directly no longer need to
rely on cookies as they use the JWT token directly via the
`Authorization` header.
2025-08-09 12:12:24 +02:00
D. Berge
3dd51c82ea
Adapt map links to new format
v2025.32.1
2025-08-08 18:54:25 +02:00
D. Berge
17e6564e70
Implement map crosshairs.
...
These are coordinates that are supplied in the fragment part of the
URL. When available, a marker is shown at the given positions.
Labels may also be given and are also shown.
2025-08-08 18:51:54 +02:00
D. Berge
3a769e7fd0
Adapt to new map implementation.
...
Note: if we implement a fallback to the old Leaflet code, the new
hash format will need to be accepted in Leaflet too.
2025-08-08 16:10:17 +02:00
D. Berge
7dde0a15c6
Fix handling of view state and layers in URL hash
2025-08-08 16:09:32 +02:00
D. Berge
2872af8d60
Refresh sequence line data on every render
2025-08-08 13:48:49 +02:00
D. Berge
4e581d5664
Add final-raw heatmap
2025-08-08 13:47:30 +02:00
D. Berge
a188e9a099
Tweak colour scales
2025-08-08 13:45:54 +02:00
D. Berge
cd6ad92d5c
Use the same names in the user interface as in the code
2025-08-08 13:44:42 +02:00
D. Berge
08dfe7ef0a
Add notification handlers to Map.
...
They reload any sequence data on notification of changes.
2025-08-08 12:45:15 +02:00
D. Berge
6a5238496e
Add possibility to refresh points map while loading binary data
2025-08-08 12:44:21 +02:00
D. Berge
bc237cb685
Add final data points layer to map
2025-08-08 12:43:27 +02:00
D. Berge
4957142fb1
Refactor sequenceBinaryData.
...
It is no longer a computed property but actual data. It gets
recalculated on demand via getSequenceBinaryData().
2025-08-08 12:42:38 +02:00
D. Berge
5a19c81ed1
Unregister notification handlers.
...
When leaving the Project component, all its notification handlers
will be unregistered, otherwise we end up with a memory leak.
2025-08-08 12:22:56 +02:00
D. Berge
b583dc6c02
Support unregistering notification handlers
2025-08-08 12:20:58 +02:00
D. Berge
134e3bce4e
Add client-side support for type 3 bundles (final data)
2025-08-08 12:20:04 +02:00
D. Berge
f5ad9d7182
Use sequenceBinaryData for raw data points layer.
...
Saves us from ending up with an extra copy of the data.
2025-08-08 12:18:07 +02:00
D. Berge
07874ffe0b
Filter missing values out of JSON data for binary packing
2025-08-08 12:15:39 +02:00
D. Berge
695add5da6
Increase the resolution of position errors in bundle.
...
Note: this does not actually matter as of this commit as we are
storing those values as Float32 but it will become relevant when
we start packing them as Int16.
2025-08-08 12:15:05 +02:00
D. Berge
6a94287cba
Add type 3 binary bundle.
...
Consisting of final positions + errors.
2025-08-08 11:24:16 +02:00
D. Berge
c2ec2970f0
Remove dead code
2025-08-08 11:20:03 +02:00
D. Berge
95d6d0054b
Adapt GIS endpoint to new preplots tables structure
2025-08-07 22:02:04 +02:00
D. Berge
5070be5ff3
Handle event changes
2025-08-07 20:18:18 +02:00
D. Berge
d5e77bc946
Move API action option to the correct argument
2025-08-07 19:20:27 +02:00
D. Berge
f6faad17db
Fix Python's idiotic syntax
2025-08-07 17:17:43 +02:00
D. Berge
94cdf83b13
Change access permissions to files endpoints
2025-08-07 16:23:55 +02:00
D. Berge
6a788ae28b
Add logging statements
2025-08-07 16:23:14 +02:00
D. Berge
544117eec3
Fix retrieval of preplot previews
2025-08-07 16:20:00 +02:00
D. Berge
e5679ec14b
Move API action option to the correct argument
2025-08-07 16:19:13 +02:00
D. Berge
a1c174994c
Remove debugging statements
2025-08-07 13:03:43 +02:00
D. Berge
2db8cc3116
Tweak wording
2025-08-07 12:38:04 +02:00
D. Berge
99b1a841c5
Let the user know when using a remote frontend.
...
Note: this relies on the gateway Nginx server configurations
including an X-Dougal-Server header, as follows:
add_header X-Dougal-Server "remote-frontend" always;
2025-08-07 12:30:28 +02:00
D. Berge
6629e25644
Do not error if version history is undefined
2025-08-07 11:03:07 +02:00
D. Berge
7f5f64acb1
Check for lineNameInfo when importing P1/11
2025-08-07 11:00:42 +02:00
D. Berge
8f87df1e2f
Comment out debug output
2025-08-07 10:52:13 +02:00
D. Berge
8399782409
Set response auth headers conditionally
2025-08-07 10:42:37 +02:00
D. Berge
9c86018653
Auto-refresh materialised view if necessary
2025-08-07 10:42:08 +02:00
D. Berge
a15c97078b
Fix typo in access middleware
2025-08-07 10:41:29 +02:00
D. Berge
d769ec48dd
Request fresh responses when refreshing data from the server
2025-08-07 10:40:23 +02:00
D. Berge
fe421f545c
Add data integrity check
2025-08-06 22:54:01 +02:00
D. Berge
caa8fec8cc
Log warning
2025-08-06 22:52:06 +02:00