v0.1.4: Historical sessions (build from history / combine), docs sync, CI releases - #4
Merged
Conversation
Code comments, XAML comments, csproj/props comments, test comments, and the SQL comments inside the DDL strings no longer cite plan numbers, TODO/BUGS/ QUESTIONS/CLEANUP files, decision-round shorthand, or other markdown; each comment now carries its rationale inline. The code is the source of truth. Docs re-verified against the code and corrected: README feature list, technical.md (solution layout, startup chain, logging, settings keys, session state machine, Reports window), session-schema.md (widget_layout kinds, NULL columns for Residue, missing settings keys, legacy id migration), sde-schema.md, market-schema.md (session-bound reads, split-mode rule, fetched_at shape, Haul Value path), manual-tests.md (schema version, log file name, window titles, app version, Excel labels, Add-station scenario). Stale comments that contradicted the code were fixed to match it. Test helper Plan18PricingFactory renamed to PricingPipelineFactory.
Forgot to press Start? Reports now has Build from history... (pick a window
in EVE time + a fleet; the gamelogs, including old\, are parsed for the
untracked parts) and Combine selected... on the sidebar context menu (two or
more ticked sessions, no parsing). One dialog, one action button that walks
the user through Check overlaps -> Build.
Rules: a pilot belongs to one session at a time. Saved sessions that overlap
the window and share pilots with the fleet are listed; ticked ones are
combined (their log rows are copied verbatim), unticked ones have their
pilots' time excluded from the parse so nothing is counted twice. A ticked
session that brings extra pilots prompts to create a union fleet; declining
leaves it out instead. Sources are archived (hidden everywhere, never summed
into Lifetime Totals) with merged_into pointing at the new session; deleting
the combined session un-archives them. Show archived in the sidebar reveals
them for inspection / export / delete.
Time accounting mirrors a live session: merged sources' own session_time
rows govern their spans (active intervals unioned), and each untracked gap is
paused until its first Tick/Crit, active from there, with a pause synthesised
after any gap longer than auto_pause_idle_minutes. The new session gets its
own market_data rows: per-type averages of the rows captured inside the
window at the selected station, with a gap-fill at today's prices for
anything missing; the summary says which applied.
Schema v3: session.archived + session.merged_into via a pre-checked
ALTER TABLE ... ADD COLUMN (shared SqliteSchemaExtensions.TryAddColumnAsync,
now also used by the SDE initialiser). SQL comments stay outside CREATE
TABLE bodies because DROP COLUMN rewrites the stored statement text. JSON
export/import carry the two fields (older files default them).
Session name templates gain {{$STARTDATE}} / {{$ENDDATE}} (16Aug) and
{{$YYYY}}; the dialog defaults to '{{$STARTDATE}} - {{$ENDDATE}} {{$YYYY}} history'.
81 new tests across Core, Mining, Stats, MarketData, SessionIO, Persistence,
Reporting and App.Wpf; manual-tests Section 12.6; README, technical,
session-schema and market-schema docs updated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this ships
Historical sessions — build a session after the fact from a past date/time window (read straight from the gamelogs, including
old\), or combine two or more saved sessions into one. Overlapping saved sessions are listed for the user to combine or exclude (a pilot is never counted in two sessions), partial fleet matches offer a union fleet, sources are archived with amerged_intopointer (delete = undo), and the new session gets its own market rows (window averages, today's prices as the fallback, with a notice). Schema v3 addssession.archived/session.merged_intovia an idempotent migration. 81 new tests; manual-tests Section 12.6.Comment / doc sweep — code comments no longer cite plan numbers or planning markdown; docs re-verified against the code.
Version 0.1.4 + its
CHANGELOG.mdsection.Commits
ab52c6bCI workflow (build + test on master/PRs, automatic release on a new version) — already committed on localmaster; it shows in this PR only because origin/master has not been pushed yet. Pushing master first drops it from the diff.207732aScrub planning references from code comments and sync docs to the codeeec9c76Historical sessions: build from a date range or combine saved sessions97a3664Bump version to 0.1.4 and add its changelog sectionVerification
dotnet build: 0 warnings / 0 errors.dotnet test: 1,229 passed, 0 failed (2 manual-only network tests skipped).tests/manual/manual-tests.mdSection 12.6.On merge
The CI workflow's release job sees
<Version>= 0.1.4 with nov0.1.4tag and publishes the release (EVEDashboard.exe+EVEDashboard.zip) with the## v0.1.4changelog section as its notes.