D. Berge
4dadffbbe7
Refactor Selenium to make it more robust.
...
It should stop runaway Firefox processes.
2025-08-17 13:18:04 +02:00
D. Berge
24dcebd0d9
Remove logging statements
2025-08-17 13:17:22 +02:00
D. Berge
b3552db02f
Add error checking to ETag logic
2025-08-16 11:36:43 +02:00
D. Berge
cd882c0611
Add debug info to soft start detection
2025-08-16 11:36:43 +02:00
D. Berge
6fc9c020a4
Fix off-by-one error in LGSP detection
2025-08-16 11:36:43 +02:00
D. Berge
75284322f1
Modify full volume detection on Smartsource
...
The Smartsource firmware seems to have changed rendering the old
test invalid.
2025-08-16 11:36:43 +02:00
D. Berge
e849c47f01
Remove old queue implementation
2025-08-16 11:36:43 +02:00
D. Berge
387d20a4f0
Rewrite automatic event handling system
2025-08-16 11:36:43 +02:00
D. Berge
764e2cfb23
Rename endpoint
2025-08-14 13:34:36 +02:00
D. Berge
bf1af1f76c
Make it explicit that :id is numeric
2025-08-14 13:34:27 +02:00
D. Berge
09e4cd2467
Add CSV event import.
...
Closes #336
2025-08-14 13:33:30 +02:00
D. Berge
083ee812de
Use cookies for authentication as a last resort.
...
Fixes #335
2025-08-13 16:54:38 +02:00
D. Berge
84510e8dc9
Add proper logging
2025-08-13 15:42:49 +02:00
D. Berge
73d85ef81f
Fix scheduling of token refresh via websocket
2025-08-13 12:58:36 +02:00
D. Berge
a5ebff077d
Fix authentication middleware erroring on IPv6
2025-08-13 11:50:20 +02:00
D. Berge
8c81daefc0
Move the two /configuration endpoints next to each other
2025-08-11 22:20:46 +02:00
D. Berge
c173610e87
Simplify middleware
2025-08-11 22:19:51 +02:00
D. Berge
301e5c0731
Set headers only on 304
2025-08-11 22:06:51 +02:00
D. Berge
48d9f45fe0
Clean up debug messages
2025-08-11 22:06:20 +02:00
D. Berge
02477b071b
Compress across the board.
...
It's still subject to the compression module's filters, but now
we try to compress every response in principle.
2025-08-11 13:57:11 +02:00
D. Berge
6651868ea7
Enable compression for vessel track responses
2025-08-11 13:40:53 +02:00
D. Berge
c0b52a8245
Be more aggressive about what gets compressed
2025-08-11 12:42:48 +02:00
D. Berge
aabcc74891
Add compression to some endpoints.
...
Consideration will be given to adding (conditional) compression
to all endpoints.
2025-08-11 01:53:50 +02:00
D. Berge
2a7b51b995
Squash another cookie
2025-08-11 01:52:04 +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
ae8e5d4ef6
Do not use cookies for backend authentication
2025-08-09 12:43:17 +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
95d6d0054b
Adapt GIS endpoint to new preplots tables structure
2025-08-07 22:02:04 +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
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
caa8fec8cc
Log warning
2025-08-06 22:52:06 +02:00
D. Berge
f2df16fe55
Fix getting project configuration data
2025-08-06 10:41:42 +02:00
D. Berge
96db6b1376
Add a more helpful message if cause of failure is known
2025-08-06 10:41:08 +02:00
D. Berge
36d86c176a
Only send websocket notifications to authenticated users
2025-08-06 10:40:16 +02:00
D. Berge
9c38af4bc0
Improve handling of JWT over websocket.
...
When a valid `token` message is received from a client, the
socket server will automatically push refreshed tokens at
about half lifetime of the received JWT.
If an invalid token is received the connection is closed.
See #304 .
2025-08-06 10:26:53 +02:00
D. Berge
be5c6f1fa3
Fix user authentication.
...
* Use X-JWT header for sending authentication info
both from server to client and from client to server.
* Send token in body of login response.
* Also use Set-Cookie: JWT=… so that calls that are
not issued directly by Dougal (e.g. Deck.gl layers
with a URL `data` property) work without having to
jump through hoops.
Closes #321
2025-08-06 10:21:37 +02:00
D. Berge
67dcc2922b
Fix binary bundling of delta spread
2025-08-03 13:49:55 +02:00
D. Berge
c376896ea6
Also serve preplot source/sail points as binary.
...
This commit adds the ability to pack preplot points in Dougal
binary format. Sail line points take udv=0 and source line points
take udv=1 – udv=2 remains sequence data.
Endpoints for retrieving the data in JSON, GeoJSON and binary
formats have also been added. Data may be retrieved as a single
line or for a whole project.
2025-08-03 11:17:31 +02:00
D. Berge
ad013ea642
Add additional formats for sequence list endpoint.
...
The original and default "Accept: application/json" will return
a sequence summary.
"Accept: application/geo+json" will return a GeoJSON of the
entire project.
"Accept: application/vnd.aaltronav.dougal+octet-stream" will
return the entire project in Dougal's binary format.
2025-08-01 17:07:37 +02:00
D. Berge
48d5986415
Change handling of sequence parameter.
...
Allow `null` to be used in addition to `0` in
db.sequence.get() to return all sequences.
2025-08-01 17:05:38 +02:00
D. Berge
471f4e8e64
Add synonyms to db.sequence.get() options
2025-08-01 17:05:05 +02:00
D. Berge
4be99370e6
Change the MIME type of binary responses
2025-08-01 16:50:32 +02:00
D. Berge
e464f5f887
Refactor code handling binary sequence requests.
...
Instead of the user giving the recipe for the payload, it now
only handles predefined payload configurations. Those are
denoted by the `type` query parameter. The only valid value
as of this commit is `type=2`.
Look at lib/binary/bundle.js for the definition of a type 2
bundle.
2025-08-01 16:47:50 +02:00