Skip to content

Releases: memoryfraction/Quant.Infra.Net.Pro-Public

Quant.Infra.Net.Pro.Web.CharleSchwab

Choose a tag to compare

@memoryfraction memoryfraction released this 08 Jul 15:20

Fix: Settings page now correctly navigates to Dashboard after saving Schwab credentials

Problem: On macOS and Linux, after entering Schwab API credentials (AppKey, AppSecret, AccountNumber) on the Settings page and completing the OAuth login flow, the application would return to the Settings page instead of proceeding to the Dashboard. This prevented users from completing the initial setup and accessing the trading dashboard.

Resolution: The post-authentication flow now properly directs users to the Dashboard after saving credentials and completing Schwab authorization. The end-to-end workflow — Settings → Schwab authorization → Dashboard — is now seamless on all platforms.

Quant.Infra.Net.Pro.Web.CharleSchwabIntegration

Choose a tag to compare

@memoryfraction memoryfraction released this 07 Jul 04:23

Fix: Cross-platform interactive authorization—replaced the system browser with Playwright to resolve Firefox/dconf authorization failures under Linux sudo.

Key changes:

  • Added SchwabInteractiveAuthService: Uses Playwright Chromium (visible window) to complete the initial OAuth authorization, eliminating reliance on the system browser.
  • Added a "Quick Authorize" button to the Sign-In page.
  • Program.cs: Skipped automatic browser launching via Process.Start on Linux (to avoid sudo + snap dconf issues).
  • SignInController fixes: Changed "fire-and-forget" Task.Run to await; changed HttpContext.RequestAborted to CancellationToken.None.
  • Added status banners to the Dashboard for "Unauthorized" and "Authorization Expiring Soon" states.

Quant.Infra.Net.Pro.Web.CharleSchwab

Choose a tag to compare

@memoryfraction memoryfraction released this 03 Jul 01:49

Quant.Infra.Net.Pro v1.5.4

This release fixes the /Rebalance account-value basis so portfolio percentages and suggested rebalance actions align with Charles Schwab’s Total accounts value view.

What Changed

  • Fixed rebalance calculations to use Charles-style Total accounts value instead of the previously mapped NetLiquidateValue when they differ.
  • Included cash and money market positions consistently in the rebalance basis.
  • Fixed Target Portfolio rows so Value, Current %, Drift, and Action show calculated data instead of always staying at $0, 0%, or .
  • Updated account-level Current % and Drift to align with Charles % of Acct behavior.
  • Allowed Rebalance % / core allocation to be set to 100% when no free allocation is desired.
  • Updated in-app version history and README to 1.5.4.

Why It Matters

Previously, accounts holding cash or money market positions such as SWVXX could show incorrect rebalance percentages because the calculation basis excluded part of the Charles account value. This could make target allocations appear overly large and produce incorrect sell/buy suggestions.

Validation

  • dotnet build --no-restore passed
  • dotnet test --no-build passed
  • 58 tests passed

Quant.Infra.Net.Pro.Web.CharleSchwab

Choose a tag to compare

@memoryfraction memoryfraction released this 02 Jul 06:03

This release focuses on financial compliance logging hardening and safer error handling.
Key improvements:

  • Added centralized sensitive-data redaction for logs and user-facing error surfaces
  • Stopped emitting OAuth authorization codes, token fragments, and token refresh response bodies in normal logs
  • Removed account value amounts, order identifiers, and cookie storage paths from routine operational logs
  • Replaced raw exception messages in API errors, redirect query strings, and Blazor error banners with safer generic messages
  • Updated version history and documentation to reflect the new compliance safeguards

Result:
Reduced risk of leaking financial or credential-sensitive information through local logs, API responses, browser history, screenshots, or support captures

Quant.Infra.Net.Pro.Web.CharleSchwab

Choose a tag to compare

@memoryfraction memoryfraction released this 28 Jun 07:11

