Commit graph

29 commits

Author SHA1 Message Date
johba
097121e0fe fix: use full-page navigation for cross-app CTA links
The landing page CTA used router.push('/app/get-krk') which was caught
by the catch-all route and redirected back to '/'. Since landing and
webapp are separate Vue apps behind Caddy, cross-app navigation needs
window.location.href to trigger a real browser request through the
reverse proxy.

Also simplify the analytics E2E test to avoid race conditions between
event capture and page unload during navigation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 17:04:56 +00:00
johba
ca2bc03567 fix: feat: basic analytics funnel tracking for launch readiness (#1101)
Add self-hosted Umami analytics to replace the third-party cloud.umami.is
tracker. Creates @harb/analytics package with typed event helpers and
instruments the conversion funnel: CTA clicks (landing), wallet connect,
swap initiated, and stake created (web-app).

- Add Umami Docker service sharing existing postgres (separate DB)
- Add Caddy /analytics route to proxy Umami dashboard
- Configure via VITE_UMAMI_URL and VITE_UMAMI_WEBSITE_ID env vars
- Document setup and funnel events in docs/ENVIRONMENT.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:04:24 +00:00
johba
ef65cf6146 fix: Add audit badge and contract addresses prominently on landing (#147)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 18:20:07 +00:00
openhands
cd67e8c1fd fix: setFeeDestination in snippet uses stale AddressAlreadySet one-time-setter pattern (#886) 2026-03-17 14:08:45 +00:00
openhands
65ffb51a64 fix: update _scrapePositions signature and body in CodeDocs.vue snippet (#837)
Update the embedded _scrapePositions definition to accept (bool recordVWAP,
int24 currentTick), compute currentPrice directly from the passed tick
instead of sampling the ANCHOR position's centre tick, remove the
ANCHOR-specific price-sampling branch from the loop, and replace the old
split fee+VWAP transfer logic with the current contract's structure:
feeDestination != address(this) guard before transfers, single ethFee
branch for VWAP recording.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 16:58:24 +00:00
openhands
076b25f4dd fix: CodeDocs.vue shows stale recenter() with recenterAccess guard (#837)
Remove the obsolete recenterAccess pattern from the liquidityManagerSol
snippet: drop the recenterAccess state variable, setRecenterAccess(),
revokeRecenterAccess(), and onlyFeeDestination modifier. Update recenter()
to reflect the current cooldown-only access model, fix the VWAP direction
logic, and update the _scrapePositions() call signature to match
LiquidityManager.sol.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 16:29:48 +00:00
openhands
0b76ea9ca9 fix: HomeViewOffensive.vue trust section uses "Open." as a standalone claim (#313)
Replace "Open Source." with "On-Chain." — the repo is private so "open
source" is a false claim per PRODUCT-TRUTH.md §Code/Open Source and
UX-DECISIONS.md §Don't Say. "On-Chain." is accurate and consistent with
the subtitle already present in the section.

Also remove duplicate garbled sentence in the Adaptive Trading card
("The optimizer evolves — new versions ship as the protocol matures."
was a copy-paste repeat of the preceding clause).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 14:44:15 +00:00
openhands
10f7f1ebc0 fix: \HomeViewOffensive.vue\ trust section uses "Open." as a standalone claim (#313)
Replace vague "Open." with "Open Source." in the trust section heading
to give the claim concrete meaning and match the Source Code link below.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 14:21:03 +00:00
openhands
143d6b202a fix: Landing copy: fix immutable overclaim + sync Mixed variant floor copy (#310)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 13:40:34 +00:00
openhands
56d15a40f6 fix: Fix false claims on landing: "cant go to zero" + "open source" (#269)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 20:33:01 +00:00
openhands
ede53a9dd3 fix: Fix false claims on landing: "cant go to zero" + "open source" (#269)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 20:02:02 +00:00
openhands
fad6486152 fix: Post-purchase holder dashboard on landing page (#150)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 15:02:22 +00:00
openhands
e89fd4013d fix: Post-purchase holder dashboard on landing page (#150)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 12:34:36 +00:00
openhands
6c1217f451 fix: address review — soften AI claim to autonomous system (#176) 2026-02-22 23:36:19 +00:00
openhands
4287dc2f1a fix: address review — soften claims, remove redundancy (#176) 2026-02-22 23:36:19 +00:00
openhands
45b997bef6 fix: address review — remove false admin key claims, soften floor language (#176) 2026-02-22 23:36:19 +00:00
openhands
9f1c255e13 feat: expand autonomous protocol narrative, adopt token-owned-liquidity language (#176) 2026-02-22 23:36:19 +00:00
openhands
85cd5a8986 feat: add Code docs page with contract source + copy buttons (#174)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:41:43 +00:00
openhands
8e93253b5c feat: make How It Works CTA prominent, add crypto-native tagline (#175) 2026-02-22 17:39:33 +00:00
openhands
533c5755b5 fix: remove staking references from landing page
Landing page sells the token, not staking. Staking is password-protected
for insiders — not advertised to casual visitors.

- 'Stake in 30 Seconds' → 'Get $KRK in 30 Seconds' (Mixed)
- 'Stake & Grow' → 'Get $KRK' (Offensive)
- Remove 'staker sentiment' from HomeView copy
- Add staking visibility rule to UX-DECISIONS.md
2026-02-22 16:49:02 +00:00
openhands
6304cca556 fix: replace Start Earning messaging with accurate staking positioning (#173) 2026-02-22 11:34:48 +00:00
johba
1e0822eaa2 fix: clean URLs, contract addresses, gitmodule (#16, #58, #147) (#162) 2026-02-20 17:28:59 +01:00
johba
d9b5131101 fix: Get KRK local swap, WalletCard on all variants (#146, #150) (#165) 2026-02-20 09:18:51 +01:00
johba
fe02ffd12d copy: remove AI claims, reframe as adaptive protocol (#160) 2026-02-20 09:00:34 +01:00
johba
db3633425a feat: shared @harb/web3 package + landing wallet connect (#157) (#159) 2026-02-19 20:18:27 +01:00
johba
31063379a8 feat/ponder-lm-indexing (#142) 2026-02-18 00:19:05 +01:00
openhands
85350caf52 feat: OptimizerV3 with direct 2D staking-to-LP parameter mapping
Core protocol changes for launch readiness:

- OptimizerV3: binary bear/bull mapping from (staking%, avgTax) — avoids
  exploitable AW 30-90 kill zone. Bear: AS=30%, AW=100, CI=0, DD=0.3e18.
  Bull: AS=100%, AW=20, CI=0, DD=1e18. UUPS upgradeable with __gap[48].
- Directional VWAP: only records prices on ETH inflow (buys), preventing
  sell-side dilution of price memory
- Floor formula: unified max(scarcity, mirror, clamp) — VWAP mirror uses
  distance from adjusted VWAP as floor distance, no branching
- PriceOracle (M-1 fix): correct fallback TWAP divisor (60000s, not 300s)
- Access control (M-2 fix): deployer-only guard on one-time setters
- Recenter rate limit (M-3 fix): 60-second cooldown for open recenters
- Safe fallback params: recenter() optimizer-failure defaults changed from
  exploitable CI=50%/AW=50 to safe bear-mode CI=0/AW=100
- Recentered event for monitoring and indexing
- VERSION bump to 2, kraiken-lib COMPATIBLE_CONTRACT_VERSIONS updated

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 18:21:18 +00:00
johba
2acb619a11 feat(landing): add strict ESLint + Prettier with pre-commit hooks (#50)
- Install ESLint 9 with flat config, TypeScript, Vue plugins
- Configure Prettier (140 char, 2-space indent, single quotes)
- Add pre-commit hooks via husky + lint-staged for auto-fix
- Rename components to multi-word (Countdown → CountdownTimer, etc.)
- Add explicit TypeScript prop/emit interfaces
- Remove all console.log statements
- Fix all ESLint violations and type errors
- Verify type-check, build, and HMR working

resolves #43

Co-authored-by: johba <johba@harb.eth>
Reviewed-on: https://codeberg.org/johba/harb/pulls/50
2025-10-03 13:19:20 +02:00
johba
769fa105b8 added web-app and landing 2025-09-23 14:18:04 +02:00