Repository navigation
Keystar v0.14.0
Upgrade notes
Industry jobs need two optional character scopes.
- Add
esi-industry.read_character_jobs.v1andesi-universe.read_structures.v1to the scopes of your EVE
application at https://developers.eveonline.com/applications. Nobody is asked for them unless they enable
industry access on the Industry access page, but without them on the application that EVE login fails with
invalid_scope. - Update as usual; the database migrations run on start.
Added
- Ore types in the daily mining chart. Click a resource in the "Daily ISK by resource" chart (or its legend) to
stack the days by its ore types instead, such as Spodumain, Kernite and Scordite, with the smaller ones combined
into "Other". When only one resource was mined, the chart and the resource mix show its ore types straight away.
(PR #173) - 3D universe map. Add a searchable star map under Combat with system names, security status and real positions;
Threat Intel system links focus the map and show jump range and light-year distances.
(PR #87) - Travel and jump planning. Calculate shortest stargate routes with two-hour gate-kill evidence and linked
killmails, plus carrier, jump freighter and Black Ops range highlighting with Jump Drive Calibration selection.
(PR #87) - Industry jobs. A new Industry Jobs page under Industry lists the industry jobs of your own characters:
manufacturing, material and time efficiency research, copying, invention and reactions, each with a progress bar,
the time left (counting down live) and the end time, and the station or structure it runs in with its system.
Filter by running or finished jobs, character, activity, system and station; tiles count running jobs, jobs ready
to deliver and jobs ending within a day. Access is opt-in per character on the new Industry access page, like
skills and mail, so nobody is asked for the two new scopes (esi-industry.read_character_jobs.v1,
esi-universe.read_structures.v1) at sign-up; add them to the EVE application (seedocs/deployment.md). Only you
see your characters' jobs. (#105) - Skill queue timeline. Each character's card shows the queue as one strip, like the training-time bar in
game: every skill takes a slice proportional to the time it still needs, with day, week or month marks below.
Pointing at a slice highlights its row in the queue table and the other way round. - Load on System Info. The page now shows the CPU share, memory and JS heap of the web app and the worker, the
container's memory against its limit, free host memory and the host's load average.
Changed
- Map interaction. Use compact glass panels, batched rendering and cached geometry; support mouse rotation and
panning, looping route illumination, system focus with fading rotation, reduced motion and wheel zoom without page
scrolling. (PR #87) - Mining P&L: when income comes from wallet sales, it is now net of sales tax instead of counting the tax as an
expense: each sale on the Income tab shows the tax paid on it and its net, and the tax counts whenever the sale
does, without a review of its own. Broker fees stay expenses and are easier to review: each shows the journal's
description and time, and "Include all" counts every suggested broker fee at once. - Null-sec security status (0.0 and below) is shown in red instead of purple in every security pill, so the
security colours run from blue at 1.0 to red.
Fixed
- Map and Intel review fixes. Cache map route lookups; let scan viewers read saved briefings without regenerating
them, keep rewriting permission-gated, restore a pilot profile shortcut and align briefing severity with the
three-tier danger model. (PR #87) - An appraisal with an absurdly long quantity (hundreds of digits) no longer stores and shows an infinite total; such
a quantity is no longer read as one. A member can start at most 30 appraisals per ten minutes (failed and deleted
ones included), and appraisals are deleted after a year, so the appraisal table no longer grows without bound.
(#155) - A token refresh keeps the new refresh token EVE SSO hands out even if checking the new access token then fails
(for example when CCP's key endpoint is unreachable), so pilots are no longer asked to re-authorise for nothing.
Refreshes no longer hold the token row locked while waiting on CCP, so switching scopes or logging in doesn't stall
behind them, and a malformed SSO response no longer leaves a token that can't be refreshed.
(#141) - Disabling an account now pauses its characters' background syncs (wallet, mail, industry, skills) and token
refreshes until it is enabled again, and corporation syncs no longer use its characters. Unlinking a character also deletes its imported wallet and mail data in the
same step as the link, so an interrupted unlink can't leave it behind to reappear when the character is linked
again. (#151) - The corporation roster and industry jobs are stored again after a failed sync, or after a character was
unlinked and linked again, instead of waiting until ESI's data changes. Unlinking or transferring a character, and
deleting its industry data, also removes the ESI responses Keystar had cached for it, and cached responses
without an expiry are cleaned up after a week. (#139) - A mining ledger from ESI that lists the same pilot, ore and day twice (for example after the pilot changed
corporation that day) no longer makes the moon-mining import fail on every run until that day drops out of ESI's
30-day ledger. Repeats are merged before saving, and ore mined under two corporations on one day is added up.
(#149) - In English, the killboard's permissions in Users & Roles, its background jobs and its browser tab title now
say "Combat Report" like the sidebar, instead of "Killboard". - Wallet imports read ESI's available history again after deleting wallet data or relinking a character, instead
of skipping it because of a stale sync cursor. (#138) - Linking a character back to your own account after moving it to another of your EVE accounts no longer deletes
its wallet history, mail and industry jobs; they are only removed when a character changes hands.
(#140) - Mail sync no longer removes older stored messages if ESI ignores a paging cursor or returns an empty page while
listing a mailbox. (#137) - Right-aligned column headers in tables (the Load and Database tables on System Info, the actions column on
Users) now line up with their values instead of sitting on the left.
(PR #133) - Role and access changes, settings changes and scope switches now write their audit log entry in the same
transaction as the change, so a database error can no longer leave a change without an audit trail. Other audit
entries that can't be written are counted, and System Info warns about them in a new "Audit log written" check.
(#156)
Docker image: ghcr.io/theragus/keystar:0.14.0
# in .env: KEYSTAR_VERSION=0.14.0
docker compose pull && docker compose up -d