✨ New Features
Options API (OptionsController) — 3 Swagger-documented endpoints:
GET /api/v1/options/chain/{symbol} — Real-time option chain with full Greeks (Delta, Gamma, Theta, Vega, Rho, Implied Volatility). Supports contractType (CALL/PUT) and strikeCount filters.
GET /api/v1/options/history/{symbol}?download=csv — Historical OHLCV price data for any option OCC symbol (e.g., AAPL_{expiry}_{strike}C00). Returns JSON by default; append ?download=csv for a downloadable CSV file. Supports minute/daily/weekly/monthly frequency.
POST /api/v1/options/history/batch — Batch download historical OHLCV data for up to 50 option symbols in a single request. Returns a downloadable JSON file.
All endpoints are fully documented in Swagger UI at /swagger.

🛠️ Code Quality
Fixed XML doc warnings in AccountManager, LicenseTelemetryService, and RebalanceService (missing/broken param tags, missing bilingual Chinese/English comments)
Added bilingual Chinese/English XML comments to the AccountManager class and constructor

Quant.Infra.Net.Pro.Web.CharleSchwabIntegration

Choose a tag to compare

@memoryfraction memoryfraction released this 25 Jun 05:43

This release focuses on reliability, safety, compliance messaging, and user-visible product polish for the Charles Schwab local trading gateway.

Highlights

  • Restored the global bottom-right version badge.

    • The badge now links to the in-app version history page.
    • The current version is read from the application assembly instead of being hard-coded.
  • Updated the in-app version history.

    • Added recent release entries for v1.4.6, v1.4.7, and v1.4.8.
    • The version history page now reflects the real current application version.
  • Added Schwab-aligned compliance wording.

    • Clarified that the product is intended for Schwab Individual Developers using their own Schwab brokerage account and their own approved Schwab Trader API credentials.
    • Added self-directed trading, non-advisory, and user-responsibility language across onboarding, settings, EULA, README, and license text.
    • Added a US financial compliance checklist for product, support, marketing, and documentation boundaries.
  • Strengthened auto-execution safeguards.

    • Auto execution now requires an explicit risk acknowledgement.
    • External positions are treated as manual instructions and are not submitted automatically through Schwab.
    • Rebalance messaging now better separates Schwab auto actions from external manual actions.
  • Improved test compatibility and build health.

    • Updated license telemetry tests to match the current LicenseTelemetryService constructor.
    • Full solution tests now pass: 50 tests passed, 0 failed.

Notes

This release does not provide investment advice, legal advice, tax advice, financial planning, brokerage, custody, fiduciary, or discretionary asset-management services. All trading strategies, symbols, allocations, thresholds, and execution choices remain user-configured and self-directed.

Validation

  • dotnet build passed.
  • dotnet test src\Quant.Infra.Net.Pro\Quant.Infra.Net.Pro.sln --no-restore passed.
  • Test result: 50 passed, 0 failed.

Quant.Infra.Net.Pro.Web.CharleSchwab

Choose a tag to compare

@memoryfraction memoryfraction released this 23 Jun 07:00

Technical Requirements & Bug Reports Resolved
1. Loading Masks for Time-Consuming Communication
All time-consuming communication/API requests currently only display prompt messages. They should be updated to use a loading mask (overlay).
1.1 Display an appropriate loading message, e.g., "Communicating, please wait patiently. Do not close the software." At the same time, user modifications must be disabled during this period.
1.2 Utilizing a loading mask will effectively prevent users from making unauthorized changes during execution.

2. Multi-Asset Rebalancing Notification
If the Multi-Asset Rebalancing strategy is set to manual trigger, an email notification should be sent whenever a rebalancing event is triggered.

3. [Bug] Inactive Buttons in Multi-Asset Rebalancing
In the Multi-Asset Rebalancing module, clicking the Add, Import, or Export buttons results in no response.

4. [Bug] Inactive Calculate Button
In the Multi-Asset Rebalancing module, clicking the Calculate button results in no response.

Quant.Infra.Net.Pro.Web - V1.4.5

Choose a tag to compare

@memoryfraction memoryfraction released this 22 Jun 09:29

Added a multi-asset rebalancing strategy.
Screenshot_1

Quant.Infra.Net.Pro

Choose a tag to compare

@memoryfraction memoryfraction released this 18 Jun 08:03

Restart after the lost of Internet Automatically.

Quant.Infra.Net.Pro.Web.CharleSchwabIntegration

Choose a tag to compare

@memoryfraction memoryfraction released this 17 Jun 01:40

Increased free trial to 90 days in this version