Skip to content

Release DAOrganizer 0.16.0: bundled routes and optional updates - #6

Merged
BuildWithRaymond merged 26 commits into
mainfrom
feature/cross-character-organization
Oct 6, 2026
Merged

BuildWithRaymond merged 26 commits into
mainfrom
feature/cross-character-organization

Conversation

@BuildWithRaymond

Copy link
Copy Markdown
Owner

DAOrganizer 0.16.0 packages reviewed bank consolidation with bundled routes and optional stable GitHub updates. New users can install or extract the self-contained app without obtaining WorldLogs; existing profiles and Credential Manager logins stay in their current locations.

Automatic updates default off. Check/download/install controls use Velopack, with installation blocked during actions and while any owned game client remains open, including at login. Demo bypasses updater activity. Releases remain unsigned, documented alongside recovery limits.

Also restores the original launch artwork, refreshes all fictional screenshots and setup/release docs, replaces superseded images, and excludes development material from user packages. Existing transfer fixes on this branch and the approved consolidation working changes are included.

Validation: clean Release solution build; 334 unit/protocol tests; headless UI checks and sprite-backed normal/compact gallery; deterministic release-helper self-tests; x64 package/feed/checksum validation with corruption rejection; native disposable portable update installing a test version and changed files. No live game actions were revalidated.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-06T04:06:01.364333Z 9a0f786 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@BuildWithRaymond
BuildWithRaymond merged commit 36e067a into main Oct 6, 2026
1 check passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9a0f7863e4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

var after=ImmutableArray.Create(
new OrganizationItemExpectation(candidate.Source.Character,candidate.Source.Location,candidate.ItemKey,
candidate.Source.Item.Slot,beforeSource-candidate.Quantity,shape),
new OrganizationItemExpectation(candidate.Destination,"Bank",candidate.ItemKey,null,beforeDestination+candidate.Quantity,shape));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Match bank confirmations using bank-observable fields

When the source is inventory, shape includes durability, max durability, and stackability, but BankMenu.Parse necessarily creates destination-bank items without those fields. Attaching that fingerprint to the bank-side ExpectedAfter means a successful deposit of an inventory item can never satisfy OrganizationPlanContract.Matches; the wait in Organizer.Transfers.cs times out and leaves the transfer in reconciliation. Keep the exact fingerprint for source/trade validation, but confirm the destination bank using only fields its scan can observe.

AGENTS.md reference: AGENTS.md:L38-L38

Useful? React with 👍 / 👎.

Comment on lines +315 to +318
try{SaveTransferTrace(run.Id,senderResult,recipientResult);}
catch(IOException){/* Journal remains the recovery authority if local diagnostics fail. */}
}
Store.MarkTransferNeedsReconciliation(run.Id,ShortReason(ex),DateTimeOffset.UtcNow);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep diagnostic writes from bypassing reconciliation

If the optional diagnostics directory is unwritable, SaveTransferTrace can throw UnauthorizedAccessException, which is not an IOException. In this failure branch that exception escapes before MarkTransferNeedsReconciliation; the identical narrow catch after verified delivery also exits before banking begins, leaving the journal at RecipientVerified with no supported recovery action. Diagnostic persistence failures must not interrupt the durable custody transition.

AGENTS.md reference: AGENTS.md:L38-L38

Useful? React with 👍 / 👎.

Comment on lines +20 to +21
var pending=Store.ListTransferRuns(200).FirstOrDefault(x=>x.State is not (TransferRunState.Complete or TransferRunState.Failed)&&
Store.LoadOrganizationPlan(x.PlanId)?.Plan.Steps.SingleOrDefault(s=>s.Id==x.StepId)?.ItemKey==key);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Query all unfinished journals before consolidation

Once more than 200 newer transfer journals exist, an older unfinished run is omitted from this list and the same item can be offered for consolidation again. This threshold is readily reached because consolidation creates one journal per unit; moreover, schema v5 releases the source reservation after verified recipient delivery, so the database index will not necessarily catch the missed destination-held item. Query unfinished runs directly rather than limiting the safety check to recent history.

AGENTS.md reference: AGENTS.md:L16-L16

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant