Changelog

Toutes les mises à jour, fonctionnalités et corrections de la plateforme Kiwi.

1169 entrées
draft — The Freelancer's Guide to Building an AI Sales Team (Without Hiring)0e36ca9
enrich /my-posts with scheduledAt via raw SQLde6a8f3
draft — 7 Mistakes You're Making with Your Sales Outreachcaf58bb
draft — The Freelancer's Guide to Building an AI Sales Teamdfbb83f
draft — Stop Wasting Time on App-Switching (unified freelance workflow)10822db
unbreak /blog/official, /feed.xml, BlogTab — remove scheduledAt from Sequelize model304c3af
scheduled publishing for blog articles62be2fb
draft — The Authenticity Rebellion (imperfect design in an AI-saturated world)cbffcba
The Death of SEO — Why Social Discovery is the New Search Engine for Freelancers in 20262c5c7cf
revert vendor chunk split — broke React/recharts interopfa46e64
drop vendor-charts/motion/icons/stripe/date chunksff0c502
lazy-load dashboard + auth routes, split vendors722c6d2
IndexNow protocol — instant Bing/Yandex/Naver recrawlf8210be
add HSTS, Permissions-Policy, CSP report-onlyaa7b22c
og:image cut from 1097 KB → 60 KB (1200×630 JPG)5e2b0a1
remove unverified aggregateRating from JSON-LD1042512
/modules no longer 403s — redirects to /features5a89d5a
sitemap bilingual URLs now match Apache trailing-slash form048f40c
make api sitemap.xml resilient to per-section failures340af93
align canonical + sitemap with Apache trailing-slash behaviorbc86005
add workflow_dispatch trigger to deploy-backendc63657d
own table community_chat_messages — stop colliding with agent chat_messages46eb2ba
heal camelCase columns on chat_* tablesf21cc07
temporary /diag/schema endpointe9170d7
append backend detail field to thrown error message0c0af56
unblock startup when sequelize.sync hits a legacy FK mismatch798112f
surface SQL error code + message on history 5006bfb4ec
drop moderatedAt model field — schema-compatible removala275e46
resilient ban check + better diagnostic on send failure7037537
mention notifications + full moderation systema89529c
@mentions autocomplete + scroll-up history pagination25d2dc6
per-message upvote next to the timestamp6f15bf3
resilient channel list when new tables are missing18e8be5
bigger centered underline tabs for Posts/Chat02c429b
Posts/Chat as a top-level segmented tab4ca5f24
emoji reactions, message edit, unread badgesa60c037
Discord-style real-time chat with WebSocketa56912c
banking details in profile for invoice payment block77a9a7a
Revert "style(theme): retune dark surface palette to softer near-black + navy"4d53638
retune dark surface palette to softer near-black + navy88c6089
force outlined nodes via .node-sidebar parent + !important05352b0
outlined dark Node Properties itemscb87f01
outlined dark buttons with 2px colored border46c7930
revive Workflow Builder, bridge it to the agent system99a93e6
hide entirely when user has <2 businesses1d8885e
rewrite documentation site with full module catalog3adc8a8
hide floating agent chat on agent dashboard route941676d
agent-first home — /dashboard now lands on AgentDashboardfc2d9f2
kanban view on the new navy paletteb3d3448
brand green = #36fdab + cool navy surfaces (no anthracite)1970d4e
align tailwind dark + green palettes with the new chrome9e1e9e2
fix the 10 failures that broke the run-tests CI815c6ee
rename WealthForge-backend/SCRIPTS → scripts (case-sensitive Linux)0183dd4
tame the green — neutral tabs + flat primary CTAe2e6c4f
darker blue-tinted palette + Geist body + Button text contrast5f2d369
/my/settings was being matched by /:username/settings (404)62ef849
full anthracite palette migration3665a70
module template — SectionCard, StatTile, PageHeader, EmptyStatea56795a
visual sweep — AIOwnership, ProspectCenter, sales generators, brand panel97e02be
residual drift audit — orphan hexes + glass-card overlays2a5c162
NewPostModal accent — emerald → green (case-fix)97a12cd
MediaLibrary palette + global radius softening871e54e
module pass batch — ClientFinder, Aukimi, Loyalty07c8081
comm-hub finish + landing-pages module pass7145d7c
module pass — modals on shared surface, tabular numbersc8fdb47
module pass — header chrome, badges, mono cleanupdbf6036
module pass — kill HUD font, modal on shared surfacec5161df
module pass — modals on shared surface, mono → tabular3574a11
module pass — sober chrome, keep categorical hues7a9015f
global chrome — modals, XP bar, toasts, onboardingf5c1f1e
global layout chrome — palette unification pass82b3ac9
darker palette + global visual normalization layerfabaeff
unify palette to cool dark navy + kill teal/broken greensfef47d9
flat minimalist UI — phase 2 (top 4 modules)1e8125f
flat minimalist UI — phase 1 (primitives)0178d99
kill 2-second marketing-site flash after logine4c24af
per-user transformation history + booking 500 fixb790ab0
wrong service method name + saved-searches route ordere9b9a76
SEO meta, version history, visit analytics, AI rewriter, custom HTML, lead magnet7b2e46c
subscriber segments + drip campaigns with cron processor1d726b8
send-time AI + AI generator + click heatmap analytics81e91d9
approval queue + voice mode (STT/TTS)06eb940
expense AI categorize + VAT detect + cashflow + receipt OCR + recurring cron62b52ca
risk detector, burndown, client portal, Gantt + auto-linkd26de2e
pomodoro hook + idle detector hookad583da
categorize + timesheet + calendar sync + leak detectordc611d8
time-blocking auto-generator + smart rescheduledd56045
pre-meeting briefs + AI scheduling assistantd1e086b
meeting templates with auto-created notes doc72bfd0f
email snooze with cron — scheduled send already shippedd58a6b8
voice-to-email draft (Whisper + Claude polish)3f8fb1c
30 email templates across 6 categories + apply endpoint983aecd
real stage automation rules — todos, webhooks, notesa297169
/health endpoint — conversion rates + cycle + AI insighta749d5c
weighted forecast — probability × value bucketed by month1f13530
unified deal timeline endpoint4e38daa
deal templates + apply endpointcc20a56
voice memo → transcribed CRM note + auto todos9325984
stalled deals list + AI suggested next actions4de6df5
win/loss analyzer — patterns from closed deals7638854
AI reply classifier (interested / not_now / objection / …)cc316ca
AI-generated personalized openers from prospect signalsa5ceb8f
competitor weekly digest — AI summary of what's working7cc43fb
brand voice training — paste samples, all generators adopt it752b948
pre-publish engagement predictorb93f951
AI content calendar generatorec3b4de
/hooks/rewrite endpoint (missed in last commit)de94615
hook library + AI rewriter3ac8e28
drag a todo onto Calendar to schedule itf28c42f
global quick-capture (Cmd+Shift+K) for fast triage336203f
pomodoro 25-min focus timer per task9c01a84
AI breakdown + AI prioritize via Claudee0b715f
checklist templates — onboarding / launch / month-end / hire / review618dcd4
browser image annotator — arrows, rectangles, text, freehandcaa3dcf
AI auto-tagging for images via Claude visionc44348e
file version history — snapshot, list, restoreb986e50
atomic bulk endpoints + bulk tag action5215c6e
explicit share-link endpoints2c1478a
server-side Yjs CRDT mirror — phase 1 of true CRDT migration2565c01
cell-level AI actions — summarize, forecast, clean, anomaliesc9f2ce2
live-updating charts + area + donut chart typesa69a7c5
conditional formatting — color scale, data bar, duplicates8cd0926
4 new templates + auto-fill from profileee1cbe2
exclude yjsState BLOB from list endpoints189bed6
e-signature flow — request, public sign page, owner notificationd739199
/slash AI commands — rewrite, summarize, translate2c03728
templates auto-fill from profile + NDA/Quote/Invoiceac2e5e7
server-side Yjs persistence — survives all-peer disconnecta179be8
finalize dashboard — Tailwind safelist, soft retry, empty weekdeded3b
finalize module — startup env check + mobile headerc330cc3
finalize module — i18n credit packs, toasts, env checkab8e7ee
finalize module — toasts, success feedback, GEO API, env checka34e97f
finalize module — i18n, agent actions, rate limit, error toasts79a1bbb
use leftIcon JSX instead of icon component prop5d9e401
nest BlogManager under LandingPages module13d1927
wire i18n on Editor + Stats + Performancefefe9e4
add PATCH /agents/:id for generic agent updates4d1b558
add real expense tracker — model, CRUD routes, tab UIc517688
mobile responsive + recurring tasksbdad0e1
redirect to dashboard immediately after login4b8e32a
persist billing rates/currency/enabled server-side1d51271
drag-to-create on MonthView + MS secondary calendar fix01940cc
mobile responsive 4-panel + drafts folder icon2a168a6
CSV import, saved searches, fix favorite route, responsivefc5f2e8
register PipelineStageRule in Associations.jse3049ed
persist + execute stage automation rules + mobile responsivec1ddcd1
remove orphaned SalesPsychology hub1a20826
sequence cron, agent actions, DB-backed templates, header i18nceee3bf
surface social-connect errors via toastd60cae4
retry, vibe detection, i18n on hub4642823
stop dropping completedAt + parentTodoId on every boot32b4041
recurrence UI, subtasks, due-date notifications, model sync8441980
skeleton + fade-in for thumbnails instead of broken-image altbe9d898
broken thumbnails — wrong URL prefix and frontend mismatchd3f582f
expiresAt + Postmark share email + generic PUT for tagsdb20e0a
version history + drop legacy /share endpoint33ce6a5
real version history with throttled snapshots + restore309fb64
fix mobile LCP with AVIF hero + preload + fetchPriorityb0411c2
enable react-hooks rulesfe44d00
floor RATE_LIMIT_MAX_REQUESTS at 1000 / 15min5964812
move 'if (error)' early return below all hooks (React error #300)d67e437
hard-reload after skip/finish instead of soft navigatecf9d09a
skip onboarding redirect on stripped fallback userd46943b
stop redirect flicker between /onboarding and /dashboardd969328
resume at saved step + add skip buttonfb989d5
persist Koofie analyses + show full score breakdown78b4e28
request limit=100 so newer articles aren't dropped0aaf714
add "60 Days With 7 AI Agents" honest debrief8fd2909
expose run_koofie_audit action to seo-specialist0b7b8d5
integrate Koofie analyzer as a new SEO tabae5b046
move social-proof badges to bottom-center of the pagea9abe68
allow raws.dev in img-src so the badge renders6844fc0
resize Raws.dev badge to 44px to match Product Hunt height3c57da4
add Raws.dev badge alongside Product Hunt in hero1192d79
add "Why charging by the hour is killing your freelance business"aa61a82
refresh all 17 agent avatar images6b20554
revert DirectorySlash Off — broke prerendered routes (403)8272c4f
redirect trailing slashes even on prerendered directories0d36998
add "Unsexy math of going solo" articled0ee762
use raw SQL to dodge model/local-DB drift88c996f
seeder for "7 questions" article into prod blog_postsad47ccd
add "7 questions every solo founder should ask themselves"f0e2a9e
paginate inside tall blocks (lists span page break)745ddc9
hero count uses app-active agents, not site-visible0f8eba0
rephrase CTA title to "The future of work is independent"4f81ea1
hero count uses /config/agents (site-enabled agents)57ba98e
fetch agent count from backend templates API882a221
stop clipping descenders in hero gradient titlef3e62a4
clean hero line break, drive agent count from templates meta79c8001
Google sign-in, forced onboarding, sharper home herocfec9fd
make blog articles + other content routes crawlable (404 → 200)9ebcd0c
add Aukimi tools featured image, update postdd5c906
2-row layout — brand on top, 5 equal link columns belowc4eaf0e
add Partners column with Aukimi link74691cc
click-to-scroll-bottom + consecutive page-break empty gapsc49fc83
redesigned list view — featured hero + grid + search3e6692c
resolve s3:// featured images through the public media proxy83a959f
persist outbound article in DB, remove static JSON duplicate00fb052
new article — "Outbound works in 2026"7279d2b
honor explicit PageBreak nodes in paginator5623c08
finalize ultrareview TODO — 5 remaining findings5b09ca5
rate-limit public POST, fix tz date-edge bug, catch UCErrab25917
remove Telegram community link92f1b2d
dashboard config + bookings list + prospect cancel + T-24h reminderd35a1d7
public Calendly-style scheduling on /book/:usernamef5ea29e
LanguageContext must not use react-router hooksb4fafba
translate CommunityPublic list + post pages to FR3cc57b0
Phase 1 — /fr/ URL routing, hreflang, bilingual sitemap084fb62
TDZ crash — move pagination effect after useEditor339174c
real content pagination — blocks restart at top of next pagef290db2
Google-Docs-style page stack — visible gap between pages725e38d
visible A4 paper with format + orientation controlsaf11076
resolve s3:// URLs through authenticated /media/files proxy21346a9
provision Aukimi partner user on signupfac9c45
add Telegram community link7401c34
Sophia now sees your todos + handle expired Google tokensfb0364c
end-of-feed marker on dashboard2d1f486
infinite-scroll wipe + polish public community cards20d21a2
keep public cards opaque — roll back over-transparent lookfa02e7d
softer card transparency + more natural comment toneeeeb08e
hot/new/top filters, richer seed, public detail fix, free-tools bga6cc1af
seed script — 5 fake users + 5 public postsd0fae20
isPublic dropped by api service + new notification style851005c
unify public page background — Community + Directory match Home93dcee6
EditPostModal content spilled out of panel background3661a79
add Community to Creators popup menub0cedeb
opt-in public posts + /community page on marketing site1978994
perf + UX sprint — N+1 fix, solution preview, shortcuts, infinite scroll009a23e
restore-version uses kiwi modal instead of window.confirm91834da
blank editor after reopen — retry setContent against Yjs racec8de45e
stub /versions endpoint to silence 404s on every doc open33c4095
GSC "Product snippets" issue — swap Product for SoftwareApplication303585c
lazy-load chat history — initial 3 msgs, scroll-up for more4d8889f
"+" icon on add-lead button now white on green8b9eb2f
color popups clipped by toolbar — use portal + fixed position5ebd592
stale CSS chunk recovery + graceful project 40418a744c
richer layouts — feature highlight, process arrows, pricing ribbona199fbc
500 — replace nested include with separate map-section queryb8c39dc
auto-select title text on renamec6fbc04
map view + cross-page anchor fallbacka876828
harden delete against silent no-opsfbea073
pricing-card contrast on bold + glassmorphism themese5ac828
robust stale-chunk recovery after deployd069e1d
debounce search, real export, lead score, saved searches06f24a2
allow OpenStreetMap tiles and Leaflet marker icons01ef581
drop redundant success alert on project deletebd3fe31
add IMAP/SMTP provider for non-Gmail/Microsoft mailboxes48e158d
resolve inline cid: email images via backend proxy13fe5ae
block remote email images with show/hide toggle6009e71
actual delete + free-tier 100/batch & 100/month caps56fb433
Stripe Connect payment sections (Option B)b1eeb61
4 incremental wins from the audit2d68b1f
collapse editor header from 4 rows to 229cc76a
whitelist api.producthunt.com in img-src so the badge loads51f118e
add Product Hunt featured badge below hero CTAsaab452b
featured hero, stats banner, products preview, URL sync816eb07
OWASP audit batch — IDOR, auth, crypto, config hardeningf31551c
invalidate all existing sessions on password resete582b94
enrich SEO content, FAQ schema, internal linkingc7e342d
add Meta tags & SERP preview generator2342374
add Free Tools link to Support menu (EN+FR)54503a8
hub + 5 SEO-optimized tools (hourly rate, invoice, QR, UTM, word counter)5314385
Imprint, 3 industry pages, 3 comparison pages (EN+FR)b7178a6
polish AI Assistant focus — Sophia avatar, no blobs, no dotsd2bf7ed
AI Assistant focus section with animated chat demo4168f51
new blog post — 'Why traditional SEO is dying and Geographic AI Discovery is the new freelance goldmine'5090033
document delete — confirmation + optimistic removal + toast feedbacke43208d
hoist editorRef + use refs in drop handler to avoid TDZ0a70304
normalize country field to ISO 3166-1 alpha-2 for Google Ads2c2d33c
Customer Match export — options dropdown (hashed vs plain, verified filter)4db969b
bump build heap to 6GB — prerender was hitting OOM3a3f9a5
desktop file drop + contrast fix on Sheets/Documents list rowsf0d7a37
drag-and-drop always active, auto-switches to manual sort on dropbfcb9c8
drag-and-drop reorder for Sheets + Documents dashboards09a52ba
richer share UX — tabs + link role + public/restricted toggledcd9268
merge Sheets share buttons — icon opens the full modalb9e8413
re-enable live cursors via custom CollaborationCursorExt7671b24
disable CollaborationCursor — crashes editor mount in v3692fb7c
guard editor.view in spellcheck effects46a6421
SEO / GEO / internal-linking overhaul5308ca0
guard editor.view access in SuggestionMode command + effects459ac4f
Documents editor crash + Tiptap v3 compat033ef1b
ShareResourceModal — portal to body + safe backdrop close0099f85
hoist useDocumentRealtime + userColor above useEditor277ad6d
Documents Yjs CRDT co-editing + suggestion mode + sharea3b02fc
Sheets comments, pivot tables, realtime co-editing + shareec33271
resource sharing with Postmark invites (documents + spreadsheets)4bc4813
ProspectActivity associations + kiwi-ai feedback blending21b2c0f
persistent circuit breaker + action feedback loop + SSE fixe56fb79
read modules from correct key in config response5190535
rich Welcome email — personal tone, screenshots, Aukimi section, Community CTA737d118
use outbound stream for user mailer, add Postmark error logging9afc830
save/load email templates in User Mailer8ea424e
remove agent count from Welcome template, add Community Hub link5b79bec
Welcome email template dynamically shows only active modules8fc1a2e
replace VibeMarketing with Campaigns in Welcome email template389b494
improve Welcome email template — add Aukimi details, Community Hub, all modules8a3518e
Aukimi API URL default to aukimi.com (not app.aukimi.com)d712c3a
auto-provision aukimi accounts via partner API on auth-token requesta334e5f
apply fontFamily and secondaryColor to quotes/invoices PDFs7fa92ec
bulk Accept button now also converts quotes to invoices313ce8e
invoice number generation must be globally unique, not per-user06c066f
more bottom margin on floating bulk actions barb1ecc1c
wider bulk actions floating bar in Expensa (600px)a56e5e8
make bulk actions bar fixed floating at bottom of screen in Expensa822f7a5
remove sticky from bulk actions bar in Expensabd79001
make bulk actions bar sticky in Expensa quotes tableae33a7e
expose detailed error message on quote-to-invoice conversion failure43ba9c6
invoice number generation — use max existing number instead of count728d10f
auto-convert quote to invoice when status set to Accepted1759711
add migration to update quotes.status ENUM with 'Sent' valueeb585a5
Expensa — fix silent error in convertQuoteToInvoice, remove Invoiced from dropdown8ba8a7d
Expensa — add Sent/Expired statuses, fix invoice list stale closure5c11d9c
quote-to-invoice conversion — accept Pending status, add success feedback + tab switche7629c4
ProactiveAgentService class closing brace was misplaceda4aee85
ProactiveAgentService — autonomous agent actionsd1df48e
add missing ChartBar import52b45b5
custom domain serving — middleware for verified domains013f25d
.app.kiwi label bigger (text-sm)ccb68e4
domain settings layout — stacked vertically, clean inputs49fd6c6
complete settings panel redesign — clean accordion layoutf88b0f3
disable floating chat on landing page editor + add bottom padding to settings163d22d
bigger custom CSS + head code editors with syntax coloring82761ce
simplify landing page editor header — remove business button, cleaner status6640230
landing page settings — slide-out sidebar with accordion sections1b31dad
SEO button in landing page editor was always switching to editor1e798e8
mobile responsive — AgentDashboard + Marketing TweetDeck984b83d
Landing Pages — 12 new featuresa478986
Sales Accelerator — 9 new features1a6d3e1
Lead Generator improvements — distance, scoring, dedup, enrichment30ae08b
Aukimi fullscreen — 20px header bar with minimize buttonf129dc8
Aukimi fullscreen z-index 100 to cover all UI elements0d90a2b
Aukimi fullscreen — minimal header, max space for iframe6138e42
email invalid_grant triggers orange reconnect banner0f92291
send/stop button aligned with input, PAGE_SIZE 10, remove debug logs7179261
orange reconnect email banner on token expiration0417498
Documents light mode — black text on white backgroundf1a10cd
align send button vertically with inputfa8def7
unified background color #0f1219 — dark navy flat1418c71
signup + login page — anthracite gradient with subtle glow4bf888f
disable floating chat on marketing page (Lucas embedded)b517c32
delete scheduled post route + agent column overflow + post endpoint5bca390
Bluesky connect modal + LinkedIn/Instagram platform_data fix355e756
PostForMe auth — pass platform-specific data (connection_type)48212a2
darker background gradientb7ea189
background gradient matching header bar navy tones8fa72c6
darker background gradientada7235
replace grid background with anthracite-blue gradient9cea8e7
Google Ads conversion tracking on signup9d9ad58
PostForMe API base URL missing /v1 prefix303bfff
bigger connect account buttons with platform names66ea4a5
embedded Lucas agent + PostForMe in Marketing TweetDeck994aabb
PostForMe integration in Marketing TweetDeck7693152
Marketing module rewrite — TweetDeck-style columnse941604
Xpander streaming, custom functions, and knowledge basesd155d0c
migrate Xpander from webhook to proper API (v1/agents/invoke)67cd3f7
detect hallucinated actions — warn user when agent lies122117b
agents must not claim success without action blockseaedfa7
copy button in agent console modalc9466fe
Xpander timeout 30s→60s for complex requests (web search)c2a29b3
agent console modal — click 'thinking' to see live SSE eventsf1f683a
calendar timeout — rate limiter too slow + short timeout95ddd6c
add console logs for chat scroll loading1625019
create_meeting_link, translate_text, shorten_url actions95efbf8
6 new agent actions — profile, pipeline, dashboard, export3298d40
update_business_profile agent action6184b8c
agents must ACT immediately, not describe plans017e477
auto-switch agent window on handoff delegation6b4fd76
automatic agent handoff when out of expertise0b0e6a5
notification when agent responds (visible outside Workforce)6f3a618
auto-extract directives from user correctionsf7343b7
search messages in chat history66494ec
infinite scroll chat history (WhatsApp-style)06023fb
drag & drop files into agent chat3dd120e
chat bubbles — dark navy/slate tones matching sidebarba845d8
Agent.findOne missing userId — chat history not loadinga932908
chat bubbles — anthracite gradient with subtle bordere3af2ca
SSE stream hangs when sendMessage errors or Xpander timeouts0992169
label_email — handle custom labels like 'Urgent'133a8e3
add social/integration TODOs to CLAUDE.md2752a74
social listening cron + comment reply actions3f7f990
agent memory loss and off-track behavior65188dc
stop button to cancel agent response mid-streamb10fa3b
highlight color picker — bigger swatches, cleaner gridbdf8c16
inject user directives into system prompt for strict enforcemente8f98d4
add missing useMemo import in AgentDashboard502a69b
paste images from clipboard into agent chat65f91f4
@mention agent delegation in chat78f1752
add detailed error logging for sendMessage Validation errore9abf20
keyword-based agent routing fallback when ML service is downec2655f
use findOrCreate for Agent to prevent race condition3bc0acb
manual email recipients for campaignsae9d1bf
allow resending campaigns already sentbe110f5
include newsletter subscribers in campaign recipientse4eefb4
campaign send — better error handling + show actual error messagedfc0972
multi-series charts in Sheets + agent memory edit/search/dedup3d11146
agents can update documents and spreadsheetsa54632d
Activity Feed shows auto-triggered agent messages with date accordion02be492
notification type ENUM + email label mapping937e06f
RGPD — anonymize PII on ALL Xpander callsf2f0b87
add search_leads permission to executive-assistant610e6b0
remove orphaned debug line causing SyntaxError crashfff0f1c
dashboard/projects 500 + cleanup debug logs3e84d60
agents show green dot when active (was gray = looked offline)58ed4a3
4 SQL column mismatches in AgentActionServicec8a01a8
create_task uses 'text' column instead of non-existent 'description'bffa75f
add 'automation', 'action', 'response' to ChatMessage messageType ENUM811eb71
filter disabled agents from /workforce/agents endpoint92dfbe4
route-agent missing Content-Type header66cd6af
test email also wraps with Kiwi template42f9ee9
newsletter template wrapping moved to backend (no more double template)7ead5c7
personalization tokens — handle HTML-encoded braces + clean empty names780061c
newsletter delete — fix broken headers ref + use window.confirm2bc229e
newsletter double template — save raw content, wrap on send/preview0e8323a
purchase-credits returns session.url for frontend redirectdbe7506
credit purchase error response — include debug messageee4024e
use Kiwi AlertModal instead of browser alert() for cancel feedback55d4e90
add cancel subscription success/error feedbackd217848
cancel subscription keeps active until period ende662edb
subscription status shows Premium correctly + remove Free label from sidebar5205995
handle Stripe current_period_end as number or Datec974059
always return debug error in verify-session (temporary)3ea581b
verify-session — include error details in response for debugging5f7192c
add debug log to verify-session entry point6a4e890
requireStripe middleware — proper error handling for asyncdcd1fbc
don't cache Stripe test client, add verify-session logging9669942
verify-session fallback to DB if Stripe call fails63e7256
webhook handler returns 500 on failure instead of swallowing errorsda41563
webhook accepts both live and test Stripe secretsb44d524
strip JSON double-quotes from SiteConfig Stripe values2ccaf27
t is not defined in PipelineKanban sub-components9a53346
Aukimi auth — retry harder, send to both origins37209ba
Aukimi iframe loads only after auth token is ready22ff82f
cross-origin iframe reload error in AukimiSuite5d3c815
Aukimi partner ID 1 → 2711053a
increase spreadsheet rows from 20 to 100+ (200 max)f42fff2
agentActions.js syntax error from sed corruption7e7c57f
add missing api import in AukimiSuite09b9907
AUKIMI_PARTNER_ID crash + missing screenshot placeholderse9ed9a6
marketing module improvements — personalization, A/B testing, bounces, recommendations9753f5f
connect AI agents to Documents & Spreadsheets modulesdde0de9
server-side PDF export for invoices & quotes (Expensa)79ee0a7
document headers/footers with page numbersd6d70d6
page margins in Documents editor620e9f5
persist light/dark mode preference in Documents & Sheets2cc8e8b
newsletter logo 200px174bc2c
sync Postmark suppressions bidirectionally062e0f9
newsletter logo 420px widthcf436e1
remove unsubscribe text from newsletter template (handled by Postmark)eb73554
newsletter header logo 320px width8f50598
improve newsletter template + add /unsubscribe page30df23b
remove broken headers references from sed migration73d8d9a
increase DB connection pool from 5 to 20 for production scale0e0683e
subscription billing security + grace period + renewal creditscbad859
revert auth to localStorage authToken + global fetch interceptor6b01f69
restore Bearer auth fallback for all fetch callsb2d141a
server crash — AuditService methods outside class + bad import30ad01d
remove duplicate AuditLog model causing server crash0acbb3a
S3 encryption at rest + audit log systemece298e
S3 versioning + automated daily backup scriptcef2939
increase free storage limit from 100MB to 500MB23e394b
CSRF protection, magic byte validation, error sanitizationd1de3ed
migrate auth from localStorage to httpOnly cookies64f6d2a
fix critical vulnerabilitiesd7fbe36
active sheet tab — border-bottom onlyfd3e646
green border on active sheet tabe1d036c
rename and delete sheet tabs in Spreadsheetsb90d6c4
reduce document auto-save debounce to 300ms91d5e8b
document auto-save stale closure + faster save (800ms)9e8fc71
extract document object from API response on create03973ac
mount BusinessBlogRoutes on /businesses prefix instead of /45ae411
add *.google.ch to CSP (Swiss Google domain for ads)d733188
TOS modal button — light green bg with black text621110c
propagate tosAcceptedAt to frontend user context522773c
update CSP to allow S3 storage and Google Ads domainsaf386d6
S3 sync status indicator with 3-state cloud icons04bbdfd
auto-sync all media to S3 with cloud status indicator202d407
add S3 storage (Infomaniak Swiss Backup) + legal terms modal6df4740
add 4 new landing page templates (Portfolio, Fitness, Real Estate, Online Course)e9aa1eb
Landing Pages — aggregate stats, SEO score panel590eb32
Landing Pages — show error feedback for all failed operations7211d65
add Documents, Spreadsheets to navbar dropdown + Landing Pages to screenshots649e1d0
add Landing Pages to Home page features9d8834d
remove "Included in free version" badges from Home and Modules2d24751
Sheets — insert/delete row/col shifts ALL formats correctly3ab240e
Document & Sheet sharing — public links with share tokens4c44530
Sheets — formula fill with relative/absolute references ($)33f963c
Sheets — IMAGE formula, HYPERLINK, insert image buttonf559bfd
Sheets — table formatting (borders, alternating colors)5c31a41
Sheets — drag & drop cells to move content (Google Docs style)6fae4cb
Sheets — 25+ new formulas (lookup, text, math, stats, date, info)3f02ee1
Sheets — row/column header context menus (Google Docs style)6334cb7
Sheets — row insert shifts formats, undo/redo stale closurefd94a07
Project Manager — double-click to rename project4a32565
Project Manager — null guard on updateMetrics0aa99cf
Project Manager — task update 400, profile 404, status chipse8431ba
PDFExporter — add t() prop with fallback, pass from ProjectDetailef2b638
GanttChart — add t() prop with fallback to prevent crashe026f36
Workforce — remove live badge + capabilities count, green send button7b92b28
Workforce — Power Mode toggle, fix French credit errore8603ff
Landing Pages — publish/schedule loading states + timezone5942c91
Landing Pages — honeypot anti-spam, HTML cache, SEO improvementsbf69efd
Landing Pages — bilingual error message for terms of use09f9bb4
SEO module — error UI, URL parse safety, search debounce831e065
Project Manager — i18n for Gantt filters, PDF export, empty states3334f27
Sales Accelerator — remove alerts, fix navigation redirects88589d4
CRM pipeline — i18n automation rules, pass t() to Kanbanbcad2e9
CRM — replace all alert() with toast notifications, fix bugs915e468
Sheets — memoize cells, formula cache, dynamic row rendering3e5003b
Sheets — bugs, toasts, confirmations, 15+ new formulas6509d2f
focus mode uses portal to body instead of fixed positioning117391d
focus mode — full opaque background, Escape/Cmd+Shift+F, z-index78b2008
spell checker — 5 languages, DB dictionary, grammar colorsd507bd3
spell checker — personal dictionary, bilingual, grammar, cache935b8a5
self-hosted spell checker — zero external API, RGPD compliant2718b45
spell checker position mapping — build proper text↔PM offset map732b229
add api.languagetool.org to CSP connect-src for spell checker9a21442
move spell state declarations before useEffect that references themf91d213
spell checker uses overlay instead of DOM mutation3a2894c
inline spell check — click red underlined words for suggestions4aef6a9
spell check — send full sentence to LanguageTool via POSTd1367f7
integrated spell check suggestions in Documents context menu92cdcc9
Shift+right-click bypasses custom menu for spell check suggestions0cca009
enable native spell checking in Documents and Sheetsae1583a
context menus — viewport clamping + cut/copy/paste/undo/redo2ac1b14
kanban status drag & drop persistence + mode memory28d91b5
add missing useCallback import in TimeTracker.jsx523787c
add empty states and loading spinners to all TimeTracker views3581593
TimeTracker — configurable daily goal, fix sync, cleanupdd1152c
3 TimeTracker bugs — time display, kanban persist, today's focus62334bb
remove manual Save buttons from Documents and Sheetsafc3d3e
Assignment to constant variable in Modules.jsxdf751b9
validate timestamps before sending to Google Calendar API977257c
add calendar update logging to diagnose Invalid start time26fe0ef
calendar "Invalid start time" + timezone + conflict text75c9af5
calendar event save bug + add event color picker18b14f6
initialize screenshot gallery with existing default images4e9f8f6
auto-save screenshots on every change (no manual save button)57a3af2
screenshots — drag & drop, lightbox, multi-format social, ZIP, compression52cc902
screenshot cards with full controls on all images3fa019e
screenshot cards with visible controls and reorderd6939f5
replace add-image dropdown with centered modal22dbc34
persist social media screenshots + add image popover (upload/paste/URL)97f5f16
support multiple screenshots per module62e55cf
social media images — 6px border, preserve logo aspect ratioa1faec7
dark theme for all email templates and prelaunch page17a5183
newsletter stats counting active subscribers from wrong endpoint4a4e5fd
prelaunch confirmation email template6fae1ba
send prelaunch confirmation email via Postmark, fix stat card colorsdef80a3
use Button component from design system in prelaunch page63ba930
simplify prelaunch signup page, remove module-specific featuresf130346
translate Postmark email templates (FR/EN) and surface send errors5912b85
resolve i18n key resolution for all auth pages4be91c4
fallback to /api/stats for agent roster when /api/agents/stats failse81372f
add cdn.jsdelivr.net to CSP for Three.js font resolver8e228d5
add blob: to CSP script-src for Three.js web workersff06d3f
downgrade react-three to React 18-compatible versions + add .npmrc9b0dcdd
add missing icon imports and fix extension conflicts in Documentsad11262
replace non-existent SpellCheck icon with ListChecksaeb8a13
add 7 new Document editor features (highlight colors, line spacing, indent, sub/sup, emoji, focus mode, spell check)6334839
improve text color icon visibility in dark mode1ee63b4
add missing TextAa import in Documentsd5f5eb6
change text color icon to TextAa with dynamic color indicator9eafd84
improve cell selection visibility in Sheets light mode3a32c7c
improve document card info visibility + fix dark mode background colorba99c3c
add undo/redo toolbar buttons to Sheets16b3dd3
delete VectorEditor, add features to Documents, MediaLibrary, Calendar, ProjectManager & CommandPalette4088a65
add missing XP tables to auto-migrate + fix tiptap duplicate extensions83c64ee
add custom context menu to Documents editorb656f4f
prevent Sheets context menu from overflowing viewport7be93e0
fix context menus + draggable charts + major feature additionsaa7b215
center changelog timeline bar + change Documents import icon2641307
add sort/filter, conditional formatting, charts & import to Sheets46ed3b0
add find/replace, templates, table of contents & word goal to Documentsf9b3aa2
back button returns to correct module when opening docs/sheets from Media96914fe
add freeze, merge, number format, auto-fill & shortcuts to Sheetsfdef4f3
add font size, text color, import & shortcuts to Documents editorbe01520
add multi-format export to Documents and Sheets56e164f
add Google Fonts selector to Documents editorb537804
ColorPickerBtn light mode support in Sheets7b7175c
add light mode toggle + column/row resize to Sheets & Documents editorsb4529ff
darken column/row headers to distinguish from cell content areaa2d0f74
add column/row selection and cell color styling to Sheetsac5c8fc
improve formula eval robustness — add word boundary to SUM regex, direct numeric return, error loggingd90c368
add thumbnails/previews for documents & spreadsheets in Media Libraryf2aeea0
sync documents & spreadsheets to Media Library146aac5
merge Media Library header into single toolbar row to save vertical spacee22903e
reduce sort select height and improve icon visibility in Documents & Sheetsfcdf0e6
unify Sheets header with Documents — add list view, portal context menu, sort & relative time858c854
return 410 for unknown subdomains instead of passing to API (was causing 5xx)698c7e8
410 for /search + /lander with params, 301 /privacy → /privacy-policy, /education/blog → /blog6ce4dd9
301 redirect spam query params (?beerus=) to clean URL23edc43
redirect www.app.kiwi → app.kiwi + force HTTPS (301)3ae19c4
return 410 Gone for legacy APK store URLs, block in robots.txtdb95358
SEO — canonical via useLocation, .htaccess 404 for unknown routes, prerender /directory8bca851
add agent mappings for media, documents, sheets, blog, clients modules8bdaa98
Documents context menu z-index + deferred listener to prevent instant close3a9404d
Documents context menu — use portal + prevent click-throughfb69dd8
improve Documents module — sort, grid/list views, paper editor, keyboard shortcuts90e8f65
add column/row hover highlight + cell range selection in Sheets347a5e1
add print with settings modal to Documents & Sheets + sync to Media Library3345c00
sync Documents & Sheets to Media Library3393e38
improve editor toolbars + add right-click context menus to Sheets & Documents8ec756f
embed PDF preview directly in modal via blob URL + redesign preview header42afabf
add thumbnails/previews for PDFs, Documents, and Sheets84d65cd
replace PDF/Office iframe with open-in-new-tab preview card6566eea
add preview modal, context menu, create doc/sheet to Media Librarycd02d52
remove storage usage pill from Media Library header5d5a6fc
improve Sheets — fix cell input bug, add 25+ formulas, help panel605783b
add Sheets spreadsheet module with formula support20f43e0
add Documents module with Tiptap WYSIWYG editor9733afb
use 4:3 aspect ratio with min-height for grid file cards95b7d27
make share email input full width on its own row0de2460
remove JWT auth requirement for serving uploaded files and thumbnails22dcdec
append JWT token to media file URLs for authenticated accessbf0a802
store full API path for thumbnail URLs1cf5c1e
strip /api/v1 prefix from media file URLs55b8a03
prefix media file URLs with API_BASE_URL for productionf01411f
make Media Library full width layoutfcc8af9
redesign Media Library with Drive-like UX improvementsdeefcac
add media_files migration for new columns and update badge color156ec96
add Media Library page with Drive-like file management, sharing & preview41d9591
add reactions, @mentions, channel sidebar & notification improvements to Community (frontend)6667e4f
add reactions, @mentions, channel sidebar & notification improvements to Community7a0b70b
add financial dashboard to Expensa with P&L, cash flow, aging & forecasting962d484
add advanced reporting view to Time Tracker with billing, PDF export & peak hours995be46
upgrade Calendar module with conflict detection, keyboard shortcuts, time indicator, drag-to-create & scheduling assistanta425452
upgrade SEO Dashboard with competitor comparison, recommendations & keyword badges89cfcba
upgrade Automation/Nodes module with 5 new node types, 8 Kiwi-connected templates & backend execution3194dae
add Media Manager modal accessible from dashboard sidebar214a43d
add team, video, map to landing_page_sections type ENUMfbc3df4
resolve React error #31 on /blog by using dangerouslySetInnerHTML for JSON-LD schema4e717c4
redesign changelog page with vertical timeline grouped by date9328d39
button text contrast computed against gradient midpoint, not just primaryColorce6060f
scheduled publishing, newsletter section, business blog, WYSIWYG editor, image optimization, Lighthouse prep, testscb1e348
exit-intent popups, social proof, blog gen, clone, sitemap, RSSd56523b
add team/video/map landing page sections + business performance analyticsa14ed36
improve landing page animations + migrate react-icons/fa to Phosphor14a76dc
standardize email FROM address to use EMAIL_FROM env var1f56cd5
add og:image dimensions to SEO component + update sitemapea4548e
dynamic canonical URLs + noindex for dashboard pages73162d2
make landing pages full width + improve image preview in editorb00812c
add Pexels domains to CSP for landing page images28ac23e
add subPageId to LandingPageSection Sequelize model61e62d9
center landing pages on all themes + enforce 2-font limit6bffab7
inject graphic design theory principles into landing page AI prompt58c7982
randomize product count (2-4) instead of always generating 5eacc5f3
increase landing page variety to 12600 unique combinationsd936b84
massively increase landing page visual variety432cbc2
add Stripe Customer Portal configuration ID support3c6dc79
prevent server crash when STRIPE_SECRET_KEY is missinga07cb4e
multi-page site navigation showing same content on all pagesd5d691f
complete Stripe subscription safety net53396b1
parallaxBg using DALL-E prompt text instead of image URL9cd317d
landing page list fallback when Business table missing + multi-page fixes80c1c6b
hero contrast, multi-page nav on subdomains, business name sync84b6164
enforce text contrast with inline styles on all landing page elements30727d1
rewrite all /uploads/ paths in preview including CSS url() backgroundsfcd3267
prevent duplicate landing pages per user/business46551dc
enforce contrast on card text via CSS contrast guard6a4b4c6
remove subPageId from LandingPageSection model to prevent Unknown column error137b569
add focal point selector to image uploads for landing pages29ebf9d
add object-cover to landing page images to prevent deformation474f5bc
add isVisible to raw SQL fallback + make renderer filter defensive059e370
add safe fallbacks for subPageId column in public landing page routesca0be7b
refactor logs page into date-based accordion groupsf7e30a3
handle missing subPageId column in subdomain resolver + add multi-page supportc892069
handle missing subPageId column in landing_page_sections gracefullyc30b167
remove sanitizeJsonFields that corrupted landing page JSON responsescddbd46
handle missing landing_sub_pages table gracefully + add error logging2e3e4cf
add Quote section + hero background image/video optionsedb0c65
add multi-page landing page support5ecb091
remove breadcrumb from landing pages, fix CTA contrast, sanitize JSON fields8af4c4d
remove breadcrumb from landing pages + fix CTA button contrasta97417a
add missing landing page editors (carousel, tabs, process) + submissions API8b8acdb
add 9 landing page improvements (ARIA, CLS, carousel, tabs, breadcrumbs, blog JSON-LD, responsive pricing)0111a2d
cap border-radius to 16px max on inputs/buttons/forms, add WCAG contrast guardd40692f
landing page improvements — footer variants, content dark mode, testimonials scroll, image optimizations6b52860
enforce consistent border-radius via CSS variables for all elements62c4e64
adapt form styles to designSystem (border-radius, input radius)7b7f55f
contrast pass with inline styles, centered orphan cards, remove gradient linecb22f64
increase hero video/image overlay minimum to 0.5 for better contrastd8d0a4c
hide foreground hero image when video/image background is present0146a03
validate section types & add businessId migration for quotes/invoices204525e
diversify navbar layouts and hover effects on landing pages9146bfe
contrast pass — icons, step circles, stats, video overlay, spacing2776ccb
link quotes & invoices to selected business in Expensafccded3
3-color brand rule, hide video on mobile, cascade delete business27e4775
integrate Pexels API for stock photos & video hero backgroundsc98e53d
add 5 contact form layouts (split, banner, minimal, card-accent, centered)880f473
restore sticky nav by using overflow-x:clip instead of hidden7c30e1e
horizontal scrollbar, mobile nav dark theme, and responsive spacinge16529e
CTA buttons now use business primaryColor instead of generic blackde2ce82
dark theme navbar scrolled state now uses dark background0a9d7eb
make dark theme navbar fully opaque to prevent content bleed-throughf5c14c7
add list view mode and sort options to business directorya5433f3
dark theme navbar visibility + timeline colors + force dark on all sectionsff6ad25
comprehensive dark theme fixes for landing pages (bold + glassmorphism)11059f4
comprehensive SEO optimization for landing pages (72→~90/100)c3b44c9
directory logo on dark kiwi background (#0f1d2a)74eaecf
cinematic image prompts + directory logo background46833c6
dark mode coherence across all landing page sections4bf52b7
industry-weighted layout system with 7 profiles and new variants32025d6
force random layout/style diversity on landing page sectionsb1b10d9
3 landing page issues — cropped button text, logo color, logo quality8072ced
show business name next to logo in landing page nav and footere3a1e14
add layout variants for features (5) and pricing (3) sections24857b5
add countdown, process, services to landing_page_sections ENUM3efc410
major landing page design overhaul — 8 UI/UX improvements4aa7120
show business logo with primaryColor in navbar selector + fix directory broken logosfa58f7f
clear stale business filter when selected business no longer existsfafcca2
replace native confirm() with modal in SEO CompetitorsTab443feeb
hide credit warning when balance > 860e50d0
business filter system — backend routes now handle businessId param5aab6e3
CTA buttons now link to actual sections instead of nowhere (#)2532140
switch image generation from DALL-E 3 to gpt-image-10ae4606
enhanced landing pages — DALL-E per section, countdown timer, Google Fonts, animations, multi-step forms, video hero, parallax09f4e5c
deep theme personalization — Claude generates customCss + designSystem2abc25a
visually distinct landing page themes with aggressive CSS overridesf2bdf22
preview images — rewrite relative URLs to absolute + allow API in frame-srcd92ec7b
preview images — use request origin for base href instead of missing env var55c67fe
landing page preview images + transparent logos + logs date parsingf43ec99
credits wiped on level-up + CSP blocking DALL-E imagesc01865d
group /logs page entries by date with visual separators37a2d1b
exclude public/uploads from rsync --delete in deploye7966f3
landing page images not showing — 3 fixes0c1e963
inject business logo into landing page settings0fb027a
remove headline/description text from DALL-E image prompts5a38c9c
add business filter system across dashboard modules345ac85
landing page sections empty content + stuck generation auto-cleanupbb1e105
editorial calendar status 'scheduled' → 'pending' (match ENUM)8a72713
show map tiles when no prospects, replace full overlay with small badge2f56ae4
keep conversion-optimized section order, vary only visual design08956e0
unique landing page designs per business via designSystem + random seedsad1c786
ban download/guide/ebook CTAs from generated landing pages3b9210b
upgrade DALL-E image quality to HDd0f6270
enforce NO text in all DALL-E generated images7ab0a34
increase FAQ category menu size from sm to md9dfe25f
campaign editor uses business branding for emailsbd17102
campaign email templates use business brand instead of Kiwi branding6ea5485
add Aukimi partnership section to About Us page4879209
rename BlogPost to BusinessBlogPost to resolve table name collision + redesign Marketplaceded78a0
redesign Discover Creators page with i18n, hide when module disabledc824bdd
add landing page themes, blog system, auto-répondeur, WhatsApp widget, QR code & analytics86867c7
6-theme system for landing pages + AI theme selectionda78184
in-app notification when new form submission arrivesfe04590
no fake phone/email in landing pages, filter '#' social links25aaf9d
pricing grid supports up to 4 columns on one row8c252f4
use fav.svg as default favicon for landing pagesb0104d7
revert Profile.jsx language destructure — local state was correctbc0aa7b
add missing language destructure in Profile.jsx3beafe0
brand identity editor, social links, DALL-E logo gen, business testsfa9a860
add missing DB migrations for todos.businessId/projectId and businesses.language6291af7
add todo filters by business/project + FR/EN i18n for remaining dashboard modules0969193
use brand logo as favicon on landing pages, fallback to kiwi logobe7bec3
dynamically load chosen Google Font for landing pagesba16b09
landing pages generated in user's language (FR/EN)b48f936
major landing page generation improvements840943c
landing pages use business brand identity (colors, font)c73852f
anchor nav links + add contact form + vary landing page designsd6f130e
disable all links and buttons in landing page preview mode4cafb0b
strengthen DALL-E prompts to never include text in generated imagesa38c52a
add public business directory page (/directory)987bbcb
comprehensive SEO optimization for landing pagesfd77b7a
translate hardcoded French strings to English in landing pages i18n5883506
improved landing page generation with full business context272099b
generate DALL-E images for landing pages + enriched business settings04c3e43
landing page navbar — short labels, brand name, CSP frame-src890e73d
allow Tailwind CDN and Phosphor icons in CSP for landing page previewfc9068b
add allow-same-origin to landing page preview iframe sandbox1f222bd
remove UUID id from campaign creation (column is INT autoIncrement)b2796f6
lowercase "nammu" brand name everywhere (footer, legal pages, i18n)9c1a314
correct AB view column name (testId not abTestId) + non-blocking cleanupd5c7de8
use correct column name landingPageId in AB test cleanup on page deletec4453a4
delete AB tests before landing page to avoid FK constraint errorb4c83b9
AI costs dashboard — track & display real costs per provider/model47fbc14
improve agent feedback — comment prompt on dislike + memory on all feedback7fe7f9d
search_leads agent action — use correct Prospect column namesfc7ee4f
add FR/EN i18n to SEO dashboard (all tabs, GSC connect, site selector)550c41a
add FR/EN i18n to LandingPages, SectionEditors & A/B Testsa65d26d
add FR/EN i18n to all dashboard modules539fb49
add FR/EN i18n to 8 dashboard modules6c89e07
move language toggle from sidebar to top bar in dashboard914f948
add useLanguage hook to Sidebar component (language not defined crash)e111b14
show language toggle when user is authenticated3ff8726
add backend agent visibility config endpoint and app-side filtering35fb4be
add FR/EN i18n to AgentsSection on Home page5e771bd
add FR/EN i18n to auth flow pages39bc15d
add FR/EN i18n to Education and Partners pagesc9314c3
add FR/EN i18n to NotFound and Documentation pages6b18a10
align all free plan defaults to 30 credits/monthb0e8f0f
bump premium plan from 350 to 500 AI credits/month8c505ff
add FR/EN language toggle and wire all Home page text to i18n3d80fc5
unify button styles across public site to match app design systeme33bd66
implement growth loop system (referrals, milestones, free plan bump)ad1b1b0
pass missing t prop to HeroSection in Home (production crash)dd1c239
add missing useLanguage hook in Home component (site crash)5b18162
add FR/EN i18n to Navbar, Footer, Home, Features & Pricingd414288
add FR/EN i18n to auth, legal, modules, and agents pages7c3164b
wire up i18n translations for FAQ, Support & Contact pages480080b
add prerendering for 41 public pages + fix blog clean URLs6a5f1f3
fill all time slots in traffic endpoint with zerosa08f55a
use aspect-ratio instead of fixed height on SVG charts28614d7
traffic chart with period selector (24h, 7d, 30d, 6m, 1y)36d4ff0
interactive traffic chart with tooltips, stats & heatmap bar9af0cdf
rewrite MiniLineChart with proper viewBox proportions673d41e
parse SQL string values to numbers in visitor traffic chart7842983
show fallback message when visitor analytics data is unavailable0d24163
align visitor analytics field names with backend response3d1e506
remove duplicate Newsletter import crashing serverb438c85
auto-subscribe invite users to newsletter distribution list9bf06b5
auto-create newsletter distribution list per invite codeec76113
add auto-migration for invite_codes table and referralCode columnf8e0a65
add beta invite code system for gated registrationbdda540
stop wiping level-up credits for free userseefc926
filter dashboard cards and sections by enabled modulesae3f366
hide email connection banner when Messages module is disabled1518a89
pass enabledModules prop to Sidebar component (was ReferenceError)df8cf12
module toggle actually works — fix double API prefix + filter everywhere20d0c7c
add public loyalty program page at /loyalty/:programIde3387c3
Loyalty crash (missing X import) + Todos 500 (wrong table name)8bb28f3
Loyalty IconButton icons not rendering — use icon prop instead of childrena99409b
hide A/B testing when no landing pages, improve empty state CTA1219f76
campaign subscribers now pulled from user's CRM prospects + landing page submissionsa6cd713
PM improvements — drag & drop kanban, bulk actions, analytics, checklists, auto-progress, workload viewf87f252
complete Project Manager frontend — search, sort, comments, tags, templates, archive, todo linking75b5347
project manager — archive, duplicate, templates, comments, todo linking8c25feb
remove duplicate New Project button, rename header button47226a8
show project cards grid instead of empty placeholderabacb2a
translate Project Manager to English + fix add button style2104b4e
sanitize empty string budget/progress in project create/update2bbb870
use fixed positioning for quote status dropdown9c0c125
use fixed positioning for invoice status dropdown17bdbe2
invoice status dropdown clipped by overflow-hidden on table wrapper2affa3e
add all 6 invoice statuses to dropdown (Sent, Partially Paid, Cancelled)384c4b6
sanitize empty string vatRate before DB save5ab589f
add missing brand/billing columns migration for users tablecab57fe
clickable status dropdown on invoice table rows595df38
invoice payment tracking — partial payments, history, progress barf1ad5de
remove success alerts, add clickable status on quotes, fix GROUP BY SQL error4e6b52b
redesign invoice modal + add convert-to-invoice button on quotes0be7213
redesign Expensa UI — tighter, narrower, more professionala787f6f
quote/invoice status ENUM mismatch + quantity integer + remove tips9112a6c
remove redundant quick actions from SEO dashboard6998f42
SEO audit history — click to view past audit details, per-URL sparklines6c9ee07
dashboard 500 errors + calendar polling after logout723b4cf
GDPR-safe PII anonymization for Xpander AI calls31a330f
increase rate limits across all limiters4f9447d
add Nammu + Geneva Switzerland to footer IDE/TVA line6b9048c
easier level curve, free account cap at level 3, click-to-view XP info1bb3575
prevent duplicate prospects by emailebc1a8d
prospect detail UI — match app design system44cee9e
prospect creation 500 — sanitize empty string integer fields6c3f63d
agent chat input alignment + green send button0541eec
green Add button + green Add prospect button, remove star icond0b0180
purple XP theme + floating buttons opacity 20%8736802
add XP awards across 17 route files for gamificationdb287a6
gamification XP system with levels, credit rewards, and sidebar bare4f0add
set floating buttons to 10% opacity, 100% on hover6e0f2bb
remove bottom spacer + fix agent bubble opacity (framer-motion override)ce0012e
make floating agent bubble invisible until hover + remove footer4edbe82
convert TodoList to draggable floating panel that persists across views086859e
make calendar fit available height instead of overflowing5ff0e8b
disable Spotlight module — hide from sidebar menu, redirect route to dashboard9f9391c
onTodoClick crash in navbar + white calendar picker icons on dark themef55e82c
remove inline gradient overrides from Expensa buttons — use standard Button variants9deb167
add discrete shortcut icons in top navbar (notes, todo, timer, aukimi)38b3d46
make top navbar more narrow (py-2 → py-1)a6b4a5f
add bottom spacer so floating buttons don't overlap page content6b73cb1
position Quick Notes icon above agent chat buttonabf5b6d
move Quick Notes icon to right side, next to agent chat button without overlap3ab8300
move Todo shortcut from sidebar bottom to Tools menu group04d8126
remove unique constraint on xpanderId — should be unique per (userId, xpanderId)9242aef
add wss://api.app.kiwi to CSP connect-src for WebSocket connectionsfc98407
sidebar category labels (Main, Business, Tools, User) in greendc83736
increase global rate limit from 50 to 500 req/15min — app fires ~10 requests on page load4f2df28
remove fake notification dots from sidebar — only show badge with real unread counte684c89
price input/currency select alignment — wider input, no left rounding on selectda0f593
agent vacation/pause mode — block triggers, scheduled tasks, and chat when paused220601e
align price input and currency select on products taba6f86a1
credit warning chip links to /profile?tab=subscription instead of 404b84f7f6
migrate auth to httpOnly cookies + tighten CSP + move sensitive data to sessionStoragef320dfb
resolve 5 beta test bugs (tabs, routes, content bank, timer UX)3916828
correct UserCredit import path (user_credit.js, not UserCredit.js)15c74c3
add IDE/TVA number to footerf3f4cc7
include subscription info in /users/profile response88c0b17
email dates showing 1970 + raw HTML body in message detailc7ee9c8
remove all Nylas references, rename to email provider08059bd
subscription tab blank (#7) + sidebar highlight (#10)0fb3c13
resolve 8 beta bugs + rename Communication Hub to Messages14519ad
resolve blank Subscription tab caused by error/loading race conditions207cb98
resolve 3 CRM prospect bugs (validation, creation, kanban add button)03ac14f
add missing currency column to Invoice model (fixes Expensa Analytics 500 error)da0ae69
automated email triage cron for Sophia executive assistant30818fc
inject real calendar availability into Response Generator + anti-AI-slop prompt5c5ec3d
switch Response Generator from Claude to OpenAI GPT-4oac63b11
use claude-3-haiku model (account lacks Sonnet access)8274417
use claude-3-5-sonnet-20241022 model ID (previous ID returned 404)3ebb875
update Claude model ID + clean up Response Generator UIbf7af9e
Sales Accelerator Response Generator no longer requires client selection18e309e
add empty state overlay on map when no prospects (#15)7f3854d
address beta bug report — 10 fixes8db4b2e
correct subscription link to /dashboard/profile?tab=subscription3cd60b0
make credit badge clickable → links to subscription page887c15f
add script to reset all subscriptions to Free plan2af06f7
correct stale credit balance for free plan usersb4196a3
Free plan always shows 10 credits, ignore stale DB value40036fc
clean up Workforce - remove unused tabs and fix node connections8616d2a
remove ML Insights tab and delete MLInsightsPanel.jsxca437cf
tone down Workforce button when active + remove Usage tab117b92f
move Workforce AI to fixed prominent button at top of sidebarf3ec462
search multiple .env paths and strip \r before dotenv parse257e8ce
use mysql2 directly in migration to avoid import chain issues56c86c1
move migration script to backend root for correct ES module resolutionaba4ca6
add migration script for missing users table columns78cd8b5
expose error message on prospecting-data 500 for debuggingce12a19
kanban weekly agenda for social post scheduling with drag & drop0858fed
marketing icon to megaphone + convert post panel from slide-over to centered modalae14730
add composite agent actions for social posts with images and blog articles2ed4979
integrate Post for Me API for social media publishing2142b92
social media marketing page + pain points section + content ideation agent actionsf76fd36
update marketing pages with correct plan limits (storage + price)c01c7e6
add verify-session endpoint to sync Stripe subscription without webhook08f0a63
redesign subscription success page with Kiwi branding + fix billing date1a0f016
only show credits for Premium subscribers, not Free plan with active statuse191930
make Subscribe button larger and more prominentb5aa65c
hide credits tab and balance when user has no active subscription226e81c
replace deprecated stripe.redirectToCheckout with window.location.hrefb76e1e1
verify email page — use correct logo path (/kiwi.png) and fix bg-dark-* classes680d81e
email templates — smaller centered logo (80px), update year to 2026912ba88
prevent double-hashing password on reset (User model hook already hashes)ce52e1c
remove default browser outline on focused inputs9821922
use default Postmark 'outbound' stream instead of non-existent 'kiwi'686dac2
fix 15 vulnerabilities from pre-launch audit6466f08
use RGB for business card PDF colors (CMYK values kept as reference)cdf1753
print-ready business card PDF export (CMYK, 3mm bleed, crop marks)8b8aa91
redesign Productivity Stats with KPI cards, daily chart, priority barsf455deb
add 2px margin between timeline task rowsfe83a9c
redesign Timeline view with day grid, task breakdown, and week chartbbc582c
wire Kanban edit button + add delete confirmation modal7330883
redesign Kanban board with refined cards and columnse3bf498
redesign TasksView with refined UXb12e27f
rewrite PiP hook — stable draw loop, proper user gesture flowf432936
position timer bar to the left of the agent bubble89e87ca
unified toast chip notifications + fix timer bar overlap15af68d
Picture-in-Picture for Pomodoro timer on tab switche0959ad
auto-start timer when selecting break from suggestion banner21b5ddf
use dynamic plan limits in subscription/credits UI1dd7f06
CGU checkbox on landing page publish + configurable plan limits0b734cb
timer Start button contrast + switch checkmark leak209c956
time tracker UI/UX issues8b909c1
improve Brand Identity panel + remove unused theme switcheraf7ff43
AI website scanner for auto-filling prospecting profilec25856e
derive SERVER_BASE_URL from API_BASE_URL when not configured62241ef
auto-retry lazy imports on stale chunk errors after deployd1b36ab
integrate Domain SEO Analysis, LinkedIn Data, SEO Content Analysis APIsc2d5c4e
CSP blocking Stripe.js and inline scripts in production817cad8
upgrade @vitejs/plugin-react to v5 for vite 7 compatibility25e3c48
allow Aukimi iframe in CSP + fix QuickNote sidebar overlap08a6e06
integrate 5 RapidAPI services — ZeroBounce, ExchangeRate, VAT, Hunter.io, Google Trendsf08eae5
upgrade vulnerable dependencies — 0 audit vulnerabilities4f2f07b
comprehensive security hardening across backend and frontendef112af
add TypeScript declarations for context providers, services, and domain typese30ac45
add Aukimi API env vars to .env.example9571902
add Aukimi Partner API v2 integration for agent creative suite access7558e30
add storage usage indicator in dashboard sidebareb056e4
replace violet with green in Home pricing cards for readability9ea8ad9
improve pricing card credits/storage box contrasta792e27
update public site with all 15 modules, free trial, and new pricing54aff0e
remove h-full from TodoPreview so it adapts to content sizecb04789
4 major improvements — onboarding, trial, analytics, query optimization7fc90e2
create dist/index.html fallback during deploy for NGINX try_files3739f33
serve branded HTML error page for browser requests on server errors3345a93
move AB test routes before /:id param route in LandingPageRoutesc3ee0a4
add missing auth middleware to landing page A/B test routes02f160a
add GEO, A/B testing, marketing ROI + branded 404 page363d347
rewrite Marketing module from scratch6b334fe
rename Vibe Marketing → Marketing, rewrite hubbfb43e9
move bookingLimiter declaration before first usage07c188d
harmonize card backgrounds across Lead Generator module98f816a
rewrite ClientFinder to match dashboard design systema6ef6fa
re-enable Lead Generator module with mapd2c5001
landing page improvements - media quota, AVIF compression, SEO, form fix3d527b0
show landing page views & leads stats on dashboard8b0c4f0
serve landing page images publicly without autheb2ac6f
remove padding from nav linkse31d2cd
more padding on CTA button, line-height fix032569b
increase CTA button padding904c580
increase navbar horizontal paddingd4edb0d
use 'Get in touch' for CTA nav button labela45ae6d
use 'Contact' label for CTA nav link, remove text truncationd2bd824
improve landing page navbar - limit links, truncate labels, polish styling333a97a
trigger frontend redeploy with api.app.kiwi URLbc21940
add workflow_dispatch trigger to frontend deploy54f9318
read VITE_API_BASE_URL from secrets instead of vars34cce9c
add api.app.kiwi as backend API domain1c9b36e
Revert "fix: switch landing pages from subdomain URLs to path-based URLs"7733720
switch landing pages from subdomain URLs to path-based URLse2b07b7
prevent Workforce page from scrolling past dashboard header0a25e0f
TDZ error - move menuItems declaration before useEffect that references it2997b04
enhanced invoice PDF (PAID watermark, send modal, batch download)c6e19ca
add missing DB migrations for deactivatedAt, recurring, recurringInterval89e92eb
send invoice button on invoice rows + send modal state72e87e0
add invoice action icons (send, archive, print)b09e382
invoice send via email endpoint + billing service method7c79fdb
onboarding checklist on dashboard overview2abdc51
advanced search filters for CRM prospects5c45d4a
workflow templates modal (5 pre-built automation workflows)f0529f3
quick notes scratchpad + agent pinning enhancements18346be
profile preferences panel (theme, notifications, default view)0084c97
task dependency visualization (blocked by, blocks, chain-link badges)ea3843c
campaign performance dashboard (metrics, health score, A/B test indicators)71ab21d
email templates for Communication Hub (6 built-in + save custom)aaa5163
email templates for Communication Hubd4ebce6
task dependencies in Project Manager5b6074e
campaign performance analytics endpoint6a0208b
agent favorites/pinning + recently used section in Workforce sidebarfe2b3dc
pipeline deal value forecast bar with weighted funnel visualization9dacfcc
weekly summary widget with week-over-week trend comparisonc85746f
CRM activity timeline with date grouping + log activity formcd20d3e
Expensa billing analytics (revenue chart, top clients, outstanding/paid)66ea0d7
landing page template gallery, notification center paneldc8e9fa
SEO sparklines, calendar quick-add, kanban board, pomodoro mode2d2d8bc
lead scoring rings, bulk actions bar, pipeline stage automation09e7722
recurring invoices + bulk lead actions0ce1821
workflow test execution UI, health endpoints, community stats bar, overview alerts6e9fb8c
add .idea/ to gitignore and remove from trackingf4e6dc3
enriched overview KPIs, workflow execution engine, profile danger zone, spotlight contextdbcd100
keyboard shortcuts, enriched stats, campaigns/landing pages agent contextc8c44a3
recent activity feed, projects widget, loyalty/vibe agent integration4e3a19a
timer analytics from backend, billing widget on overview, automation agent context5f9f8a8
sales email sending + campaign audience segmentation6da016c
notification bell, project deadlines, timer analyticse3be298
global Command Palette (Cmd+K) with search + navigation5ffcbe8
billing agent event triggers + overdue/expiring cronb182ce5
pipeline deal values, bulk actions, enhanced Kanban52194f6
enhanced Overview dashboard with agent activity feed + automations widget69d8b47
add booking ENUM migration for landing_page_sections5e31edf
AI landing page generation with brand context (10 credits)ca4b647
company info modal before landing page creation1097722
use company name for landing page subdomains, not page title57e5709
auto-assign subdomains to landing pages + backfill endpoint15f59e9
use subdomain/custom domain URLs in landing page list view33a4e71
add icon picker modal for landing page features + favicon icon mode2bb0a9f
remove CSP header on landing page HTML responses88bc3e8
handle non-array form field options in LandingPageRenderer3dd5a77
remove duplicate DomainService import + deploy LandingPage model with domain columns628b710
switch landing page subdomains to *.app.kiwi + auto-assign from company namea0c3268
add missing DomainService and customDomainResolver files3824782
add kiwi-bdd to customDomainResolver internal hosts20061c2
add kiwi-bdd host to CORS allowlistcc842b5
route landing page leads to CRM + email notification334d902
prevent image editor modal from closing on crop drag releasef2ef49e
add ImageUploadEditor component with crop and image adjustments4571036
add mobile bottom navigation bar to dashboard671cce8
LinkedIn status check reading wrong response key + button styleba3b117
pre-fill campaign editor with company brand data37e763e
change Schedule button to amber warning style65c747e
dark text in email preview, gray icon in calendar error state7bc6063
return OAuth URL directly from /nylas/auth endpoint38fd7a6
remove all remaining Nylas branding from frontend8ed10b9
use TEXT for token columns to avoid MySQL row size limit98e0f66
add temporary endpoint to check users table columns4a67e22
add DB migration for Nylas→email column rename (fixes production 500 on login)e92f964
implement scheduled email send with cron0ef22c6
remove all Nylas branding from frontend UIa9ca5b1
rename frontend nylas* files to generic names8ed4fc6
replace Nylas with direct Google + Microsoft APIs for email/calendarbaf5626
complete Vibe Marketing module — fix bugs, wire UI, add campaigns, PDF export, hashtags, competitors05a968c
migrate Vibe Marketing module from Lucide to Phosphor icons, unify designa3fbd0b
implement Vibe Marketing module — 29 backend endpoints + frontend routeb1cc112
replace remaining blue buttons with green primary variant across 4 files24dd329
change CommunicationHub settings button from blue to green primary variant36550df
migrate remaining raw buttons to Button component, improve sidebar scrollbar + nav hover4745cad
subtle scrollbar + sober sidebar hover — remove flashy green scrollbar, no hover bg on nav linksc69108a
harmonize UI — semi-transparent icon squares + ButtonGroup migration across 44 filesc4d0a0f
sales view — fix button contrast, remove AI-Powered badge, stop forcing icon colorsce1a786
harmonize icon sizing and contrast across Button/IconButton/ButtonGroup90d7c9c
polish Button design system — subtle gradients, shadows, active statese083508
design system — Button, IconButton, ButtonGroup components + migrate 139 filesc69054e
landing page templates visual upgrade — styled preview cards, template variety, decorative renderer polish81d0463
replace all window.confirm/alert with AlertModal component (12 occurrences across 13 files)6f75395
rich landing page templates — 6 starter templates with pre-filled content, colors, and realistic demo datad1fffe5
Landing Page round 11 — hero/testimonials bg styles, stats prefix, FAQ animation, content split layout6307e6c
Landing Page round 10 — hero split layout, pricing toggle, feature links, gallery lightbox, logos subtitle, footer textdbf40b4
Landing Page Round 9 — divider section, custom labels, hero trust line, blockquotes5d6b43d
Landing Page Round 8 — subtitles, features bg style, fonts, preview refresh579ec8d
Landing Page Builder round 7 — gallery section, head code, FAQ subtitlese4961c1
Landing Page Builder round 6 — CTA styles, testimonial layouts, content imagesf7135e4
Landing Page Builder round 5 — mobile nav, sidebar previews, badges, countersa42d493
Landing Page improvements — new sections, video, SEO, UX polish512c182
improve text contrast — labels, titles, placeholders more readable0b4e0fd
improve dashboard contrast — lighter cards, visible borders, subtler scanlines5b7543f
server crash — remove dead route code from Deal.js + fix TemplateVote associationsa051da9
more double-prefix API bugs + useBrandData auth + cron counter274f126
remove double /api/v1/ prefix in API calls + fix public page URLs79e3d3d
Landing Page Builder improvements — DnD, nav, presets, shortcutsb36c562
fix+feat: Landing Page Builder — critical fix + 9 improvements1fbe3d4
improve Landing Page Builder — 10 enhancements756a870
redesign Landing Page Builder — live preview, auto-save, improved renderer5a04a24
add Content Studio, Email Campaigns, and Landing Page Builder89c91a2
redesign Overview dashboard — 6 stat cards, meetings widget, bug fixes1f990a4
6 bugs in Sales Accelerator module6a4129f
handle PageSpeed API 429 quota exceeded with user-friendly error8ecea5d
6 beta test bugs — template vars, debug UI, i18n, naming, tooltips8ae98cb
server crash — missing PublicProfile model in ContactRoutes26e3c45
CORS blocked in production — skip HTTPS redirect on OPTIONS preflight69dd6fd
remove 60+ debug console.logs, fix MicroAfterEffects crash buga2324b0
remove debug logs, add missing /timer/today-stats endpoint3d607f7
implement missing features across 5 modules1b00fc3
second-pass audit — hardcoded paths, wrong token key, SPA navigation5b6d41f
audit and fix 15 issues across all 13 dashboard modules4cec326
wire credit deduction on agent chat/actions + webhook idempotencec980ec8
SEO improvements — robots meta, broken og:images, trailing slash, security headers9fddad6
add dynamic SEO meta tags to all public pages2a4e9d3
add robots.txt, fix og:image, update sitemap for GSC crawl issuesdb12554
remove add-agent button, category chips, fix timestamps304dc54
remove 11 unused database columnsd02ad1d
add missing recurrence columns to todos auto-migration9430fb9
remove Media Library module + transparent blur Task Manager25a21bd
hide floating chat on Aukimi Suite page2df5617
remove debug logs from AukimiSuited6cfe98
add Aukimi env vars to frontend deploy workflowc1d706f
add console.log to Aukimi postMessage flowdf7dbcb
retry postMessage auth to Aukimi iframe4f4559e
show Aukimi iframe even if auth guard fails9a229b9
embed Aukimi as single iframe instead of tool grid7e090e3
embed Aukimi tools in iframe with postMessage auth70787b5
calendar mega-upgrade — 15 features across 6 phases51961ef
add 6 AI capability domains + 522 Workforce integration testsd28c522
clean Communication Hub dead code + fix calendar 1-day offset1ad6f0e
temporarily remove Google OAuth buttons from login/signup2195e33
add Google OAuth sign-in + fix Nylas client ID mismatch152c67c
add 11 email intelligence agent actions (search, draft, reply, label, archive)169c6d8
add 12 new agent actions (prospects, billing, projects, timer)f945a19
analytics timeline 500 (Date object not string) + TodoList leads URL38d0712
add focus mode toggle for Workforce — hides sidebar and panels37505f4
URL detection + Perplexity enrichment in agent chat86c2319
map missing floating chat routes (aukimi, notifications) + add MLService train/status methodsc2aca2f
connect timer to agents, upgrade prompts for agency/marketing/PR/SEO workflows6e6f194
agent autonomy — billing/todo/community events, ML context, floating chat automationcdd6162
knowledge base RAG, analytics dashboard, NL automation, marketplace, team collaboration95075b9
agent memory, workflows, advanced ML, real-time WebSocket, external integrations8d2c717
add Workforce integration tests (90 tests) and TypeScript type declarations01ed525
double /api/v1/ on stream URL, wrong token key, stale event in routing debouncecec63cc
add explicit Chat tab button in agent dashboard navigationc18be80
add agent intelligence layer — activity feed, ML routing, crawler diff, agent-initiated actionsab133e2
implement agent autonomy system — delegation, scheduling, crawlers, ML service1c6f4b8
standardize card styling across dashboard and fix logout on refresh9833c65
align dashboard pages to tactical theme and clean up UI397ee07
remove debug console.logs leaking tokens and credentialsa780995
prevent logout on server errors during session restore342389d
remove Stripe key console.logs and hardcoded localhost URLsca09850
add missing DB tables migration, .htaccess cache headers, and webmanifest91b433a
correct VITE_API_URL → VITE_API_BASE_URL and add time_sessions migration6c1452a
unify UI/UX across all 12 dashboard modulese294755
apply tactical MGS styling to all 14 dashboard modules076989c
add darker, compact MGS-style tactical theme to dashboard70f3102
resolve all case-sensitive import mismatches for Linux CI8228db0
case-sensitive import KanbanView -> Kanbanview6fd1b2d
case-sensitive import SmartFloatingChatWithContextce237a5
trigger frontend deploy with corrected API URLd8892fe
use npm install instead of npm ci for CI compatibility8607b16
regenerate package-lock.json to fix npm ci sync63718ed
update API URL from kiwi-backend to kiwi-bdd7fa1069
simplify backend deploy workflow (checkout + rsync)d3f9cc4
trigger both deploy workflowsf90d2b2
Add READMEd41849c
add full backend + frontend codebaseed6407f