Skip to content

chore(deps): Bump next from 14.2.18 to 14.2.35 in /plp-platform in the npm_and_yarn group across 1 directory#1

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/plp-platform/npm_and_yarn-c61ea41056
Closed

chore(deps): Bump next from 14.2.18 to 14.2.35 in /plp-platform in the npm_and_yarn group across 1 directory#1
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/plp-platform/npm_and_yarn-c61ea41056

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Dec 23, 2025

Bumps the npm_and_yarn group with 1 update in the /plp-platform directory: next.

Updates next from 14.2.18 to 14.2.35

Release notes

Sourced from next's releases.

v14.2.35

Please see the Next.js Security Update for information about this security patch.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps the npm_and_yarn group with 1 update in the /plp-platform directory: [next](https://github.com/vercel/next.js).


Updates `next` from 14.2.18 to 14.2.35
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v14.2.18...v14.2.35)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 14.2.35
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Dec 23, 2025
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github Dec 23, 2025

Superseded by #2.

@dependabot dependabot Bot closed this Dec 23, 2025
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/plp-platform/npm_and_yarn-c61ea41056 branch December 23, 2025 04:47
aitankfish added a commit that referenced this pull request May 23, 2026
Two bugs and a content update in one commit.

Bug #1 — the entire /docs/build/ section was being silently dropped
from git
====
The root .gitignore had `build/` (intended to catch Next.js build
output) which matched the docs Fumadocs source dir
`apps/docs/content/docs/build/`. The existing `!docs/build/` exception
only covered the legacy Mintlify directory at the repo root, not the
Fumadocs path. Result: every file in apps/docs/content/docs/build/ —
quickstart, architecture, public-api, on-chain-program,
agent-integration, meta.json — was untracked in every branch. None
of them are in any commit. The pages that show up on
docs.pnl.market today are a stale Vercel cache from before the
gitignore broke things.

Fix: add `!apps/docs/content/docs/build/` exception. Force-add the
whole directory in this commit so future Vercel rebuilds have the
actual source.

Bug #2 — agent-integration.mdx page was stale by ~30 commits
====
The page still said "What's coming next: MCP server" and listed
`pnl_vote_intent` as a planned tool. The MCP server is shipped
v0.4.0 with 16 tools, 9 endpoints, autosign, encrypted local
wallet, claim flow, notifications. The page misrepresented the
product to anyone who landed on it.

Fix: rewrite the page around the shipped state. Tool surface table.
Trust model explained. Slash commands listed. Read-only integration
path documented for agents that don't need write access. Cards
linking to the new MCP server reference page.

New content — /docs/build/mcp-server
====
Canonical reference for @pnl/mcp-server. Install (one-shot + manual).
Full tool surface with auth model per category. Deep-link vs autosign
flows. Trust model: autosign cap (default 0.05, override can only
lower never raise), claim uncapped (withdrawal), sig-auth payload
binding (sha256 of canonical body folded into challenge), on-chain
verification. Backend endpoints listed with the challenge format
documented. Env vars (PNL_API_BASE_URL, PNL_RPC_URL, PNL_PASSPHRASE)
with override guidance. Wallet file layout. Example flow ("pitch +
notify" round-trip). Non-custodial framing tied back to the
regulatory-posture page.

Added to apps/docs/content/docs/build/meta.json nav.

README — MCP section
====
Root README's "For AI Agents & Integrators" section gains a fourth
sub-surface: the MCP server. Install snippet, tool surface count,
trust model summary, deep-links to the docs site and the apps/mcp
README. Now 4 surfaces, not 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aitankfish added a commit that referenced this pull request May 23, 2026
…ders

User reported that the bet-amount slider on the browse page felt
janky during drag. Tracing the symptom led to two related issues
and one bonus polish.

#1 — MarketCard not memoized → cascading re-renders
=====================================================
BrowsePage re-renders on every socket event (every YES/NO vote
anywhere on the platform). Each parent re-render cascades to every
MarketCard. During a slider drag, those interrupt re-renders hit
the input mid-flight and the controlled-value handoff jitters.

Fix:
- Wrap MarketCard in React.memo so a card only re-renders when one
  of its own props changes ref.
- useCallback the handleQuickVote handler in BrowsePage so the
  prop reference stays stable across BrowsePage renders. Without
  this, every parent render passes a new function ref and the memo
  bails immediately.

Default shallow-equal works because:
- `market` ref is preserved across useMemo runs when the underlying
  market data hasn't changed (useMemo returns the same object).
- `position` comes from a useMemo Map, recreated only when
  positionsData refetches.
- Boolean props (isHot, isNew, isPulsing, voting) and primitives
  are trivially comparable.

#2 — Socket bursts → N parent re-renders per tick
=====================================================
useAllMarketsSocket fired setMarketUpdates() on every market:update
event. A burst of trades — common during hot-market moments — meant
N consecutive React renders on every consumer of the hook.

Fix: batch incoming events with requestAnimationFrame. Pending
updates accumulate in a ref; the first event in a frame schedules
one flush. Re-entrant events within the same ~16ms tick coalesce
into the same flush. Cleanup cancels any pending rAF on unmount so
we don't setState on a dead component.

Max added latency: 16ms. Effective throughput cap: 60 parent
re-renders/sec (versus potentially hundreds/sec under busy market
load).

#3 — Skip-recently-synced gate on performInitialSync (bonus)
=====================================================
On every server restart, sync-manager fetched every market's
on-chain state via getAccountInfo (1 Helius credit each). On a
rolling deploy where the previous instance kept the on-chain state
fresh, that's wasted RPC.

Fix: in performInitialSync, skip markets whose lastSyncedAt is
within the last 60s. The WS event processor (now coming back
online) will continue keeping them fresh. Project the lastSyncedAt
field in the Mongo find() so we can decide cheaply.

For a deploy where every market was just synced, this reduces
initial-sync RPC calls to ~zero. For a cold deploy after a
long outage, behaves identically to before.

──────────────────────────────────────────────────────────────────
Files
──────────────────────────────────────────────────────────────────
  apps/web/src/app/browse/page.tsx
    - import useCallback
    - wrap handleQuickVote in useCallback
    - wrap MarketCard in React.memo

  packages/shared/src/hooks/useSocket.ts
    - rAF batching of pendingMarketUpdatesRef in useAllMarketsSocket
    - cleanup cancels pending rAF

  apps/web/src/services/blockchain-sync/sync-manager.ts
    - project lastSyncedAt in performInitialSync
    - skip markets with lastSyncedAt within 60s
    - log skip count alongside the fetch-count message

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants