Changelog
v2.38.1Every change to ChipaX, newest first. The patch number counts commits and the minor number counts releases, so v2.38.1 is the 1ᵗʰ change since release 38.
August 18, 2026
- Capture referral context and report client-side analytics moments
?ref= and document.referrer are stored on first touch, before any navigation loses them, and ride along on the login event. The deposit modal beacons once per open.
f18094ca · Vigo Walker - Show the deposit minimum and relay fee in the deposit modalcd9098a7 · Vigo Walker
- Stop claiming Testnet on mainnet
The navbar badge was hardcoded; it now renders only when NEXT_PUBLIC_HL_TESTNET is set. The wallet-reset copy loses its testnet wording, and notes that the old key stays recoverable — true since the vault, and the thing a user staring at that confirm needs to know.
78f76ed6 · Vigo Walker - Drive Hyperliquid network choice from one flag
Direct-to-HL calls (price fallback, live-candle WebSocket) each named their own endpoint, one of them testnet — mixing venues with the backend proxy. NEXT_PUBLIC_HL_TESTNET now decides both, defaulting to mainnet to match the production flip.
44a19c67 · Vigo Walker - Add the /oauth consent page for account linking
Where a Chipa product (ChipaEditor first) sends its user to link their ChipaX account. The request is validated against /oauth/client before anything approvable is shown, sign-in reuses the ChipaAuth modal, and approve/deny/failure all exit by redirecting back to the product with either a code or error=access_denied.
a3906e58 · Vigo Walker
August 17, 2026
- Replay trades as an actual simulation instead of a pan
The recorder loaded the whole chart and then panned the visible range across it, so every candle after the entry was already on screen: the outcome was visible before the trade played out, which is not a replay. The charting library edition we ship has no bar-replay mode, so panning was the only thing it could offer. The replay is now painted directly onto a canvas from the candle data. That allows a bar to be revealed while it is still forming — walking open to extreme to close — and it lets the price scale ease toward its new bounds rather than snap, so the chart moves continuously rather than one jump per bar. The entry level, the profit region, the exit marker and a running PnL figure are drawn as the trade progresses. It also removes the iframe canvas compositing that made recordings come out blank: the canvas the user watches is the one being recorded, so there is no second rendering path to drift.
c1639196 · Vigo Walker - Rebuild PnL sharing on the Nocturne share card
The old share modal painted its own canvas, which meant the exported image and the on-screen preview were two implementations that could drift. ShareTradeCard is now the single source of truth for both: it is sized in container query units, so the same component serves the in-app preview, the 1200x675 landscape export and the two portrait sizes. Export rasterises the card through an SVG foreignObject. That cannot fetch subresources, so the referral QR is encoded to a data URI at render time rather than served as a file — which also keeps the code on the card and the link behind the QR from ever disagreeing. The referral code is still a placeholder pending a real referral backend; it lives in one constant so there is a single place to change.
56f161e8 · Vigo Walker - Show the demo account on portfolio, orders and assets
/demo/portfolio was reading the live Hyperliquid account and showing real balances under a demo URL, which is precisely the confusion the demo mode exists to prevent. Orders and assets had the same problem. All three now read the paper account when the path says demo. A shared adapter reshapes it into the payloads these pages were built against, so they render it unchanged and the two modes cannot drift apart visually — practising on a different-looking screen defeats the point. Portfolio shows demo equity, positions and history; orders lists resting demo orders including armed take-profit and stop-loss exits; assets reports the paper balance with an empty token table, since a paper account has no spot wallet to enumerate. Every loader re-runs when the mode changes rather than leaving the other account's rows on screen.
bae5cd16 · Vigo Walker - Run the whole app in demo mode under /demo
Demo was only the trading desk, so a demo trader who opened Portfolio or Orders was looking at their real account without being told. The mode belongs to the product, not one page. A proxy rewrites /demo/<anything> onto the same route, so every page renders from the same code with the /demo prefix intact in the address bar, and the client reads the mode straight off the path — no stored preference to go stale and no route to duplicate. /demo alone lands on the trading desk. Internal links carry the mode through a href() helper, so browsing from the demo desk to Portfolio stays in demo and leaving it has to be deliberate. The live/demo switch keeps you on the page you were reading: /demo/trade/ETH toggles to /trade/ETH rather than dumping you at a default market. Verified: /demo, /demo/portfolio, /demo/alerts, /demo/watchlists, /demo/marketplace, /demo/changelog and /demo/orders all render, navbar links from a demo page all point back into /demo, and toggling live from /demo/trade/ETH lands on /trade/ETH.
6bba4c3d · Vigo Walker - Give demo trading its own route at /demo/trade/[coin]
Demo was a stored preference, so which account an order would hit depended on what the last session had chosen and the URL said nothing. It is now a place: /demo/trade/BTC is the demo desk, /trade/BTC is live, and each pins the mode on arrival — a live link opens live even if the browser last remembered demo, which is the direction that matters. The desk is the same components as live trading, because rehearsing on a different screen than the one you will trade on defeats the point; only the account behind it changes. The header toggle navigates between the two routes instead of flipping state in place, and changing market from inside demo stays in demo rather than dropping into live. Verified: /demo/trade/BTC titles as Demo and lights the amber toggle, clicking live lands on /trade/BTC, and opening /trade/ETH with demo stored as the preference still opens live.
aaf2d7ac · Vigo Walker - Send take-profit and stop-loss with demo orders
The form already collected them for live trading; they now reach the demo engine too, so a demo order behaves the same way as the live one it is meant to rehearse.
3269dc3a · Vigo Walker - Wire the trading UI to the demo account
A live/demo switch in the pair header routes the order form, positions, history and balance to the paper account. The mode persists across sessions, because a trader who left in demo yesterday should not return to an order form that looks identical but spends real money — while it is on, the toggle and the header edge are amber. Demo positions are reshaped into the live position format so the existing table renders them unchanged, including the liquidation price the engine computes. Balance shows equity rather than deposits, since that is what an account with open positions is actually worth. Switching modes refetches immediately instead of leaving the other account's numbers on screen until the next poll. Spot is refused in demo: the engine models perps, and silently treating a spot order as a perp would teach the wrong thing.
05ba9a01 · Vigo Walker - Include public/ in the traced build so static assets stop 404ing
Every file under public/ returned 404 in production — the logo, the svgs and the whole charting_library, so the chart could not load at all. Removing standalone output did not help: Firebase App Hosting deploys the traced file set, and tracing only keeps what the code demonstrably touches. Nothing references public/ from code, so the entire folder was dropped. The giveaway was that exactly one file survived: public/changelog.json, which the changelog page reads with readFileSync — tracing followed that read and kept it, which is why one asset served while its neighbours did not. outputFileTracingIncludes now pins the folder to every route. Verified against the build output: the trace manifests list all 364 public files, including charting_library.standalone.js and chipa-logo.png, where they previously listed only changelog.json.
8d35ee15 · Vigo Walker - Stop standalone output from dropping public assets in production
exchange.chipatrade.com returned 404 for every file in public/ — the logo, the svgs, and the whole charting_library, so the chart could not load at all. The requests fell through to the prerendered 404 page (x-nextjs-prerender: 1) because output: 'standalone' deliberately omits public/ from the build: a standalone build carries the server and nothing else. The Dockerfile copies public/ and .next/static back in afterwards, so the container was fine and nobody noticed. Firebase App Hosting deploys the build as it finds it, and there was nothing to serve. Standalone is now opt-in through BUILD_STANDALONE, which only the Dockerfile sets. Verified both ways: a default build produces no .next/standalone and keeps public/ in place, and BUILD_STANDALONE=1 still produces the standalone tree the image expects.
d45b35c9 · Vigo Walker - Show the current version in the footer without a restart
next.config.ts reads version.json when the server starts and bakes it into an env var, so a running dev server keeps whatever version it booted with — the footer sat at 2.22.30 while the repo had moved on. The badge now reads the version from the changelog file in /public, which is served from disk and rewritten on every commit, falling back to the build-time value if the fetch fails. Verified against a dev server still holding 2.22.30 in its env: the footer shows 2.23.0.
309ae42c · Vigo Walker - Add a changelog page and make the version number move again
version.json sat at 2.22.30 with nothing to bump it. A pre-commit hook now raises the patch and a pre-push hook raises the minor and resets the patch, so "2.23.4" reads as four commits since the 23rd release. Both are counters seeded from the version the file already held, so the numbering continues instead of restarting at a commit count. The major stays manual. The bump is staged by the pre-commit hook so it travels in the commit it describes. A pre-push hook can't join the push that triggered it — the refs are already fixed — so the minor lands with the next commit and trails the live deploy by one push. /changelog renders commit history from a JSON file written at commit time, since the deployed build runs from a snapshot without git history. Entries are grouped by day and show the reasoning from the commit body, with plumbing commits filtered out; the version badge in the ticker links to it.
595c32c1 · Vigo Walker - Fix the trade replay recording producing a blank video
The recording chart was rendered at left:-10000 to keep it out of the way, but browsers throttle rendering for off-screen content, so the charting library never painted and every captured frame was empty background. It now records on screen, scaled down to fit the dialog while keeping its full internal resolution, so the user watches the replay as it captures. Frame compositing also used the parent-side iframe offset together with rects measured inside the iframe: two different coordinate spaces, which under a CSS scale would both misplace and shrink every canvas. In-iframe rects are now used on their own. A capture whose frames are entirely background is reported as a failure instead of handing over a black file, and the finished video plays back in the dialog rather than only being downloadable. Verified in the running app: a scaled on-screen chart composites 7 canvases into a non-blank frame and records a 247KB webm.
85dfdec4 · Vigo Walker - Warn in the order form when the trading agent needs re-approving
The order form now asks the API for the real approval state on load and shows a banner when the agent has lapsed or expires within two weeks, with a one-click re-approve when the key is available in the session. Until now the first sign of a lapsed approval was a rejected order.
c4e192e9 · Vigo Walker - Add automatic chart pattern detection
"Auto chart patterns" in the Chipa Indicators menu scans the last 400 bars and draws what it finds: double tops and bottoms, head and shoulders and its inverse, and ascending, descending and symmetrical triangles — each outlined leg by leg, labelled, and given its measured target as a dotted line where the pattern implies one. Everything is built from pivots — swing highs and lows that stand clear of their neighbours — because each classic pattern is a statement about the shape of consecutive pivots. Detection is deliberately conservative, with a price tolerance and a minimum pullback, since a pattern drawn where none exists is worse than a blank chart. Overlapping matches resolve to the richer pattern, so a head and shoulders isn't also reported as two double tops. Also fixes header buttons racing the header widget: createButton throws if the header hasn't mounted, and chart-ready doesn't imply header-ready. The buttons had been created on the wrong signal all along and had started failing outright — they now wait on headerReady. Verified against live BTC data: six patterns detected and drawn as 6 labels and 22 outline and target segments.
3bdde353 · Vigo Walker - Add volume candles and range bars to the datafeed
Bars that close on volume or on price movement are a Trading Platform chart type this Charting Library build doesn't have — but the datafeed decides what a bar is, so they're built here instead and handed over as ordinary bars. New resolutions: V10/V50/V100 close a bar once that much base volume has traded, R25/R50/R100/R250 once the bar spans that much price. Both aggregate from one-minute candles, and each bar keeps the open time of the minute it started so the series stays strictly increasing. Live updates rebuild the tail from recent candles on a poll: a bar that closes on its own terms can't be described by the time-based candle socket. These are approximations — one minute is the finest input Hyperliquid offers, so a bar can overshoot its threshold by whatever happened inside that minute. True range bars need tick data. Verified the aggregation against a synthetic series: 100 candles at volume 3 give ten V30 bars each of exactly 30, a one-per-minute drift gives ten R10 bars each spanning at least 10, and bar times increase strictly in both.
8e228c83 · Vigo Walker - Add trade replay video export
Closed trades in Trade history get a replay button. It opens a dedicated chart sized for video, marks the entry and the exit with the trade's PnL, then pans the visible range forward one bar at a time from before the entry to past the exit while recording, and hands back a .webm to download. Configurable: timeframe, playback speed, 720p/1080p/square output, how many bars of context to show either side, and whether to overlay Quantum Flux. The chart lives in an iframe, so each frame is composited by drawing every chart canvas onto one output canvas at its own offset — panes, scales and all — and that canvas is what MediaRecorder captures. Recording uses its own widget instance off-screen, so the chart being traded on is untouched. Hyperliquid reports fills rather than round trips, so a closing fill is paired with the most recent opening fill on the same coin and side to recover the entry price and time. Verified in the running app: 7 chart canvases composite into a non-blank frame, VP9 is selected, and a 40-frame capture produced an 87KB webm.
347a7df0 · Vigo Walker - Add the marketplace page and load library scripts into the chart
/marketplace browses published scripts, publishes new ones with named setting fields per indicator, mints and redeems invite codes, and manages your library. Scripts you add appear under a "FROM MARKETPLACE" heading in the chart's Chipa Indicators menu and apply with their saved inputs.
5f997d85 · Vigo Walker - Add the watchlists page and let alerts target a list
/watchlists manages named symbol groups: create, rename in place, add and remove symbols, delete, with live mid prices beside each symbol and a link through to that market. The alert dialog gains an "Applies to" selector — this symbol only, or any watchlist — so one alert can cover a whole group.
a1627f29 · Vigo Walker - Add volume profile, and fix restored drawings breaking the shape API
Restoring chart state with widget.load() after the chart was ready left the chart in a state where createShape and createMultipointShape silently returned undefined. Any user who had drawn something would have lost the BUY/SELL signal labels with no error to explain it. The saved state now goes to the widget constructor's saved_data option instead, which skips the post-ready reload; verified that drawings survive a reload and new shapes can still be created afterwards. Volume Profile (VPVR) joins the Chipa Indicators menu as the first "drawing" indicator: volume is bucketed into 24 price rows over the last 300 bars of the chart's interval and drawn as horizontal bars anchored to the latest bar, with the point of control in gold. Each bar's volume is spread across the price band it actually covered rather than dumped at its close. Clicking the entry again clears it. It is drawn with the shape API because study plots are vertical — one value per bar — and a volume profile is the transpose of that. getVisibleRange() reports {0,0} in this library build, so the window comes from the candle feed.
d5cbfe80 · Vigo Walker - Add deep history, custom intervals, study-on-study and CSV export
First batch from the TradingView Premium feature list, limited to what this charting library edition and the Hyperliquid feed can actually support. Hyperliquid caps a candle request at roughly 5,000 bars — measured, not documented: asking for 10,000 one-minute bars returns about 5,200. getBars now walks the range backwards in chunks, capped at eight pages (~40k bars) so a wide range can't fan out into unbounded requests. Enables study_on_study (apply an indicator to another indicator's output), custom_resolutions (type any interval instead of picking from the list) and chart_style_hilo, and adds an Export button that downloads the visible chart data with all indicator columns as CSV.
5f6545f2 · Vigo Walker - Enable the chart drawing tools and keep drawings across reloads
The drawing toolbar was switched off (left_toolbar disabled and the side toolbar hidden), so none of the line tools were reachable. Enabling it brings back the full set: cursors, trend lines, Gann and Fibonacci, geometric shapes, annotations, patterns, prediction and measurement, emoji, ruler, zoom, magnet, drawing mode, lock all, hide all and remove all. Undo/redo comes back to the header with it, since drawing without undo is painful. Drawings only persist with a save/load adapter, so chart state is saved per symbol to localStorage on the library's autosave signal and restored when the chart is ready — BTC's drawings stay off the ETH chart. Verified in the running app: the toolbar renders every group, and a drawn horizontal line survives a full page reload with its id intact.
1134d515 · Vigo Walker - Stream live chart prices over Hyperliquid's websocket
The chart's only realtime path was a 10s poll of the candle endpoint, so the price on screen could be ten seconds stale and moved in visible steps. subscribeBars now opens a websocket to Hyperliquid and subscribes to the candle channel for the chart's symbol and interval. It also subscribes to allMids and applies mid prices to the live bar between candle frames: the candle channel only emits on trades, which on a quiet market measured three frames a minute against fourteen for mids. The browser connects to Hyperliquid directly rather than through the API — a persistent socket via Cloud Run would hold an instance open and bill for every second a chart is on screen. The socket points at the same environment the bars come from (the backend candle proxy serves testnet: its last close matched the testnet mid, not mainnet's), overridable with NEXT_PUBLIC_HL_WS_URL. Ticks more than 5% from the last known bar are dropped, so a misconfigured URL degrades to the poll instead of drawing a wrong price. The poll stays as a backstop, and reconnects back off from 1s to 30s. Verified in the running app: the chart's legend price moved through 10 distinct values in 50 seconds, updating within 2s of each change.
8e5b1f01 · Vigo Walker - Add a full alerts management page
The bottom-panel tab is too cramped to actually manage alerts, and there was no way to see at a glance which ones are armed. /alerts now lists every alert with its status, condition, trigger mode, channels, fire count and when it last fired, with filters for active and paused, per-row pause/edit/test/delete and multi-select for bulk pause, resume and delete. Alerts that differ only by id are easy to create by accident, so identical settings are flagged as duplicates in the list. Reachable from the navbar and from a "Manage all" link on the chart's alerts tab, which stays for quick access while trading.
cc26c59d · Vigo Walker
August 16, 2026
- Allow the API proxy base to be overridden
Lets the UI be pointed at a local API with CHIPAX_API_BASE so features can be tested before they are deployed. Defaults to the deployed API, unchanged.
7fb349ca · Vigo Walker - Add alerts UI — create, manage and receive alerts
A "🔔 Alert" button on the chart toolbar opens a dialog for the current symbol: condition (crossing, above/below, percent move, Quantum Flux signal), timeframe, trigger frequency, optional message and expiry, and per-alert notification channels — desktop, email, Telegram chat id, Discord webhook and a generic webhook URL. An Alerts tab beside Positions lists alerts with pause, edit, delete and a Test button that fires every channel so wiring can be checked without waiting for a real trigger, plus a log of what has already fired and how each channel delivered. Alerts are evaluated server-side, so AlertNotifier just polls /alerts/events for anything newer than this browser has seen and raises a desktop Notification, requesting permission when the desktop channel is first ticked.
539dcaf2 · Vigo Walker - Draw real BUY/SELL text labels for Quantum Flux signals
Custom studies can't render text inside a shape plot — the API exposes no text or size for shape markers — so the signal markers were an unreadable ~13px glyph. Read the study's plot values back with exportData and draw a white-on-colour "BUY"/"SELL" badge at each signal bar with the chart shape API instead. Labels are cleared and redrawn when the study is re-added or the timeframe changes, since they're pinned to bar times.
68505d4d · Vigo Walker - Highlight Quantum Flux signal candles with a bar colorer
The label shapes render, but they are a ~13px glyph and signals are rare (two in a 301-bar window on BTC 1h), so they are easy to miss. Add a bar_colorer plot that recolours the signal candle itself in bright green or red. bg_colorer was tried first and draws nothing in this library version.
eec9334a · Vigo Walker - Make Quantum Flux markers render and use the larger label shape
Two separate problems kept the buy/sell markers off the chart: - `shape_label_up`/`shape_label_down` were paired with `textColor` and `histogramBase`, which the library's own shape studies never set. Matching the built-in metainfo (plot_0..plot_3 ids, isHidden, _metainfoVersion 52, scriptIdPart) makes the shape plots draw. - The state machine committed its state only when a new bar opened, so when the library replayed history over the same study instance the state never rewound and the trigger flags were lost. State is now a per-bar timeline that rolls back whenever a bar is re-run. Verified against the rendered canvas: the shape plot draws exactly one marker per signal. Uses the label shape rather than the arrow — at roughly three times the pixel footprint it's the most visible option the custom-study API offers, since it exposes no marker size or text.
ae27d2ee · Vigo Walker - Fix Quantum Flux buy/sell markers not rendering
The shape plots used `shape_label_up`/`shape_label_down` plus `textColor` and `histogramBase`, none of which the library's own shape studies use, and nothing was drawn. Match the built-in shape metainfo exactly: arrow shapes, `isHidden: false`, and no extra style keys.
265246fe · Vigo Walker - Add Quantum Flux custom indicator and Chipa Indicators chart button
Ports the "Quantum Flux [Strict Alternating]" Pine v5 script to a TradingView custom study: denoised OHLC, EMA/z-score/RSI confluence and a strict-alternating BUY/SELL state machine with ATR take-profit and stop-loss levels. All lengths and multipliers are exposed as study inputs. Two PineJS constraints shaped the implementation: - Std.ema/Std.stdev keep running state, so the NaN warm-up bars of the denoised series poisoned them permanently. The denoise falls back to the raw price while its SMAs warm up. - Series only expose the history depth Std.* helpers happen to request, so persistent state is kept in instance fields committed per bar rather than in new_var series. This also makes the non-repainting one-bar shift rollback-safe on the live bar. Adds a "Chipa Indicators" dropdown to the chart header that lists our custom studies and adds the selected one to the chart.
29a54082 · Vigo Walker
May 16, 2026
- feat: /spot/margin/[coin] route with 5x leverage cap and Margin tab in OrderForm8133250b · Vigo Walker
- fix: update margin spot logic in trade dropdown to reflect correct leverage70582fd5 · Vigo Walker
- feat: Trade dropdown 2-panel layout with Margin Spot 5x categoryeacb3b03 · Vigo Walker
- feat: extend trade dropdown to include margin trading option80ab5e9a · Vigo Walker
- fix: update guidelines in IMPOTANT.md for clarity and completeness8bb199b5 · Vigo Walker
- feat: implement trade dropdown with market data lazy-loading and search functionalityb0469cba · Vigo Walker
- feat: enhance Navbar with CoinLogo component and improved price formattingc250ddcb · Vigo Walker
- fix: spot UI always shows on /spot/ route regardless of coin's spot market availability15309952 · Vigo Walker
- fix: spot dropdown shows spot markets with correct prices and navigationc23428c8 · Vigo Walker
- feat: update coin filtering logic in PairHeader for market type handlingcb1c0c7d · Vigo Walker
- feat: add spotMarkets to PairHeader for enhanced market data access3a57ad2d · Vigo Walker
- feat: enhance OrderForm with navigation links for market type toggle66c31aa9 · Vigo Walker
- feat: import Link component for enhanced navigation in OrderFormec660340 · Vigo Walker
- feat: add SpotRoot component to handle redirection to /spot/PURR42014dec · Vigo Walker
- feat: enhance MarketProvider to accept initialMarketType for improved flexibilitybd35f59e · Vigo Walker
- feat: include market type in PairHeader display for better clarity1d8f95be · Vigo Walker
- feat: update OrderForm to display spot-specific labels and balances0a53064b · Vigo Walker
- feat: conditionally display margin and TP/SL controls based on market type1338247e · Vigo Walker
- fix: update comment for levRef wrapper to clarify isSpot guard2b6e140a · Vigo Walker
- feat: hide margin mode and leverage controls when in spot marketcfee208f · Vigo Walker
- feat: add market type toggle for Perp and Spot in OrderForm component568194e9 · Vigo Walker
- feat: update OrderForm to handle spot market notation for order placemente46564b7 · Vigo Walker
- feat: fetch spot token balance in spot mode for OrderForm component99cfcb8e · Vigo Walker
- feat: add spot market handling to OrderForm component45397dd8 · Vigo Walker
- feat: update OrderForm to include marketType and spotMarkets from MarketContextc0db4df5 · Vigo Walker
- feat: enhance MarketContext to include marketType and spotMarkets state management16a9302e · Vigo Walker
- feat: add SpotMarket interface and getSpotMarkets function to fetch canonical spot marketsb88ea7f4 · Vigo Walker
- docs: add Copilot instructions and reference to IMPORTANT.mdd9a0c5ba · Vigo Walker
- docs: update guidelines for NextJS hosting and emphasize error handling best practicesb407b376 · Vigo Walker
- docs: update guidelines to avoid excessive use of Google Secret Managercb37bbe3 · Vigo Walker
- feat: position row click navigates to trade page, close confirmation with P&L after feese04bd8d5 · Vigo Walker
- feat: implement close position confirmation dialog with user preference6d05f88c · Vigo Walker
- fix: filter chart execution shapes by current coin (#246)dd11570c · Vigo Walker
- feat: add 'Testnet' label to ChipaX logo in Navbar8ed566eb · Vigo Walker
- feat: add robots.txt, metadataBase, terms & privacy pages, auto-versioning0d7ccc35 · Vigo Walker
- fix: remove overflow hidden from body to allow scrolling9ac3864a · Vigo Walker
- feat: add Terms and Privacy pages with navigation links6099910f · Vigo Walker
May 15, 2026
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.mdfc0a0b06 · Vigo Walker
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.md1461b2ab · Vigo Walker
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.md0077580f · Vigo Walker
- feat: add Makefile and PowerShell script for installing git hooks and automatic version bumping8ee6275e · Vigo Walker
- feat: add git hooks installation and update pre-push to bump minor version before pushce667a7c · Vigo Walker
- feat: add pre-commit and pre-push hooks for automatic version bumpinge2a95ac5 · Vigo Walker
- feat: add version management with version.json and bump-version scriptafc4c0d9 · Vigo Walker
- feat: add sendTestEmail function and implement test email feature in NotificationsPage21c89499 · Vigo Walker
- feat: add deposit balance fetching and display account summary stats in PositionsPanel7fb984eb · Vigo Walker
- feat: add NotificationBell component and update user menu to link to Notifications page3cef68fd · Vigo Walker
- feat: add NotificationsPage component for managing notification preferences7e67c1fe · Vigo Walker
- feat: add NotificationBell component for liquidation alerts and user notificationsa0f08b58 · Vigo Walker
- refactor: remove info note about Hyperliquid spot clearinghouse from AssetsPage0c2ca35b · Vigo Walker
- fix: enhance fmtUsd function to handle null and undefined values0188feca · Vigo Walker
- feat: update Navbar to link to Assets page and replace button with link for better accessibility feat: add Assets page to display user spot token balances and related informationf17b02d4 · Vigo Walker
- feat: update Navbar to link to Orders page and improve button accessibility271b31d1 · Vigo Walker
- feat: update Navbar links and add Orders page with order management featurese31f620f · Vigo Walker
- feat: add Bug Bounty Program page with severity levels, rewards, and disclosure processc55108e3 · Vigo Walker
- fix: update support link in Navbar to point to the correct URL6d8fb01c · Vigo Walker
- feat: enhance sitemap generation with dynamic trade pages based on live coin data05f59699 · Vigo Walker
- feat: add API documentation page with interactive endpoint testing and API key managementefd64560 · Vigo Walker
- refactor: remove ApiDocsPage component and related API documentation code447a3c3e · Vigo Walker
- fix: update URLs in blog posts to point to the correct exchange domain9ad40c25 · Vigo Walker
- fix: update BASE URL in sitemap to point to the correct exchange domain5a97b843 · Vigo Walker
- fix: update Dockerfile to remove dev dependencies during npm install; clean up BlogPage component by removing unused codecab6fbe5 · Vigo Walker
- feat: update .dockerignore to exclude node_modules and insider-images from Docker build context4dfdff80 · Vigo Walker
- feat: update Dockerfile and .dockerignore to optimize build context and exclude unnecessary files5ceac025 · Vigo Walker
- feat: update Dockerfile for multi-stage build and add standalone output configuration in next.config.ts3b790a03 · Vigo Walker
- feat: implement BlogPage component with post filtering and subscription widget; add sitemap generation for static and blog pagesb7d15279 · Vigo Walker
- feat: add BlogPost and Section interfaces with sample blog post data feat: implement BlogPostPage component for dynamic blog post rendering feat: add subscribeNewsletter function for newsletter subscriptions59f10bc1 · Vigo Walker
- feat: update Navbar links to point to correct Blog and API Docs pagese4e4ff78 · Vigo Walker
- feat: add BlogPage component with static post data and layout0a777be6 · Vigo Walker
- feat: remove Competitions and Vaults links from Navbar1114a7f3 · Vigo Walker
May 14, 2026
- feat: add RewardsPage component with level and reward structurea7bb5591 · Vigo Walker
- feat: update SITE constant to use dynamic origin for deployment compatibility06fe512e · Vigo Walker
- feat: enhance AffiliatePage to include token validation for loading state management4fe127ca · Vigo Walker
- feat: improve loading state handling in AffiliatePage to prevent premature warnings913b3365 · Vigo Walker
- feat: remove CopyButton component and clean up AffiliatePage7cbb9815 · Vigo Walker
- feat: remove StatCard component and refactor AffiliatePage for improved readability047b16ff · Vigo Walker
- feat: enhance AffiliatePage with referral tracking and improved formatting functions4529c647 · Vigo Walker
- feat: add ReferralState interface and update AffiliateStats to include typed referralStatesd66803ec · Vigo Walker
- feat: add AffiliateStats interface and getAffiliateStats function for affiliate data retrieval7cd4ada0 · Vigo Walker
- feat: enhance PairHeader with improved dropdown UI and search functionalityea658bd7 · Vigo Walker
- feat: add CoinLogo component for displaying cryptocurrency logos with fallback41870388 · Vigo Walker
- fix: correct property access in buildAIContext for position data09e6b6a5 · Vigo Walker
- fix: update Tooltip formatter in TradingAnalysis for better type handlingbb4d205d · Vigo Walker
- feat: enhance TradingAIChat with improved response processing and user instructionsfa526767 · Vigo Walker
- feat: add TradingAIChat component for AI-driven trading analysis and insights2c7e5843 · Vigo Walker
- feat: add recharts library and update dependencies in package.json and package-lock.jsona30ec4c4 · Vigo Walker
- feat: add TradingAnalysis component and extend PortfolioPage with analysis tab2ff1efb0 · Vigo Walker
- feat: implement PortfolioPage component with balance, positions, fills, and orders overview22775a3d · Vigo Walker
- feat: update favicon.ico for improved branding and user experienceac8c5d9d · Vigo Walker
- feat: update metadata structure for improved icon and social sharing supportb32ca1a2 · Vigo Walker
- Refactor code structure for improved readability and maintainability0d019472 · Vigo Walker
- feat: add fetch functions for positions and open orders in PositionsPanel3bd5fab1 · Vigo Walker
- feat: enhance order cancellation button with loading state and disabled functionality249eff9e · Vigo Walker
- feat: implement order closing and cancellation functionality in PositionsPaneldd76662f · Vigo Walker
- feat: add cancelOrder function to handle order cancellation in chipaxApi9a83ed32 · Vigo Walker
May 13, 2026
- feat: add wallet reset functionality for EVM-mode account recovery in DepositModal and AuthContext30972b4e · Vigo Walker
- feat: make user private key optional for classTransfer function in chipaxApib9f02411 · Vigo Walker
- feat: require user private key for USDC transfer between Spot and Perp accountsc0adf668 · Vigo Walker
- feat: add notice and transfer button for Spot to Perp USDC transfers in DepositModalc3f62dc1 · Vigo Walker
- feat: add classTransfer function for USDC transfers between Spot and Perp accountsdf08f43c · Vigo Walker
- feat: improve PnL handling in TradeShareModal for better accuracy and display91961be2 · Vigo Walker
- feat: update leverage calculation in share data to use value property74dd2032 · Vigo Walker
- feat: add additional position data fields including valueUsd, liquidationPx, and marginUsed8446a7b0 · Vigo Walker
- feat: update TradeShareModal to include user handle and enhance drawing logicf00e52b2 · Vigo Walker
- feat: enhance PositionsPanel with share functionality and update TradeShareModal for fill infof9635e03 · Vigo Walker
- feat: wrap PositionsPanel return in a fragment for improved structure033a600a · Vigo Walker
- feat: add TradeShareModal component for sharing trade details063cffcb · Vigo Walker
- feat: add metadata definitions for Academy, Affiliate, Competitions, Trade, and Vaults pagesf149a5fb · Vigo Walker
- feat: update qty resync logic in OrderForm component to trigger only when slider is active5e3569d2 · Vigo Walker
- feat: add qty resync logic based on leverage and price changes in OrderForm component59841b21 · Vigo Walker
- feat: refactor leverage UI structure in OrderForm componentd6cdf752 · Vigo Walker
- feat: enhance leverage selector UI in OrderForm component57b2373d · Vigo Walker
- feat: enhance leverage adjustment UI in OrderForm component88e17372 · Vigo Walker
- feat: add image asset for user interface enhancements27bee4c8 · Vigo Walker
- feat: add take profit and stop loss parameters to PlaceOrderRequest interfaceee8c4827 · Vigo Walker
- feat: implement session token exchange and auto-login modal in AuthProvider5c1055ef · Vigo Walker
- feat: remove unused formatting functions from OrderBook componentc1217fb3 · Vigo Walker
- feat: refactor OrderBook component to remove legacy static data and streamline live data fetchinge2187269 · Vigo Walker
- feat: enhance OrderBook component with improved formatting and live data handling8591a7d5 · Vigo Walker
- Implement feature X to enhance user experience and fix bug Y in module Zf8d3419b · Vigo Walker
- feat: remove TopBanner component from TradePage29df8fc4 · Vigo Walker
- feat: replace JPEG image with a new JPG fileb030325c · Vigo Walker
- m8e2acd6e · Vigo Walker
- feat: refresh execution shapes alongside position lines on trade events in ChartPanel5e62630c · Vigo Walker
- feat: add execution shape markers for historical fill data in ChartPanelf099b550 · Vigo Walker
- feat: extend ChartPanel with execution shape interface and reference managementcd9c57cf · Vigo Walker
- feat: add trade event listener and polling for position line refresh in ChartPanel9c9fffae · Vigo Walker
- feat: enhance position handling in ChartPanel and PositionsPanel with derived mark price logic06076d34 · Vigo Walker
- feat: implement HLSetupPage for wallet linking and agent approval process0e93a190 · Vigo Walker
- feat: add linkWallet and getWalletStatus functions for wallet managementa443a75c · Vigo Walker
- feat: add event listener for trade updates to refresh positions and open orders28d83196 · Vigo Walker
- feat: refactor leverage handling in OrderForm and improve order placement logic5aa43bed · Vigo Walker
- feat: enhance OrderForm with leverage management and margin mode functionality59d7a3dd · Vigo Walker
- feat: add setLeverage function import to OrderForm component5e406cb0 · Vigo Walker
- feat: update PlaceOrderRequest to support optional order type and enhance placeOrder function with leverage setting032a42e2 · Vigo Walker
- fix: update getHLMids function to handle flat response structure and improve number parsingc66e0f8a · Vigo Walker
- feat: enhance PositionsPanel with data fetching and display for positions, open orders, fills, and order history1220dd3c · Vigo Walker
- feat: add relink wallet functionality with private key input for existing wallets67e8dd53 · Vigo Walker
May 12, 2026
- fix: remove unused approveAgent function from chipaxApib483adb1 · Vigo Walker
- feat: add hlPrivateKey to OrderForm for agent approval handling during order submissionacbdf676 · Vigo Walker
- feat: add approveAgent function to handle agent approval requests6d52bb76 · Vigo Walker
- fix: update balance calculation to include total USDC and improve account balance display7158b998 · Vigo Walker
- feat: add spot balance handling and display in OrderForm for improved account visibility3ebc594f · Vigo Walker
- feat: add raw backend fields to DepositBalance interface for enhanced deposit information95bd392f · Vigo Walker
- feat: include hlPrivateKey in DevAccountPage for enhanced account information display8ac349af · Vigo Walker
- fix: update balance fetching logic to poll every 15 seconds and handle previous balance correctly2bcc4e63 · Vigo Walker
- feat: add DevLayout component for improved layout handling and overflow management4649d4c0 · Vigo Walker
- feat: add DevAccountPage component for account information display and managementa21e24f1 · Vigo Walker
May 3, 2026
- fix: improve onboarding logic to handle session storage correctly and prevent UI blockage97151e1f · Vigo Walker
- fix: handle backend errors during onboarding to prevent UI blockage9371ecb5 · Vigo Walker
- fix: update chart style configuration to use numeric value1f75e85b · Vigo Walker
- feat: enhance chart styling with Heikin Ashi colors and update chart style871fbf80 · Vigo Walker
- fix: add chipax-ui/lib/ to git and unblock lib/ gitignore rule1ddd81b1 · Vigo Walker
- fix: remove rootDir from apphosting.yaml to streamline configurationbe1068a1 · Vigo Walker
- feat: add apphosting configuration for deployment settings9bbbf4c5 · Vigo Walker
- fix: remove extra newline in TEMPLATE_USAGE.md for improved formatting7ee13401 · Vigo Walker
- fix: cast return value of extractField to any for TypeScript compatibility3109faee · Vigo Walker
- fix: improve error handling in SymbolsStorage for better error message clarityb3398a73 · Vigo Walker
- feat: update AuthContext to safely access sessionStorage in a browser environment91a749b9 · Vigo Walker
- feat: add HL address and private key handling in AuthContext for testnet support4c9aaa62 · Vigo Walker
- feat: enhance DepositModal with notify functionality and deposit address handling9b72a696 · Vigo Walker
May 2, 2026
- docs: add deposit UX options to improve user onboarding and streamline deposit process9fbb3926 · Vigo Walker
- refactor: update DepositModal to enhance deposit instructions and improve user interface3f087e62 · Vigo Walker
- refactor: remove unused code and clean up DepositModal component680f1c38 · Vigo Walker
- refactor: streamline DepositModal by enhancing loading states and improving deposit info handling77b47eb0 · Vigo Walker
- fix: update balance check for consistency in OrderForm component14b0c877 · Vigo Walker
- refactor: enhance DepositModal with user feedback for account setup and loading states304678e1 · Vigo Walker
- refactor: include onboarded state in DepositModal to ensure deposit info loads only after account provisioning7f089996 · Vigo Walker
- refactor: add onboarded state to AuthContext and update balance fetching logic in OrderForm695714ea · Vigo Walker
- refactor: remove onboarding tab from DepositModal for streamlined user experience02e76ff7 · Vigo Walker
- refactor: simplify DepositModal by removing unused onboarding and approval logica60229b0 · Vigo Walker
- refactor: integrate account provisioning in AuthProvider during login and session restoredb768e05 · Vigo Walker
- refactor: update onboarding process in DepositModal with improved messaging and UIfcea6281 · Vigo Walker
- refactor: enhance DepositModal with account onboarding functionality and error handling2abc7ea5 · Vigo Walker
- refactor: implement server-side proxy for /api/chipax requests to bypass CORS issues10a70dcb · Vigo Walker
- docs: update token issuer mismatch documentation with CORS and 404 detailsc9e67214 · Vigo Walker
- docs: add documentation for token issuer mismatch issue on authenticated endpoints84fdb07f · Vigo Walker
- refactor: improve error messaging in DepositModal for approval failures3a172507 · Vigo Walker
- refactor: remove unused error state initialization in DepositModal217b0765 · Vigo Walker
- refactor: simplify error handling in DepositModal by removing specific error messages68e2a6a7 · Vigo Walker
- refactor: remove non-blocking server enrichment from token verification in AuthProvider451c6636 · Vigo Walker
- refactor: enhance token validation logic in AuthProvider to improve error handlingdb2503ca · Vigo Walker
- refactor: streamline token verification and server validation in AuthProvider1f93ef32 · Vigo Walker
- fix: enhance error handling in DepositModal for session expiration and loading issuesc47dba14 · Vigo Walker
- refactor: improve authentication flow with server validation and error handlinga1f62d99 · Vigo Walker
- feat: add DepositModal component for managing deposits and transaction history62950db2 · Vigo Walker
- refactor: remove unused OrderForm component UI elements for cleaner layout26e84b42 · Vigo Walker
- feat: enhance OrderForm component with live mid price fetching, balance tracking, and improved order submission logica30fe2d4 · Vigo Walker
- refactor: remove unused user menu and loading indicators from Navbar componentcdcd649b · Vigo Walker
- feat: enhance Navbar component with dynamic links and dropdown functionalityb39b31b2 · Vigo Walker
- feat: add Academy, Affiliate, Competitions, and Vaults pages with initial content and layoutd2ba066c · Vigo Walker
- refactor: restructure Trade components for improved routing and initial coin handling375d7832 · Vigo Walker
- refactor: update MarketProvider to handle API calls with Promise.allSettled for better error handling99ecc144 · Vigo Walker
- refactor: make live price and stats section scrollable in PairHeader componentc57e3abf · Vigo Walker
- refactor: adjust z-index for dropdown in PairHeader component for improved visibilityc95cac8f · Vigo Walker
- refactor: adjust dropdown styling in PairHeader component for improved layouta96a02ac · Vigo Walker
- refactor: remove unused formatting functions from PairHeader componenta1095461 · Vigo Walker
- refactor: remove unused Stats interface and related code in PairHeader componentbcb52c17 · Vigo Walker
- feat: enhance PairHeader component with formatted price and volume display2ae50e5b · Vigo Walker
- feat: enhance MarketContext to manage coin data with structured CoinInfo type030bcf39 · Vigo Walker
- feat: integrate MarketContext for dynamic coin symbol in ChartPanel component6330cdb5 · Vigo Walker
- fix: update variable references to use 'coin' for consistency in OrderBook component3da144a1 · Vigo Walker
- feat: integrate MarketContext for dynamic coin handling in OrderBook component0f92af5f · Vigo Walker
- feat: add MarketContext and MarketProvider for managing trading coin state40692500 · Vigo Walker
- feat: implement local JWT decoding in AuthProvider for improved token validation929707af · Vigo Walker
- feat: add message indicating automatic window closure on AuthCallbackPage43f1934f · Vigo Walker
- feat: refactor AuthModal and AuthCallbackPage to improve token handling and user experiencece6838ad · Vigo Walker
- feat: remove token message listener from AuthProvider to streamline authentication flow103bc959 · Vigo Walker
- feat: refactor AuthModal to handle token retrieval and improve loading state managementfc9eac0d · Vigo Walker
- feat: remove receiveToken from AuthContext and update AuthModal to use verifyAndStore018834c0 · Vigo Walker
- feat: wrap children with AuthProvider in RootLayout for authentication contextc6deaa0f · Vigo Walker
- feat: enhance Navbar with user authentication and dynamic user menu71cb8377 · Vigo Walker
- feat: add AuthCallbackPage for handling OAuth redirects and token managementeac5f63f · Vigo Walker
- feat: implement AuthContext and AuthModal for user authentication flowc9c6d26b · Vigo Walker
- feat: integrate live data fetching for OrderBook and PairHeader componentsd42cbcf9 · Vigo Walker
May 1, 2026
- refactor: update theme color variables for consistency across componentsf5aeab52 · Vigo Walker
- feat: inject CSS variables into TradingView iframe for dynamic theming updates369c0a47 · Vigo Walker
- refactor: update ChartPanel and ThemeEditor components to use CSS variables for stylingf5d4599e · Vigo Walker
- refactor: update layout and trade page components for consistent theming2325fe34 · Vigo Walker
- feat: add fix_colors script to update color variables in OrderBook and OrderForm components051e218f · Vigo Walker
- refactor: update OrderBook and OrderForm components for consistent theming and improved readability43657706 · Vigo Walker
- refactor: update Navbar, PairHeader, PositionsPanel, and TickerBar components for consistent theming and improved readabilitye7ed3b7f · Vigo Walker
- feat: add surface color to ThemeColors and update related components022d1d58 · Vigo Walker
- fix: correct panel and surface color variables in globals.css33a38202 · Vigo Walker
- feat: replace ThemeEditor with DevThemeEditor in TradePage component3ef34d65 · Vigo Walker
- feat: add DevThemeEditor component for development theme customization26e501dc · Vigo Walker
- feat: implement ThemeEditor component for dynamic theme customization0458402f · Vigo Walker
- feat: add ThemeContext for managing theme colors and updates52b7e3fb · Vigo Walker
- refactor: update ChartPanel widget initialization and cleanup logicdef8074c · Vigo Walker
- feat: enhance ChartPanel with Datafeeds integration and improved widget configurationf16b65d8 · Vigo Walker
- refactor: remove DrawingToolbar from TradePage for cleaner layout24c3724b · Vigo Walker
- update7b183aa5 · Vigo Walker
- update7e29244c · Vigo Walker
- upodatea77687b1 · Vigo Walker
- style: update PairHeader and PositionsPanel components for improved layout and consistency4b1990a4 · Vigo Walker
- feat: enhance OrderForm layout and improve component structure43c7d5eb · Vigo Walker
- feat: update OrderBook component with new mock data and improved layoutaaf57d16 · Vigo Walker
- refactor: clean up TradePage and Navbar components for improved readability67ffc499 · Vigo Walker
- feat: refactor ChartPanel to use TradingView widget and remove iframebd1206e9 · Vigo Walker
- fix: correct iframe attribute for transparency in ChartPanel component55cb2d37 · Vigo Walker
- feat: redirect Home component to /trade23cbaa92 · Vigo Walker
- feat: add TradePage component with integrated trading interface elements8b6c0258 · Vigo Walker
- feat: add PositionsPanel and TickerBar components for enhanced trading interface367c59d3 · Vigo Walker
- feat: add OrderBook and OrderForm components for enhanced trading interfacef834fab1 · Vigo Walker
- feat: add DrawingToolbar component with tool icons for enhanced drawing functionality9b529abd · Vigo Walker
- feat: add Navbar and PairHeader components for improved UI navigation and trading stats displayb8186bea · Vigo Walker
- style: update global styles for improved dark mode support and scrollbar customization feat: add TopBanner component for promotional announcements fix: update layout metadata for accurate app description and titlece55b5fc · Vigo Walker
- Refactor code structure for improved readability and maintainability2677b3f9 · Vigo Walker
- feat: initialize chipax-ui project with Next.js, Tailwind CSS, and ESLint configuration
- Add global styles with Tailwind CSS support - Create layout component for the application - Implement home page with initial content and layout - Set up ESLint with Next.js configurations - Configure Next.js with basic settings - Add package.json with scripts and dependencies - Set up PostCSS for Tailwind CSS - Include SVG assets for branding and icons - Create TypeScript configuration for the project
41af3349 · Vigo Walker - Implement code changes to enhance functionality and improve performancef2982e52 · Vigo Walker
- Refactor BTCUSD trade page HTML to enhance loading performance and service worker integratione82a0007 · Vigo Walker
- Add service worker for CDN proxying and fetch event handlingbba5fc1a · Vigo Walker
- Remove base href from BTCUSD trade page and add history state management for improved routing92cbde14 · Vigo Walker
- Add new HTML template for BTCUSD trade page with essential structure and assets9febb28b · Vigo Walker
- Remove obsolete HTML comments and streamline EVEDEX trade page structureb55102ed · Vigo Walker