Commit Graph
2355 Commits
Author SHA1 Message Date
Dmitry Popov cbbaf14fee fix(esi): honour 304 response headers when revalidating cached ESI data
ESI GETs used Req's built-in `cache: true` step. On a 304, Req replaces
the response with the whole stored 200 response, including its original
headers, and does not refresh the on-disk entry. `maybe_cache_response/4`
then saw a 200 whose `expires` was already in the past, computed a
negative TTL, and the `:api_cache` entry expired immediately. Every
tracker tick for location/online therefore missed the in-memory cache and
re-requested ESI, receiving another 304 each time.

This surfaced once ESI started returning 304s on the location/online
routes, causing a noticeable increase in wasted requests.

Replace Req's cache with conditional requests handled in ApiClient:

  * On 200, store the body plus `etag`/`last-modified` validators in
    `:api_cache` under `{:esi_validators, path}`.
  * Send `if-none-match` / `if-modified-since` on subsequent requests.
  * On 304, reuse the stored body but take `expires`, `etag` and
    `last-modified` from the 304 response, extending the fresh cache
    until the new `expires`.
  * If a 304 arrives without a stored body, retry once unconditionally.
  * Skip caching when the computed TTL is not positive.

An optional `:esi_req_options` app env is merged into the Req options so
tests can route requests through `Req.Test`.
2026-09-27 10:05:34 +02:00
CI 6c5d43936e chore: [skip ci] 2026-09-20 22:37:39 +00:00
CI 5373f6fea9 chore: release version v1.103.4 v1.103.4 2026-09-20 22:37:38 +00:00
Dmitry Popov 1b4fc4396c Merge pull request #650 from guarzo/fix/ash-codegen-drift
ci: report when Ash resources and their snapshots disagree
2026-09-21 00:37:15 +02:00
CI 6dc8736912 chore: [skip ci] 2026-09-20 20:48:55 +00:00
CI c58d6a7cf9 chore: release version v1.103.3 v1.103.3 2026-09-20 20:48:55 +00:00
Dmitry Popov c75165f095 Merge pull request #651 from guarzo/guarzo/discord-kills-1-system-class
refactor(map): move the wormhole class list into one module
2026-09-20 22:48:23 +02:00
CI 4e49171489 chore: [skip ci] 2026-09-20 18:08:32 +00:00
CI be7ed49224 chore: release version v1.103.2 v1.103.2 2026-09-20 18:08:32 +00:00
Dmitry Popov badd85902c Merge pull request #642 from guarzo/fix/test-failures-and-ci
fix(ci): make the test job fail when tests fail
2026-09-20 20:07:52 +02:00
CI dcb49e09a2 chore: [skip ci] 2026-09-20 18:07:22 +00:00
CI dd9609b0c1 chore: release version v1.103.1 v1.103.1 2026-09-20 18:07:22 +00:00
Dmitry Popov f4ace07c81 Merge pull request #649 from guarzo/fix/map-chain-snapshot-drift
fix(db): add the missing foreign key on connection locks
2026-09-20 20:06:21 +02:00
CI 1379c2c89f chore: [skip ci] 2026-09-20 18:04:28 +00:00
CI 050577f9bf chore: release version v1.103.0 v1.103.0 2026-09-20 18:04:28 +00:00
Dmitry Popov 998909b242 Merge pull request #639 from guarzo/fix/map-duplication-attrs
fix(map): duplicating a map fails with an error
2026-09-20 20:02:14 +02:00
Dmitry Popov 5ec7882400 Merge pull request #638 from guarzo/chore/node24-actions
chore(ci): move every GitHub Action off the Node 20 runtime
2026-09-20 20:01:37 +02:00
Dmitry Popov 762e359f0a Merge pull request #635 from guarzo/api-v1-authz-clean
fix(api): stop a map API key from reading other maps
2026-09-20 20:00:09 +02:00
CI 708abd5d22 chore: [skip ci] 2026-09-14 23:06:56 +00:00
CI 0606a84422 chore: release version v1.102.0 v1.102.0 2026-09-14 23:06:56 +00:00
Dmitry Popov 738863da48 Merge pull request #656 from z4nr34l/feat/map-export-import
Map export and import
2026-09-15 01:06:25 +02:00
CI 827bd7118a chore: [skip ci] 2026-09-11 11:29:58 +00:00
CI 246a473bac chore: release version v1.101.19 v1.101.19 2026-09-11 11:29:58 +00:00
Aleksei Chichenkov 3390a43eba Merge pull request #668 from wanderer-industries/feature-description-link
fix(map): Fixed links in Description - now it opens sites in new tab
2026-09-11 14:29:15 +03:00
DanSylvest 50abefe340 fix(map): Fixed links in Description - now it opens sites in new tab 2026-09-11 14:28:16 +03:00
CI 6e21706445 chore: [skip ci] 2026-09-11 10:51:32 +00:00
CI 00f87a1d03 chore: release version v1.101.18 v1.101.18 2026-09-11 10:51:32 +00:00
Dmitry Popov 67eb4507de Merge pull request #664 from guarzo/fix/webhook-api
fix: make map webhooks usable
2026-09-11 12:50:59 +02:00
CI ad580d5b35 chore: [skip ci] 2026-09-11 08:59:54 +00:00
CI 51f6cb6f97 chore: release version v1.101.17 v1.101.17 2026-09-11 08:59:54 +00:00
Aleksei Chichenkov 458ca39590 Merge pull request #667 from wanderer-industries/dotlan-settings-rework
fix(chore): Fix to_6 migration
2026-09-11 11:58:59 +03:00
DanSylvest ea7adc8840 fix(chore): Fix to_6 migration 2026-09-11 11:57:59 +03:00
CI c426f0734e chore: [skip ci] 2026-09-11 08:51:55 +00:00
CI 7e51530d3b chore: release version v1.101.16 v1.101.16 2026-09-11 08:51:55 +00:00
Aleksei Chichenkov 136fd4885b Merge pull request #666 from wanderer-industries/dotlan-settings-rework
fix(map): Added ability to select type of dotlan opening settings for system
2026-09-11 11:51:24 +03:00
DanSylvest 92da50962e fix(map): Added ability to select type of dotlan opening settings for system 2026-09-11 11:49:38 +03:00
CI a4f6f560a3 chore: [skip ci] 2026-09-10 16:38:21 +00:00
CI 6eb33ee386 chore: release version v1.101.15 v1.101.15 2026-09-10 16:38:21 +00:00
Aleksei Chichenkov b65e2b9337 Merge pull request #665 from wanderer-industries/route-planner-v2
Jump Planner - Added sidebar widget on Wanderer side which allow to setup Jump settings.
2026-09-10 19:37:50 +03:00
DanSylvest 4ac62f93a9 fix(chore): revision 2026-09-10 19:37:16 +03:00
DanSylvest 96f1bd6019 fix(chore): Expand scroll height 2026-09-10 16:52:50 +03:00
DanSylvest c231e71ff6 fix(chore): Added ability to open Jump planer from Right bar. Also changed icon for Wormholes References 2026-09-10 16:11:03 +03:00
DanSylvest 624268bc72 fix(chore): Refactor Jump planner 2026-09-10 13:35:38 +03:00
DanSylvest 582a568132 fix(chore): Added ability to select skill levels and some additional options 2026-09-10 12:00:44 +03:00
Guarzo 182cc4f436 fix: make map webhooks usable
Route toggle requests before webhook resource IDs and write generated secrets through AshCloak. Add regression coverage for routing, map scope, creation, and rotation.
2026-09-09 15:14:51 -04:00
DanSylvest 3c2d1f8ed1 fix(chore): Added storing jump planner data. Changed selection of ship type 2026-09-09 14:06:49 +03:00
DanSylvest 8ca7445433 fix(core): Route planner v2 first prototype 2026-09-08 20:19:43 +03:00
CI d70e745a9d chore: [skip ci] 2026-09-03 17:41:06 +00:00
CI 812fe6908d chore: release version v1.101.14 v1.101.14 2026-09-03 17:41:06 +00:00
Aleksei Chichenkov 689782ddb5 Merge pull request #645 from leesolway/bookmark-settings
Add spawn type and direction options to auto bookmarks
2026-09-03 20:37:08 +03:00