TinyChain-Inc / TinyChain-Inc/client
[JS][J3] Separate Node and browser adapters and validate SSR/hydration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 32
Description
Objective
Implement explicit Node and browser adapters behind the same JS-client contract, preserving user delegation in Node and preventing privileged code or credentials from entering browser bundles, HTML or hydration state.
Acceptance criteria
- Conditional exports/build checks prove browser bundles exclude Node credential/storage modules.
- SSR and browser hydration use the same public client contract.
- User-delegated and service-owned Node operations are explicit and auditable.
- Session expiry, revocation, cross-tenant, hostile hydration and confused-deputy tests fail closed.
- Playwright verifies the full SSR → hydration → authenticated request flow.
Parent: #74
Tembo execution contract
automation:
eligible: true
executor_profile: tembo
readiness: blocked
primary_repository: TinyChain-Inc/client
base_branch: main
writable_scope:
- js/src/**
- js/tests/**
- web/src/**
- web/tests/**
- web/scripts/**
- web/package.json
- web/package-lock.json
prerequisites:
- "#85"
- "TinyChain-Inc/tcv2#51"
- "TinyChain-Inc/tcv2#53"
concurrency_group: js-runtime-adapters
required_commands:
- "cd web && npm ci"
- "cd web && npm run test:all"
external_actions: none
draft_pr_only: true
completion_authority: human
visual_validation:
required: false
evidence: []
budget:
size: large
max_revisions: 3
max_wall_minutes: 120
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the permitted paths under js/src/, js/tests/, web/src/, web/tests/, and web/scripts/**, then check the prerequisites #85, TinyChain-Inc/tcv2#51, and TinyChain-Inc/tcv2#53. Run cd web && npm ci followed by npm run test:all when unblocked; done means the listed conditional-export, SSR/hydration, security, and Playwright acceptance checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js, playwright
- Domain
- security, testing, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100