Master update - #3622
Merged
Merged
Conversation
…r created through ServiceFactory save_service_config() crashed with AttributeError: 'NoneType' object has no attribute 'config' when NodeApiService.edited_config was never set (interface initialize() failed but was started anyway). Raise a typed ServiceConfigurationError instead, and stop silently discarding a failed interface initialize() so this is visible in logs going forward. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The DSL run_octobot_process operator spawns child bots as [sys.executable, <cwd>/start.py, ...], but the Docker image never copied start.py into /octobot, so every process-bound automation raised "start.py not found" (#3596). Copy start.py into the image and wire it into the pants docker_image build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
buildAuthHeader (node-config.ts, logs-export.ts, octochat.ts) fell back to the literal username "node" and an empty password when no real session existed, so an unauthenticated or partially-set-up browser sent Basic node: / Basic address: and the server rejected it as "Incorrect address or passphrase" (issue #3593) instead of staying unauthenticated. Now both the wallet address and a stored password are required before a header is built; otherwise it throws locally instead of hitting the API. login.tsx's matching "node" fallback (zero wallets configured) now bails out instead of submitting a fabricated address. setup/index.tsx and useAuth.ts now persist the password before writing auth_username, so a failed IndexedDB write (private browsing, blocked storage) can't leave isLoggedIn() true with no password ever saved -- the race that produced this exact passwordless-session state. The browser's native auth-popup itself (WWW-Authenticate: Basic on 401) was already fixed upstream in 98d8db5; this addresses the remaining report of the passphrase-mismatch error appearing after setup. re #3593 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A pre-multi-wallet OctoBot version stored a bare private-key string at config["community"]["wallets"][chain_type][chain_network]. The multi-wallet refactor reused that exact same path to store a list of wallet entry dicts instead, so upgrading users with an old wallet still there hit list_wallets() iterating the string character by character and raising AttributeError: 'str' object has no attribute 'address' -- 500ing GET /wallets/ and blocking login entirely (issue #3591). ConfigJsonWalletStorage.load() and DedicatedFileWalletStorage.load() now treat a non-list value as no wallets stored instead of crashing. ConfigJsonWalletStorage additionally deletes the invalid legacy value from config so it stops being read as (invalid) wallet storage content; setup can then create a new wallet at the now-clean path. re #3591 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Root path returned a bare 404; redirect it to the node web UI when the frontend build is present, matching the target already used by the browser auto-open and the legacy dashboard link. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Herklos
approved these changes
Aug 6, 2026
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.
No description provided.