Skip to content

Update official addons to SDK 3.6.0#4

Merged
afadil merged 4 commits into
mainfrom
chore/addons-sdk-3.6.0
Jul 5, 2026
Merged

Update official addons to SDK 3.6.0#4
afadil merged 4 commits into
mainfrom
chore/addons-sdk-3.6.0

Conversation

@afadil

@afadil afadil commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Updates the three official addons to the Wealthfolio 3.6.0 SDK and sets 3.6.0 as the minimum runtime.

Changes

  • Version bumps (Goal Progress Tracker, Investment Fees Tracker, Swingfolio): version + sdkVersion3.6.0 in manifest.json and addon.store.json; minWealthfolioVersion is 3.6.0; distribution r2Path points at the 3.6.0 folder.
  • Dependencies: @wealthfolio/addon-sdk, @wealthfolio/ui, @wealthfolio/addon-dev-tools moved to ^3.6.0 (peer + dev); pnpm-lock.yaml refreshed to resolve all @wealthfolio/* at 3.6.0.
  • Route API migration (breaking SDK change): SDK 3.6.0 removed RouteConfig.component. All routes now register via the render({ root }) callback using createRoot(root).render(...) and call root.unmount() on disable.
  • Swingfolio features included in this release: calendar trade-breakdown dialog, mobile section switcher, and calendar week-start preference.
  • Docs: added 3.6.0 entries to each CHANGELOG.md; regenerated official/README.md (was stale at 3.4.0).

Verification

  • pnpm check (validate:addons + type-check:official) passes.
  • pnpm build:official builds all three bundles cleanly.

Notes

  • The assets/cover-light.webp / cover-dark.webp referenced by each addon.store.json are still placeholders (pre-existing validation warning) and should be added before store publish.

afadil added 4 commits June 9, 2026 16:13
Fix "Invalid input: Account scope includes unknown account 'TOTAL'":
the legacy magic "TOTAL" aggregate accountId was removed in the 3.x
data-model refactor, and SDK 3.5.1 now validates account scope and
rejects unknown ids. Aggregate holdings across the real account ids
referenced by activities instead, deduped by holding id.

Bump SDK/UI/dev-tools deps and manifest/store metadata to 3.5.1.
Bump Goal Progress Tracker, Investment Fees Tracker, and Swingfolio to
3.6.0 and require Wealthfolio 3.6.0 as the minimum runtime.

- Bump version and sdkVersion to 3.6.0 across manifest.json and
  addon.store.json; align distribution r2Path to the 3.6.0 folder.
- Move @wealthfolio/addon-sdk, @wealthfolio/ui, and @wealthfolio/addon-dev-tools
  peer/dev deps to ^3.6.0 and refresh pnpm-lock.yaml.
- Migrate route registration to the SDK 3.6.0 API: routes now render via
  the render({ root }) callback with createRoot(...) and are unmounted on
  disable, replacing the removed RouteConfig.component/React.lazy shape.
- Swingfolio: ship the calendar trade-breakdown dialog, mobile section
  switcher, and calendar week-start preference.
- Add 3.6.0 CHANGELOG entries and regenerate official/README.md.

@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: 11e07580dc

ℹ️ 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".

// the 3.x data-model refactor (getHoldings now resolves a single real
// account and returns [] for an unknown id), so aggregate holdings across
// every account referenced by the activities instead.
const accountIds = [...new Set(activities.map((activity) => activity.accountId))];

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 Include activity-less accounts in portfolio value

When a user has holdings-mode accounts or any account with current holdings but no activity rows, deriving accountIds only from activities omits those accounts from the per-account getHoldings calls. The portfolioValue denominator then excludes part of the portfolio, so feeAsPercentageOfPortfolio is overstated compared with the previous aggregate TOTAL behavior; fetch all active accounts/valuations rather than using activities as the portfolio universe.

Useful? React with 👍 / 👎.

@afadil afadil merged commit 1d34fd7 into main Jul 5, 2026
2 checks passed
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