* fix: incorrect polyline decoding
Don't split static image encoded path on pipe or comma
Signed-off-by: boldtrn <boldtrn@gmail.com>
* fix: still allow other parameters other than enc:
That way we can still style individual paths
Signed-off-by: boldtrn <boldtrn@gmail.com>
* chore: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* chore: lint + comment
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: try to clarify path information
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: stroke color not working unless path is specified
i found this issue testing encoded paths. If width is not specifed, stroke color does not work
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: show different options
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
---------
Signed-off-by: boldtrn <boldtrn@gmail.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: don't crash the server on processing issues
Use a try/catch for async functions
Signed-off-by: boldtrn <boldtrn@gmail.com>
* chore: run lint
Signed-off-by: boldtrn <boldtrn@gmail.com>
---------
Signed-off-by: boldtrn <boldtrn@gmail.com>
* fix: allow to style each individual path for static images
Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>
* chore: cleanup drawPath render function
Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>
---------
Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>
* Use center and zoom from style json as default center for tilejson of rendered maps
* Round zoom as style spec allows fractional zooms while tilejson spec does not
* Handle SIGTERM
Resolve#781
* Add `Caught signal ...` messages
Container log when sending a `SIGHUP` signal and then a `SIGTERM` signal using
`docker kill --signal ...` :
```
Starting tileserver-gl v4.4.8
[INFO] Automatically creating config file for zurich_switzerland.mbtiles
[INFO] Only a basic preview style will be used.
[INFO] See documentation to learn how to create config.json file.
Run with --verbose to see the config file here.
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGHUP, refreshing
Stopping server and reloading config
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGTERM, stopping gracefully
```
Note that the numeric signal values, as used in the shell version, were
replaced by signal names, as used in nodeJS.
* run 'npm run lint:js:fix'
---------
Co-authored-by: acalcutt <acalcutt@techidiots.net>
* Add Docker Healthcheck
Fixes#635
* Update Dockerfile_light
* Update healthcheck.js
fix healthcheck output error: "file:///usr/src/app/src/healthcheck.js:1\nvar http = require(\"http\");\n ^\n\nReferenceError: require is not defined in ES module scope, you can use import instead\nThis file is being treated as an ES module because it has a '.js' file extension and '/usr/src/app/package.json' contains \"type\": \"module\". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.\n at file:///usr/src/app/src/healthcheck.js:1:12\n at ModuleJob.run (node:internal/modules/esm/module_job:193:25)\n at async Promise.all (index 0)\n at async ESMLoader.import (node:internal/modules/esm/loader:526:24)\n at async loadESM (node:internal/process/esm_loader:91:5)\n at async handleMainPromise (node:internal/modules/run_main:65:12)\n"
* update version
Co-authored-by: acalcutt <acalcutt@techidiots.net>
* extended staticmap capabilities
* added allowRemoteMarkerIcons configuration option and restricted fetching of remote marker icons only when option is set to true;
asynchronously load all available icons in a settings object on server startup;
replaced fs.existsSync() call in serve_rendered when drawing marker icons with a check against available icons settings object;
* updated documentation for linecap parameter in staticmaps endpoint;
added linejoin parameter to staticmaps endpoint;
* added capability of staticmap endpoint to draw multiple paths
In WMTS the publicUrl path was missed and it was not working properly.
Similar story about wmts.tmpl: the baseUrl is not working properly when
tileserver is hidden behind the proxy with different root path.
* Minor bugfix: make baseUrl always use '/' in the end
Co-authored-by: Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com>
Co-authored-by: acalcutt <acalcutt@techidiots.net>
* switch to esm module
* Update package.json
* change to maplibre package
* fix tests
* eslint
* remove extra package updates
* Delete package-lock.json
* change 'fs' to 'node:fs'
* put back node 10.
without the package updates this still works
* remove trailing commas
* remove unassociated fix / formatting
* remove unassociated fix
* remove eslint from this PR
* remove unassociated fix
* lint
* Merge remote-tracking branch 'upstream/master' into esm_update
* fix mlgl
* update maplibre-native to new version with arm64
* update minor version
variable file does not exist. Backtrace
ReferenceError: file is not defined
at serve_style.add (/usr/src/app/src/server.js:139:44)
at Proxy.add (/usr/src/app/src/serve_style.js:115:28)
at addStyle (/usr/src/app/src/server.js:121:31)
at fs.readdir (/usr/src/app/src/server.js:215:11)
at args (fs.js:140:20)
at internal/util.js:370:14
at getDirents (internal/fs/utils.js:149:7)
at FSReqWrap.req.oncomplete (fs.js:775:7)
The data sources structure was changed in the 'dynamic_styles' branch
introducing a tileJSON object. Adapt the code filling the preview
template to the change to get the correct file format instead of
"undefined".
See also f2dc13e.
Fix#440 Preview thumbnail missing for raster data source -- file suffix
"undefined"