Skip to content

Master update - #3725

Open
GuillaumeDSM wants to merge 87 commits into
masterfrom
dev
Open

GuillaumeDSM wants to merge 87 commits into
masterfrom
dev

Conversation

@GuillaumeDSM

Copy link
Copy Markdown
Member

No description provided.

GuillaumeDSM and others added 30 commits September 16, 2026 11:07
Interactive Cloud Agent shells resolve `node` to the platform-provided
Node (v22 via /exec-daemon/node) which precedes /usr/bin/node in PATH,
even though the repo pins Node 24 (.nvmrc, .cursor/Dockerfile). Make the
generated .cursor/env.sh prepend the directory of a system node whose
major matches .nvmrc, ahead of the platform node, while keeping the venv
bin first so python/OctoBot still resolve to the OctoBot venv.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Optional max_retry_interval samples wait between condition checks using
the same randrange semantics as wait(). Re-sample on each scheduling
cycle in return_remaining_time and blocking modes.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Assert max_retry_interval in generated DSL when LOOP_INTERVAL_MAX is set
and preserve baseline behavior without it.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
ActionsDAGParser emits max_retry_interval when LOOP_INTERVAL_MAX exceeds
LOOP_INTERVAL and validates max is not below min.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Structured auth error codes on the node API (401/503 detail.code) and
plain-language login UI: inline error, contextual tips, session-expired
banner, verify-before-persist session. UTF-8 Basic auth helper; recovery
screen copy clarifying broken local sign-in vs wrong passphrase.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Bump @drakkar.software/octobot-protocol consumer range to ^0.9.0 and
refresh the workspace package-lock.json so npm ci stays in sync.

Co-authored-by: Herklos <herklos@drakkar.software>
GuillaumeDSM and others added 24 commits September 24, 2026 21:25
Replace stacked quiz inputs with the same numbered grid as reveal. Only
pickSeedQuizPositions cells are editable; blur validation shows field errors
or morphs correct answers into confirmed chips. Continue stays disabled
until all three quiz words are confirmed.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Read event.target.value on blur so validation runs after the latest
keystroke instead of stale answers state from the previous render.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Use a fixed h-11 cell shell for plaintext, quiz inputs, and confirmed chips.
Style quiz inputs borderless inside the cell and reserve a footer row for
field errors so grid rows stay aligned. Widen Add wallet seed onboarding
and setup seed flow containers for the 12-word grid.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Add shared cryptoSecretInputProps and apply to seed quiz cells,
Settings import seed/private key fields, and setup private key import.
Passphrase fields unchanged. Vitest covers the helper and quiz markup.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Implement passphrase reset via BIP39 seed or hex private key proof,
unauthenticated recover API endpoint, dual-bucket rate limiting, and
/login/recover-seed UI with success banner on return to login.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Split /login into a layout route with Outlet so /login/recover-seed
renders the recovery form instead of the unlock screen.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Do not upgrade the Nth failed recovery response to 429; the entry
is_rate_limited check blocks follow-up attempts.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Move recover back link below CTA, drop prove-ownership subheader, and
use proof-field placeholders. Show post-recover success via Sonner toast
on login instead of an inline banner.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Move dual-bucket failure limiting into node_api_interface core helper;
wire recover-from-seed through a thin recovery policy module. RAM-only
counters remain per-process (no shared store).

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
Move InProcessFailureRateLimiter to octobot_commons. HTTPRateLimiter
subclasses it and raises HTTP 429; recover-from-seed uses
http_failure_rate_limited with dual-bucket policies unchanged.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>

docs(commons): docstrings for in-process rate limiter methods

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>

refactor(node-api): stack recover rate-limit decorator on route

Use @http_failure_rate_limited on recover_wallet_from_seed_route with
router.post outermost; HTTP wallet mapping via a thin wrapper decorator.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>

fix(node-ui): remove leftover merge conflict markers in login.tsx

Keep Outlet-only login layout; login and recover-seed remain child routes.

Co-authored-by: Guillaume De Saint Martin <GuillaumeDSM@users.noreply.github.com>
@GuillaumeDSM GuillaumeDSM self-assigned this Oct 1, 2026
@GuillaumeDSM
GuillaumeDSM requested a review from Herklos as a code owner October 1, 2026 07:31

This branch has not been deployed

No deployments
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.

3 participants