3259ae3c05
feat(messages): add unpin button ( 📌 ) in pinned messages modal
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 15:12:42 +01:00
2dc1ad9ae7
fix(messages): pins modal reads content_preview not content, show sender name
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 15:10:25 +01:00
bc4791f9b7
fix(messages): pins API returns array not object, remove alert() for empty pins
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 15:07:47 +01:00
577d3df206
fix(messages): polling fallback was using OLDEST message instead of NEWEST - caused '6 sty' date bug
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Root cause: data.messages is sorted newest-first (DESC), but code took last element (oldest). Now properly filters for new messages only and updates with the newest.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 15:02:17 +01:00
131e6f0118
fix(messages): correct avatar path (/static/ not /static/uploads/), use last_active_at for presence, add last_active_at to members API
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:44:31 +01:00
f6b9b9154f
feat(messages): show profile photos as avatars, add online status dot and green label
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:37:11 +01:00
cdc8c36191
fix(messages): Enter sends message via DOM keydown, styled kbd hint below input
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:25:42 +01:00
f4bc150c0a
fix(messages): disable SSE (requires async workers), add polling fallback every 5s
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:09:13 +01:00
755520ee62
feat(messages): add conversation view JavaScript
...
Vanilla JS IIFE implementing the full messaging UI frontend:
- ConversationList: render, select, search, update conversations
- ChatView: load/render messages with date separators, scroll-up pagination
- MessageActions: context menu with reply/react/forward/pin/edit/delete
- Reactions: emoji picker, toggle reaction pills
- Composer: Quill editor, Enter to send, file attachments, typing indicator
- SSEClient: EventSource with auto-reconnect (exponential backoff), heartbeat
- Presence: batch fetch, 60s polling, online dot in header
- NewMessageModal: recipient search, pill badges, create conversation
- Pins: pinned bar, overlay list, scroll to pinned message
- Time formatting: Polish locale (teraz, 5 min, wczoraj, date)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:23:55 +01:00
b3982a3309
fix(company-edit): host Quill editor locally instead of CDN
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
CDN (cdn.jsdelivr.net) was being blocked, causing all WYSIWYG editors
to fail silently — description, history, values, and services fields
were not editable. Now served from static/js/vendor/ like D3 and Chart.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:12:39 +01:00
41ad6a1b18
fix: use local Chart.js instead of jsdelivr CDN (503 from production)
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
jsdelivr.net returns 503 from production network (behind FortiGate).
Downloaded Chart.js 4.4.7 UMD bundle locally to eliminate CDN dependency.
Updated all 4 templates that used the CDN link.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:37:10 +01:00
c4c113aa6f
fix(zopk): Add Brave API rate limit handling and heartbeat limit fix
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Brave free tier was returning 429 for ~50% of queries due to back-to-back
requests. Added 1.1s delay between queries and retry with exponential
backoff (1.5s, 3s). Heartbeat endpoint exempted from Flask-Limiter and
interval increased from 30s to 60s to reduce log noise.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 14:43:34 +01:00
0055857df4
feat: Rozbudowa systemu analityki użytkowników
...
Nowe funkcjonalności:
- GeoIP enrichment (kraj, miasto, region)
- UTM parameters tracking (source, medium, campaign, term, content)
- Bounce rate calculation
- Search queries logging
- Conversion tracking (register, login, contact_click, rsvp)
- Scroll depth tracking (25%, 50%, 75%, 100%)
- JS error tracking (window.onerror)
- Performance metrics (Web Vitals)
- CSV export (sessions, pageviews, searches, conversions)
Nowe tabele SQL:
- search_queries
- conversion_events
- js_errors
- popular_searches_daily
- hourly_activity
Dashboard rozszerzony o nowe sekcje i metryki.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:52:18 +01:00
6e1c46e13c
feat: Animacje scroll z IntersectionObserver (Sprint 4)
...
Dodano system animacji fadeIn przy scrollowaniu:
- CSS keyframes: fadeIn, fadeInLeft, fadeInRight, fadeInUp, scaleIn
- IntersectionObserver w static/js/scroll-animations.js
- Event banner: data-animate="fadeIn"
- Chat banner: data-animate="fadeIn"
- Company cards: data-animate="fadeInUp" z delay stagger
- Search section: data-animate="fadeIn"
- Wsparcie dla prefers-reduced-motion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:43:30 +01:00
a148d464af
feat: Add user analytics panel (/admin/analytics)
...
- Track user sessions, page views, clicks
- Measure engagement score and session duration
- Device breakdown (desktop/mobile/tablet)
- User rankings by activity
- Popular pages statistics
- Recent sessions feed
- SQL migration for analytics tables
- JavaScript tracker for frontend events
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 19:40:37 +01:00
99b44d6ccd
feat: Mapa Powiązań - modal fullscreen z filtrami i licznikami
...
- Fullscreen modal z panelem filtrów (zamiast osobnej strony)
- Filtry węzłów: Firmy, Osoby (checkboxy)
- Filtry powiązań: Zarząd, Wspólnicy, Prokurenci, JDG (checkboxy)
- Liczniki przy każdym filtrze (aktualizowane na bieżąco)
- Wyszukiwarka z autocomplete
- Etykiety ukryte domyślnie, widoczne przy hover
- D3.js v7 do wizualizacji grafu
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 14:09:08 +01:00