Commit graph

366 commits

Author SHA1 Message Date
Martin d'Allens
c9aa26a6de
fix: listFonts was broken, missing fonts could not fallback (#1076)
Promise code never worked: listFonts did not wait for fs.stat() to resolve().
This was not evident because late results were still used.

A recent PR made it worse: late results are now ignored.
This manifested for styles with missing fonts, no fallback could be used.

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-24 11:48:50 -05:00
Martin d'Allens
b25a6420dd
chore: simplify alpha premultiplication, now supported by sharp (#1073)
Maplibre-native outputs premultiplied pixels values. The sharp library did not
support it so we added code to cancel the alpha premultiplication.
Note that this can only visible onr raster tiles (and probably static maps).

The sharp library now supports premultiplied pixels with the right config.
Let's use it: it should be faster and easie to maintain.

Feature announced here:
https://github.com/lovell/sharp/issues/1599#issuecomment-837004081

Feature developped here by @mnutt:
https://github.com/lovell/sharp/pull/2685

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 12:16:31 -05:00
Martin d'Allens
36d3e9d356 chore: apply camelCase to function and variable names
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
9a4ef3dedf chore: remove unused opt_nokey arg
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
f69a2339b8 chore: remove duplicated field names to simplify code
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
d9c2128ddf chore: compact arguments for renderOverlay and respondImage
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
345b831edd chore: convert some promises to async/await
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
526766c8f4
Extract nested functions and simplify a little (#1062)
* chore: make sure error exit codes of tests are returned

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: replace the last 'var' with 'const'

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: extract duplicated font listing

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: extract rendering functions to a new file

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: move nested respondImage() function to top level

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: simplify respondImage() args

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: fix typo in rendeAttribution

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

---------

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 10:11:53 -05:00
Martin d'Allens
d7af5235bf
fix: clean error message, remove outdated data wmts (#1067)
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-21 16:23:53 -05:00
dependabot[bot]
36f9320d50
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.61.0 to 6.11.0 (#1052)
* chore(deps-dev): bump @typescript-eslint/eslint-plugin

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.61.0 to 6.11.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.11.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: warn for no-unused-vars,add argsIgnorePattern

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2023-11-15 21:31:28 -05:00
Andrew Calcutt
36f63de686
Replace request with axios (#1043)
* updating to replace request with axios

* swap request with axios in main.js

* fix: update text

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update package-lock

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update function name

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update axios

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: acalcutt <acalcutt@techidiots.net>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: Michael Jones <michaeljones@Michaels-MacBook-Pro.local>
Co-authored-by: jonesmj8537 <michael.j.jones.ctr@nga.mil>
2023-11-14 15:39:49 -05:00
Alek Kowalczyk
4568027046
Fixed Issue #1025 - URL-based glyphs and fonts break displaying of vector tiles (#1026)
Root cause: modified regex in #1002 caused URLs to be broken.
Fixed by reverting previous regexes.

Tests:
 * Confirmed by building and running locally with formerly breaking config.json and style json.
 * Run tests via Dockerfile_test
2023-10-20 14:02:45 -04:00
Ryan
c161667e0e
Ensure ID is maintained over deconstructing object (#1023) 2023-10-18 12:33:15 -04:00
Andrew Calcutt
a6dadfda28
Add pmtiles support (#1009)
Adds pmtiles support to TileServer-GL

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Signed-off-by: Michael Nutt <michael@nuttnet.net>
Co-authored-by: Michael Nutt <michael@nuttnet.net>
2023-10-15 03:03:15 -04:00
Martin d'Allens
e8f64e2861
chore: cleanup useless decodeURIComponent() calls (#1002)
* chore: cleanup useless decodeURIComponent() calls

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to fix CodeQL failure "Polynomial regular expression"

Fix 1:
\d\.?\d* can backtrack catastrophically
\d(\.\d*)? is safer

Fix 2:
Useless parenthesis around "enc:"

Fix 3:
The httpTester regex was misleading. It did not really check for "http".
Simplified to show its true meaning. The behaviour should not have changed.

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to optimize the regex further, to fix CodeQL failure

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: consistency between previous changes, docs, and serve_style.js

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

---------

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-10-13 19:08:28 -04:00
Boon Boonsiri
9348350ba3
Allow base 64 url as images for static maps (#1007)
* allow base-64 url as images

* Add option to config

* Refactoring

* Update docs

* feat: added base64 url images lint

Signed-off-by: Boon Boonsiri <bboonsir@uwaterloo.ca>

---------

Signed-off-by: Boon Boonsiri <bboonsir@uwaterloo.ca>
2023-10-12 01:22:51 -04:00
Craig Kochis
d4a5cc6074
Add support for stylized attribution text for static images (#1005)
* add support for stylized attribution text for static images

* restrict to static opt_mode

* adjust sizes

* chore: fix lint

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: rename to staticAttributionText

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: update docs

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: add staticAttributionText to example config, and run lint

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

---------

Signed-off-by: Craig Kochis <cjkochis@gmail.com>
2023-10-07 20:30:47 -04:00
Andrew Calcutt
7e246d0cd1 fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
2023-09-27 00:16:54 -04:00
Robin
d759dd2952
fix: incorrect polyline decoding (#993)
* 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>
2023-09-26 23:53:16 -04:00
Robin
c13e5e6821
fix: don't crash the server on processing issues (#994)
* 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>
2023-09-26 09:41:29 -04:00
Samuel
02ee629f30
Static images: Allow styling each path differently (#972)
* 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>
2023-09-21 22:55:54 -04:00
fvarga94
13eeeaffad
Resolve composite watermark issue (#908) 2023-06-30 12:58:21 -04:00
Nathan Gass
89c6eb7ddf
Use center and zoom from style json (#507)
* 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
2023-03-28 08:46:50 -04:00
zstadler
64adff0855
Handle SIGTERM (#782)
* 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>
2023-03-01 10:05:21 -05:00
Manuel Roth
ea186d34df
fix: support for X-Forwarded-Host http header (#733)
* fix: fix support for overriding hostname by setting X-Forwarded-Host http header

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

* fix: improve getUrlObject

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

* Add documentation for getUrlObject function

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Simplify getPublicUrl function

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Remove variable

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Use urlObject directly

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: small fix

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

---------

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>
Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
2023-01-31 20:35:16 -05:00
Daniel Kao
f94625ab05
fix: fix vectortile constructor (#723)
Signed-off-by: Daniel Kao <dkao@diplateevo.com>

Signed-off-by: Daniel Kao <dkao@diplateevo.com>
2023-01-20 17:41:18 -05:00
Vinayak Kulkarni
bb0cd60e64
feat: enable Google Polyline in Static Images endpoint 🕺 (#648)
* docs: update `encodedpath` documentation

Co-Authored-By: Niklas Hösl <nik.hoesl@hotmail.com>
Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: enable `encodedpath` in query to load encoded polyline

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* refactor!: update static map endpoint `path`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: remove `console.log()`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* docs: remove `encodedpath` arg

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: docs update

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore(deps): add `@mapbox/polyline` dep

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore(deps): add `@mapbox/polyline` dep

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: enable default `stroke`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* docs: update documentation

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* test: decode URI component

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: drawPath method

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: safely decode URI Component

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: enable multiple paths while extracting them from query

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: lockfile conflict

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
Co-authored-by: Niklas Hösl <nik.hoesl@hotmail.com>
2023-01-12 15:48:43 -05:00
Andrew Calcutt
138ac04676
allow tileMargin option (#694)
* allow tileMargin option

tile mode does not support more than one tile in maplibre-native, so tileMargin needs static mode to work.

* add space
2023-01-05 14:13:26 -05:00
Michael Nutt
a7af45ee3f
fix: Ensure font serving does not reflect userdata-derived errors as HTML (#647)
* fix: ensure font serving does not reflect userdata-derived errors as HTML

Signed-off-by: Michael Nutt <michael@nuttnet.net>
2022-11-24 11:07:11 -05:00
Andrew Calcutt
c134795b81
change docker to use port 8080 by default (#638)
* change docker to use default 8080 port
2022-11-20 23:00:41 -05:00
Vinayak Kulkarni
9b64093c42
style: fix lint issues in code 🕺 (#626)
* style: fix lint issues in code 🕺

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: lint fix all files

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: add `keywords` for better reach

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add `husky` & `commitlint`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: ignore `public` directory

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: do not lint `public` directory

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: fix issues with lint

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add eslint config

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add lint-staged

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: lint fix all file(s)

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: ignore rules for light version

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: remove unnecessary space

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore(deps): update lockfile

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: autofix linting issue(s)

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
2022-11-08 22:56:07 -05:00
zstadler
50201f0a99
Add Docker Healthcheck (#636)
* 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>
2022-11-06 21:30:55 -05:00
Andrew Calcutt
212af8145c
fix canvas import (#631) 2022-10-28 19:04:20 -04:00
Andrew Calcutt
b6e2d101eb
Fix HUP kill not reloading config (#630)
* try to fix HUP config reset
* remove..outdated?.. require.cache
2022-10-28 11:53:21 -04:00
benedikt-brandtner-bikemap
f3f63498a8
Extended Static-Images Endpoint (#619)
* 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
2022-10-27 22:55:46 -04:00
Monstrofil
38604c0a45
Bugfix: publicUrl is not used in some urls (#605)
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>
2022-09-30 09:18:13 -04:00
Andrew Calcutt
b2bd5eaa96
Convert to esm module syntax (#606)
* 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
2022-09-28 14:41:55 -04:00
Michael Nutt
7cfcc413c4
don't include duplicate attributions (#613) 2022-09-24 16:36:39 -04:00
Nathan Gass
edd36dd251
Open mbtiles in readonly mode (#506) 2022-09-24 12:17:35 -04:00
Frank
161ac5ff84
Fix rendering with tileMargin on top and bottom border of map (#571)
Co-authored-by: Frank Stolle <f.stolle@hosting-agency.de>
2022-09-22 23:22:06 -04:00
acalcutt
7ef9730a9c Merge remote-tracking branch 'upstream/master' into commander 2022-09-21 13:26:18 -04:00
acalcutt
8584a117fe change to single quotes 2022-09-21 10:31:57 -04:00
acalcutt
c1e9dc76ea more static respondImage 2022-09-20 23:33:51 -04:00
acalcutt
80d3699383 try to make a separate static renderer pool 2022-09-20 23:12:01 -04:00
acalcutt
208611f630 Merge remote-tracking branch 'upstream/master' into commander 2022-09-16 13:35:50 -04:00
acalcutt
efb4b2c915 orig formatting 2022-09-14 21:39:35 -04:00
acalcutt
b4cd42b186 fix spacing 2022-09-14 21:36:03 -04:00
acalcutt
b87a256e20 use original variable name 2022-09-14 21:31:02 -04:00
acalcutt
2362137667 update commander 2022-09-14 21:28:32 -04:00
acalcutt
72fdf84292 Change to use maplibre-native and maplibre-gl-style-spec 2022-09-14 17:33:02 -04:00
Petr Sloup
6ff4cae9b9
Merge pull request #484 from candux/addKeyToSprites
add api key to sprite ressources in style json
2020-11-04 20:38:13 +01:00
bheupers
4036d528ec
Render up to scale level 22
For detailed city rendering we need to render rasterfiles up to and including level 21. Therefore I propose to change the maximum raster level to 22
2020-11-04 14:42:46 +01:00
David Weber | geOps
e249a3f67d add api key to sprite ressources in style json
this make some setups easier becouse sprites can be handeld
like any other ressources
2020-10-22 19:09:42 +02:00
David Weber | geOps
309d481117 fix crash in serveAllFonts
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)
2020-10-16 09:15:10 +02:00
Daniel Korp
038bfe29d6
Fix reflected XSS in 'style' parameter 2020-07-02 10:28:25 +02:00
Daniel Korp
10431d70d0
Fix reflected XSS in 'key' parameter. Fixes #461 2020-07-02 09:30:33 +02:00
Hermann Schwarting
79bd70942b Fix preview thumbnail for raster data sources
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"
2020-04-22 21:08:55 +02:00
Petr Sloup
5585f49396
Update serve_rendered.js
Fix accidentally removed #414
2020-04-07 10:29:19 +02:00
Petr Sloup
29d3e72dd3 Replace last references to the old repository/dockerhub 2020-03-11 13:57:45 +01:00
Petr Sloup
13415fd29f Minor tileserver-gl-light fix 2020-03-11 09:24:10 +01:00
Paveł Tyślacki
8f77be3037 update glyph-pbf-composite
glyph-pbf-composite v0.0.2 were released without license
as license were added in v0.0.3 it nice to be updated to licensed software version
2020-02-14 18:59:49 +03:00
Petr Sloup
f2dc13e298 Minor tilejson-reading fix when decorating templates 2020-02-10 14:14:07 +01:00
Petr Sloup
cf0eedb379 Merge branch 'dynamic_styles' 2020-02-10 14:00:58 +01:00
Petr Sloup
95bb59dcfe
Merge pull request #414 from xabbu42/issue-171
Close connection on errors
2020-01-28 15:46:52 +01:00
Nathan Gass
9fd381640e Close connection on erros 2020-01-28 14:30:36 +01:00
Nathan Gass
b7c384f1ee FIx issue #350 Semi-transparent outlines on raw, premultiplied input 2020-01-28 14:25:00 +01:00
Petr Sloup
ea89d11021 Use chokidar instead of node-watch to poll the files (required for docker) 2020-01-15 09:26:59 +01:00
Petr Sloup
298d09845d Add style validation and skip invalid styles 2020-01-07 17:00:08 +01:00
Petr Sloup
d7a34f3a74 Add "serveAllStyles" option + watch the directory 2020-01-07 15:59:38 +01:00
Petr Sloup
cb700181d3 Refactor style/rendered/data serving to allow for dynamic adding/removing of items 2020-01-07 14:32:30 +01:00
Petr Sloup
226b979592 Fix deprecation warnings 2019-12-30 17:18:05 +01:00
Petr Sloup
e2387d164b Simplify the startup procedure a little (#271) 2019-12-30 17:08:15 +01:00
Petr Sloup
515c295898 Remove obsolete old code 2019-12-30 17:00:23 +01:00
Petr Sloup
96161fc656
Merge branch 'master' into refactor 2019-12-30 11:49:37 +01:00
Petr Sloup
bdd0a5c868
Merge pull request #394 from korpd/master
Don't multiply tileMargin with scale since the renderer is already taking care of scaling
2019-12-30 09:21:04 +01:00
Petr Sloup
5048388d1f Try to reduce number of broken labels on tile edges (#344, #347) 2019-12-30 09:11:53 +01:00
Yuri Astrakhan
7f8be27844 Update code to ES6
* var  ->  let / const
* [].forEach  ->  for (... of ...)
* '...' + var  ->  template strings  `...${var}`
* function  ->  arrow functions `=>`
* use === and !==  instead of == and !=
2019-12-21 14:09:20 -05:00
Yuri Astrakhan
736e8d393a Upgrade to node10, latest dependencies
use node10 (latest node that has binary built @mapbox/mapbox-gl-native v5.0.2)
use latest canvas and sharp API
2019-12-21 12:09:07 -05:00
Daniel Korp
1c24d12b0d
Minor fix: Don't multiply tileMargin with scale since the renderer is already taking care of scaling 2019-11-13 15:10:13 +01:00
Petr Sloup
f77ccd06af
Merge pull request #379 from stefslon/tile_margin
Add tileMargin option
2019-10-02 12:26:49 +02:00
Petr Sloup
aa7ae575d0 Flatten 3D buildings when rendering to remove artifacts 2019-08-26 12:10:49 +02:00
stefslon
17a73b1d4a Add tileMargin option 2019-08-08 21:57:51 -04:00
Petr Sloup
e506014763 Minor /styles.json fix (close #361) 2019-04-29 06:48:23 +02:00
Eric Xanderson
e6747ebb78
Merge pull request #2 from disarticulate/patch-2
verbose output empty tile warning
2019-04-23 20:53:17 -05:00
Eric Xanderson
ba62f0bf30
verbose output empty tile warning
Empty tile warning details; definitely what you would expect if there's not a catastrophic error, but you're getting blank tiles.

such as: ```
MBTiles error, serving empty { Error: SQLITE_CORRUPT: database disk image is malformed
lily_tile_server |     at Error (native) errno: 11, code: 'SQLITE_CORRUPT' }

```
https://github.com/klokantech/tileserver-gl/issues/323
2019-04-23 20:51:39 -05:00
Eric Xanderson
08369a666d
add verbose to options
pass verbose to server for better handling of warnings
2019-04-23 20:43:56 -05:00
adrian
9dda95ee8e let the user define a log file or a log format
log file defaults to standard out.

log format defaults to current behavior ('tiny' for production, 'dev' for dev, and not enabled in test)
2019-04-13 11:55:37 -04:00
Isaac Besora Vilardaga
bca5191ad9 Removes body data from http 204 response 2019-01-07 13:48:22 +01:00
Maxime Colmant
e8134dfeb0
fix: correctly retrieve the public_url parameter on start 2018-12-26 16:26:49 +01:00
Alban Mouton
c99a1a5425 Merge remote-tracking branch 'klokantech/master' into public_url
# Conflicts:
#	src/main.js
#	src/server.js
2018-12-19 09:53:40 +01:00
Petr Sloup
58168eb0a5
Merge pull request #307 from spatialillusions/master
Add support for WMTS capabilities
2018-09-14 08:03:59 +02:00
Petr Sloup
f993b01387
Merge pull request #303 from loicgasser/update_libs
Update commander and devDeps
2018-09-14 08:00:03 +02:00
Måns Beckman
76a0064f0c Remove unused variables 2018-09-13 17:57:06 +02:00
Måns Beckman
e8b3c02546 Fix formating 2018-09-11 17:51:38 +02:00
Måns Beckman
56089c0a62 Remove base64url 2018-09-11 17:47:44 +02:00
Måns Beckman
71fab2a2a1 Add support for WMTS capabilites
https://github.com/klokantech/tileserver-gl/issues/274

Clean up wmts template with correct syntax

Update endpoint URL and change content type

After a good nights sleep I considered the structure of the endpoint link for WMTS, at the same time I cleaned up the code and added the correct content type for the response.
2018-08-21 19:33:37 +02:00
Loïc Gasser
45ed8d90ca Update commander and devDeps, invert default val and function accordingly 2018-08-03 00:05:20 -04:00
Masud Zare
9d642fa0b3 return 204 when mbtiles error is 'Tile does not exist' 2018-05-07 15:21:41 +04:30
Michal Illovsky
c333197a7c Skipping also 304 status codes when in silent mode 2018-03-22 09:02:09 +01:00
Michal Illovsky
45df72df51 Enable silent mode with -s option to not log successful request (status=200) 2018-03-19 13:47:17 +01:00
loicgasser
edff8ce06c Fix version and positional argument for mbtiles 2018-03-12 11:53:11 +00:00
loicgasser
df05ce3f2a Add default val in description 2018-03-08 17:55:30 +00:00
loicgasser
a74ca20375 Replace nomnom with commander 2018-03-08 16:05:58 +00:00
Petr Sloup
734d1f01f0 Prioritize font fallbacks and try to respect proper font style 2017-12-14 09:55:57 +01:00
Rani Pinchuk
81f65af3a8 Fix log message when incorrect header exception is caught 2017-11-09 18:00:41 +01:00
Rani Pinchuk
a0eb5800fd Catch incorrect header exceptions 2017-11-03 16:53:45 +01:00
Tim Schaub
2f9059d09e Unnecessary promise wrapping 2017-10-23 10:05:30 -06:00
Tim Schaub
e11c8f9315 Reject font listing promise on error 2017-10-23 10:01:43 -06:00
Tim Schaub
650718e0f6 Avoid swallowing rejected font listing promise 2017-10-23 10:01:43 -06:00
Tim Schaub
5ed632c229 Reject source info promise on error 2017-10-23 10:01:32 -06:00
Tim Schaub
f545076986 Avoid swallowing rejected source info promise 2017-10-23 10:01:19 -06:00
Tim Schaub
3d48485475 Reject on font loading error 2017-10-23 10:01:16 -06:00
Tim Schaub
c060dedf20 Avoid swallowing rejected font loading promise 2017-10-23 10:01:01 -06:00
Tim Schaub
cd1f5fd04a Return after rejecting, catch and log 2017-10-23 09:46:04 -06:00
Alban Mouton
dc6be5047c missing public_url in tiles urls 2017-10-18 14:49:10 +02:00
Alban Mouton
875521c5a8 add public_url option 2017-10-18 13:51:37 +02:00
Petr Sloup
82f179b07c Minor fix for correctly serving empty responses for missing tiles 2017-10-02 13:56:32 +02:00
Osmo Salomaa
89878015bb Make raster tile renderer pool sizes configurable 2017-10-01 18:40:16 +03:00
Petr Sloup
d9f8582279 Remove node-pngquant-native dependency
- Unnecessary native dependency
- It was disabled by default
- Has issues on certain platforms
- Not optimal for production use (performance)
2017-09-15 17:06:42 +02:00
Tim Schaub
7bdb7afcb9 Reuse the function for creating empty responses 2017-08-23 11:30:05 -04:00
Tim Schaub
2e46700cd9 Try to create the appropriate data type on http errors 2017-08-22 14:17:53 -04:00
Petr Sloup
42f24c2c99 Add concept of data decorator function 2017-07-28 09:53:32 +02:00
Petr Sloup
698c527e94 Change endpoint URLs (close #154)
- styles at /style/{id}/style.json
- rendered tiles at /style/{id}/{z}/{x}/{y}.{format}
- TileJSONs at /style/{id}.json
2017-06-22 16:37:32 +02:00
Petr Sloup
8fd7a9b42b Update dependencies to get ready for node v6 2017-06-22 16:37:32 +02:00
Tim Schaub
de83021c3d Log errors to stderr and return 2017-06-20 08:09:59 -07:00
Petr Sloup
bdc3d20524 Use promises instead of async in font concatenation (remove async dependency) 2017-05-10 10:22:39 +02:00
Petr Sloup
5d93b1d4f9 Add healthcheck endpoint (close #140) 2017-05-10 08:57:51 +02:00
Petr Sloup
d30027e992 Modify all serve_* modules to return a Promise (preparation for #140) 2017-05-10 08:56:43 +02:00
Petr Sloup
c233d23523 Fix broken static maps bounds overlay (for very large areas) 2017-05-05 16:15:10 +02:00
Petr Sloup
d67a57861d Merge pull request #155 from tschaub/reconfigure-on-sighup
Reload configuration on SIGHUP
2017-05-04 11:02:48 +02:00
Tim Schaub
a199008fa3 Enclose literal IPv6 addresses in brackets 2017-04-28 07:28:49 -07:00
Tim Schaub
e88b786073 Reload configuration on SIGHUP 2017-04-28 07:13:34 -07:00
Tim Schaub
a234041cd1 Remove unused callback 2017-04-26 08:02:18 -07:00
Petr Sloup
49a779970e Merge pull request #150 from pirxpilot/no-cors
add `--cors` option to allow for optional CORS handling
2017-04-18 09:32:11 +02:00
Petr Sloup
9545c2594e Handle scale in query-based static endpoint 2017-04-14 12:05:03 +02:00
Damian Krzeminski
6c23d95feb add --cors option to allow for optional CORS handling
we are using `cors` middleware with default options which works for most
applications, but does not allow for fine tuning (whitelisting origins
etc.)

this change keeps CORS handling as default to preserve compatibility but
also allows for specying `--no-cors` option which makes it possible to
handle CORS in an independent proxy (NGINX, another node app etc.)
2017-04-12 09:43:43 -07:00
Petr Sloup
366380395e Proper error message when metadata are missing in the mbtiles (close #147) 2017-04-11 19:10:40 +02:00
Petr Sloup
8ea665297f Minor fix in style path handling (allow absolute paths) 2017-04-07 18:53:11 +02:00
Petr Sloup
f6580c0342 Improved request logging 2017-04-04 18:46:18 +02:00
Petr Sloup
28790fda30 Alternative query-based static endpoint 2017-04-03 15:14:40 +02:00
Petr Sloup
640038a115 Add support for watermarks (close #130) 2017-03-15 17:06:26 +01:00
Petr Sloup
49a8562441 Support for proj4 string in mbtiles metadata (for static maps) (close #127) 2017-03-15 16:45:26 +01:00
Petr Sloup
1e402ed207 Add possibility to change the front page (close #128) 2017-03-15 15:50:58 +01:00
Petr Sloup
f8949c1aa9 Configurable scale factors (close #121)
Also changes default maximum from `4x` to `3x`
2017-03-15 12:09:18 +01:00
Petr Sloup
7b952ee5c0 Do not add style parameter when not needed (close #134) 2017-03-15 11:39:21 +01:00
Petr Sloup
0673c8990a Add option to disable static maps (close #129) 2017-03-14 16:12:19 +01:00
Petr Sloup
37386bfb29 Hide empty headers on index (close #125) 2017-03-14 16:02:54 +01:00
Petr Sloup
b93bc5fadc Support for handling relative subdomain patterns 2017-03-14 15:50:14 +01:00
Petr Sloup
2f2e4b8f42 Remap data link also for the rendered tiles 2017-02-01 14:57:38 +01:00
Petr Sloup
bfadeb799b Experimental option to remap data links from inside of the styles 2017-02-01 14:25:21 +01:00