This website requires JavaScript.
492ca1b01b
docs: implementation plan for event guests feature
Maciej Pienczyn
2026-03-31 13:28:19 +0200
3a266f504e
fix(ux): fix user dropdown menu positioning on desktop
Maciej Pienczyn
2026-03-31 13:13:13 +0200
0b13d80164
feat(ux): add 'Moja firma' link to user dropdown menu
Maciej Pienczyn
2026-03-31 13:09:27 +0200
3171ea001a
feat(reports): add membership structure breakdown to fees report
Maciej Pienczyn
2026-03-31 11:48:57 +0200
0936e11fe8
feat(membership): fix Pelmar parent (TTM not P&P), add missing companies and subsidiaries
Maciej Pienczyn
2026-03-31 11:41:18 +0200
4b930ba1b2
feat(membership): add membership_status, resignation_date, fee_included_in_parent
Maciej Pienczyn
2026-03-31 11:11:56 +0200
4157138c2a
docs: spec for event guest registration feature
Maciej Pienczyn
2026-03-31 10:31:18 +0200
66582626a8
fix(gbp): use company word count as denominator in name matching
Maciej Pienczyn
2026-03-31 09:14:09 +0200
015423cfbe
fix(gbp): use website_url instead of url for CompanyWebsiteAnalysis
Maciej Pienczyn
2026-03-31 08:59:07 +0200
1c05becccc
fix(migration): 090 use last_updated instead of updated_at for companies table
Maciej Pienczyn
2026-03-31 08:55:47 +0200
4b69edd57a
fix(gbp): render source tags as HTML in audit modal + add migration 090
Maciej Pienczyn
2026-03-31 08:55:17 +0200
9e6af89ae4
fix(messages): allow data: protocol in bleach for base64 images + img width/height/style attrs
Maciej Pienczyn
2026-03-30 16:18:11 +0200
f793522ab4
fix(messages): override Quill clipboard.onPaste for single image insert + resize CSS
Maciej Pienczyn
2026-03-30 16:06:50 +0200
2145a73bf3
fix(messages): single image paste + drag-to-resize handles
Maciej Pienczyn
2026-03-30 16:01:41 +0200
7c8fd90a21
fix(messages): send images via Enter — case-insensitive img check, setContents([]) to clear
Maciej Pienczyn
2026-03-30 15:58:00 +0200
51c80c78a4
feat(messages): paste images into chat + responsive image display
Maciej Pienczyn
2026-03-30 15:52:29 +0200
18e4990db5
fix(membership): unified colors — tracker and history use same blue/yellow/green/red
Maciej Pienczyn
2026-03-30 15:32:47 +0200
3d14d3860e
fix(membership): set reviewed_at in start_review + backfill for app 11
Maciej Pienczyn
2026-03-30 15:28:24 +0200
7c3daaa4f2
feat(membership): dates on tracker steps + fallback history from DB dates
Maciej Pienczyn
2026-03-30 15:15:52 +0200
8441dc47db
feat(membership): visual tracker + event history — parcel tracking style
Maciej Pienczyn
2026-03-30 15:08:26 +0200
73abb76c9e
refactor(email): remove dead Graph API/Azure/MSAL code — SMTP only
Maciej Pienczyn
2026-03-30 15:03:52 +0200
8c62571099
fix(messages): update DOM with server content after send — fixes visual glitch on optimistic messages
Maciej Pienczyn
2026-03-30 14:36:18 +0200
a52c52863e
fix(messages): tempId-based dedup (not content) + clickable profile in chat header
Maciej Pienczyn
2026-03-30 14:24:44 +0200
3931b1466c
feat(membership): record workflow history for all status changes
Maciej Pienczyn
2026-03-30 13:39:55 +0200
cd26c11ec8
fix(membership): remove signature lines from PDF — not needed for council distribution
Maciej Pienczyn
2026-03-30 13:27:48 +0200
6b586911a1
refactor(email): SMTP is now primary for ALL domains, Graph API is legacy fallback only
Maciej Pienczyn
2026-03-30 13:22:05 +0200
44031dd031
fix(email): init email service with SMTP-only when Azure credentials missing
Maciej Pienczyn
2026-03-30 13:16:53 +0200
63f87ee951
fix(email): remove undefined sender_name references in SMTP fallback
Maciej Pienczyn
2026-03-30 12:40:27 +0200
933e062196
feat(email): SMTP fallback via OVH Zimbra + direct SMTP for @nordabiznes.pl
Maciej Pienczyn
2026-03-30 12:37:27 +0200
cb1409bf09
fix(membership): legal form from business_type_label + blue print button
Maciej Pienczyn
2026-03-30 12:26:26 +0200
8538fdac1a
feat(membership): redesigned PDF — cleaner layout, no IP, workflow history
Maciej Pienczyn
2026-03-30 12:24:09 +0200
0f22093f00
fix(membership): correct field names + Polish chars in PDF template
Maciej Pienczyn
2026-03-30 12:17:51 +0200
86090a7d33
feat(membership): PDF generation for declarations via WeasyPrint
Maciej Pienczyn
2026-03-30 12:13:21 +0200
9079610ea4
fix(membership): nuclear print CSS + hide browser headers via empty title
Maciej Pienczyn
2026-03-30 12:07:59 +0200
5fd5342a88
fix(membership): compact print layout, hide detail header, reduce spacing
Maciej Pienczyn
2026-03-30 12:03:34 +0200
a6d6186cc2
fix(membership): comprehensive print CSS — hide staging banner, registry panel, PWA prompt, nav
Maciej Pienczyn
2026-03-30 11:54:14 +0200
d889444fab
feat(membership): print button + print-optimized CSS for declarations
Maciej Pienczyn
2026-03-30 11:45:22 +0200
77f5277372
fix(messages): remove tempId reference in _doSend, use content matching, no alert
Maciej Pienczyn
2026-03-28 17:48:00 +0100
406752fca2
fix(messages): restore polling for own messages + content-based dedup for optimistic
Maciej Pienczyn
2026-03-28 17:43:31 +0100
8ac13f47b2
fix(messages): queue-based sending + simple dedup
Maciej Pienczyn
2026-03-28 17:40:30 +0100
d8db218df2
fix(messages): time-based dedup for optimistic messages (10s window)
Maciej Pienczyn
2026-03-28 17:35:19 +0100
b944042a85
fix(messages): override Enter in Quill keyboard config at init time
Maciej Pienczyn
2026-03-28 17:31:43 +0100
29e98d0b03
fix(messages): use Quill keyboard bindings instead of DOM — text always ready
Maciej Pienczyn
2026-03-28 17:29:28 +0100
2afffc92af
fix(messages): 15ms delay for Quill to process keystroke before capture
Maciej Pienczyn
2026-03-28 17:26:58 +0100
762bad0db1
fix(messages): capture content in keydown, clear editor instantly, send async
Maciej Pienczyn
2026-03-28 17:24:36 +0100
bd591a2aed
fix(messages): 10ms delay for Quill keystroke processing + remove 500ms debounce
Maciej Pienczyn
2026-03-28 17:20:43 +0100
1105099177
fix(messages): dedup optimistic vs server messages by content matching
Maciej Pienczyn
2026-03-28 17:17:25 +0100
b2f24f02bc
feat(messages): optimistic UI — message appears instantly on Enter
Maciej Pienczyn
2026-03-28 17:14:07 +0100
643a9cd94a
fix(messages): bulletproof dedup in appendMessage — check msg.id before adding
Maciej Pienczyn
2026-03-28 16:46:45 +0100
720d7a2d7d
fix(messages): root cause of double messages — polling re-adds sent message
Maciej Pienczyn
2026-03-28 16:35:19 +0100
9151e4efa0
debug: add deep logging to message send flow (frontend + backend)
Maciej Pienczyn
2026-03-28 16:29:15 +0100
86d9262c3e
fix(messages): restore DOM keydown with capture:true — Quill binding didn't work
Maciej Pienczyn
2026-03-28 16:24:13 +0100
bc92605769
fix(messages): remove duplicate Enter handler — keep only Quill keyboard binding
Maciej Pienczyn
2026-03-28 16:11:57 +0100
5adc6db031
fix(messages): prevent double message sending on Enter key
Maciej Pienczyn
2026-03-28 15:50:14 +0100
b05429bfe3
feat(chat): update NordaGPT info modal — new features, smart matching, speed tiers
Maciej Pienczyn
2026-03-28 15:45:28 +0100
036c959102
fix(chat): show follow-up chips on ALL assistant messages, not just streaming
Maciej Pienczyn
2026-03-28 15:34:28 +0100
b308a80332
fix(nordagpt): smarter follow-up chips + contact data only for recommended firms
Maciej Pienczyn
2026-03-28 15:30:40 +0100
d5af8a4fdd
fix(nordagpt): strict anti-hallucination for phone numbers and URLs — use ONLY data from context
Maciej Pienczyn
2026-03-28 15:03:30 +0100
7fe5eb929b
feat(chat): user-friendly badge — hide model/cost for non-admins, show only quality + time
Maciej Pienczyn
2026-03-28 15:01:39 +0100
4b10d38022
fix(nordagpt): handle None values in company data lists — prevents join() crash
Maciej Pienczyn
2026-03-28 14:37:22 +0100
8ee998b42f
fix(nordagpt): empty matcher fallback, no-results prompt, hide costs for users, streaming timeout
Maciej Pienczyn
2026-03-28 13:08:44 +0100
50d31c1b84
feat(chat): better markdown rendering, smart titles, follow-up chips, prompt fixes
Maciej Pienczyn
2026-03-28 12:21:03 +0100
1c7636e5c6
feat(chat): redesign response badge — colored chips for model, thinking, time, cost
Maciej Pienczyn
2026-03-28 10:43:41 +0100
f11df918e4
fix: escape JSON braces in smart router AI prompt template
Maciej Pienczyn
2026-03-28 07:26:05 +0100
929e0b919f
feat(nordagpt): integrate company_matcher — AI sees only matched companies, eliminates hallucinations
Maciej Pienczyn
2026-03-28 07:18:08 +0100
da7fc02070
feat(nordagpt): add company_matcher.py — multi-layer company search eliminates hallucinations
Maciej Pienczyn
2026-03-28 07:15:23 +0100
365de18301
fix(nordagpt): add 'lub/czy' to hallucination prefix patterns
Maciej Pienczyn
2026-03-28 07:02:04 +0100
513d32ffb2
fix(nordagpt): catch bullet-point company hallucinations (* ProBud to...)
Maciej Pienczyn
2026-03-28 06:58:53 +0100
a1a64730e3
fix(nordagpt): catch plain-text company hallucinations (firma X, również X)
Maciej Pienczyn
2026-03-28 06:55:23 +0100
87d4fde5c3
fix(nordagpt): catch full URL hallucinations + remove manual model selector
Maciej Pienczyn
2026-03-28 06:51:08 +0100
337f229a05
fix(nordagpt): use /company/ URLs instead of /firma/ — fixes all 404 links
Maciej Pienczyn
2026-03-28 06:45:34 +0100
855856dc99
fix(nordagpt): nuclear anti-hallucination — whitelist + bold text validation
Maciej Pienczyn
2026-03-28 06:37:38 +0100
464e456939
fix(nordagpt): smarter company validator — fix slugs instead of removing real companies
Maciej Pienczyn
2026-03-28 06:30:20 +0100
c167794bb6
fix(nordagpt): structural anti-hallucination — validate ALL company links against DB
Maciej Pienczyn
2026-03-28 06:25:20 +0100
d7a8cbe459
fix(nordagpt): avatar rendering + strategic queries get complex/high thinking
Maciej Pienczyn
2026-03-28 06:20:12 +0100
0a7fe6389f
feat(nordagpt): avatars in chat + anti-hallucination rule for companies
Maciej Pienczyn
2026-03-28 06:12:49 +0100
cc78711e17
fix(nordagpt): smart router complexity for long queries + show routing info in badge
Maciej Pienczyn
2026-03-28 06:08:43 +0100
86c7e83886
fix: handle lazy loading error for company.category in chat routes
Maciej Pienczyn
2026-03-28 05:54:49 +0100
8d64639e27
fix: use JSONBType instead of JSON in AIConversationSummary model
Maciej Pienczyn
2026-03-28 05:50:46 +0100
1877c1856a
fix: add Float import to database.py for AIUserMemory model
Maciej Pienczyn
2026-03-28 05:49:39 +0100
59f8db8213
feat(nordagpt): add memory service — fact extraction, summaries, CRUD, prompt injection
Maciej Pienczyn
2026-03-28 05:47:44 +0100
f953648c7d
feat(nordagpt): add memory tables and ORM models
Maciej Pienczyn
2026-03-28 05:44:30 +0100
0640ffbb9d
feat(nordagpt): streaming SSE responses — word-by-word output with thinking animation
Maciej Pienczyn
2026-03-28 05:42:38 +0100
0b2e210da6
feat(nordagpt): integrate smart router — selective context loading + adaptive model selection
Maciej Pienczyn
2026-03-28 05:37:00 +0100
5b8f82d35b
feat(nordagpt): add context_builder.py — selective data loading for smart router
Maciej Pienczyn
2026-03-28 05:31:44 +0100
9006ce0c1c
feat(nordagpt): add smart_router.py — fast keyword routing + AI fallback
Maciej Pienczyn
2026-03-28 05:31:41 +0100
4ee4165f85
feat(nordagpt): inject user identity into AI system prompt — personalized greetings and context
Maciej Pienczyn
2026-03-28 05:23:06 +0100
cd1de6fe4b
docs: NordaGPT identity, memory & performance implementation plan
Maciej Pienczyn
2026-03-28 05:12:08 +0100
92780fe4b6
docs: NordaGPT identity, memory & performance design spec
Maciej Pienczyn
2026-03-28 05:00:34 +0100
13284ea005
fix(mobile): move 'Zobacz wszystko' link below content on mobile
Maciej Pienczyn
2026-03-28 04:06:10 +0100
31865f1328
fix(mobile): move whats-new CSS to index.html extra_css block (inline styles)
Maciej Pienczyn
2026-03-28 03:57:59 +0100
07baf43c56
fix(mobile): compact what's-new widget — hide descriptions, limit to 2 items on mobile
Maciej Pienczyn
2026-03-28 03:52:53 +0100
2b82ad52d9
feat(seo): dynamic sitemap with all companies, events, forum topics, B2B — ~150+ URLs instead of 5
Maciej Pienczyn
2026-03-27 17:55:46 +0100
a199f50d74
feat(company): add manual logo upload field in company edit panel
Maciej Pienczyn
2026-03-27 17:31:22 +0100
702ee90de8
fix(messages): readable link colors — light blue on dark bubbles, navy on light bubbles
Maciej Pienczyn
2026-03-27 17:22:07 +0100
89d105b768
fix(scripts): use datetime.now() instead of utcnow() to match server timezone
Maciej Pienczyn
2026-03-27 17:20:48 +0100
2613b3fa05
feat(scripts): add send_portal_message.py — send messages via application layer with email notification
Maciej Pienczyn
2026-03-27 17:16:24 +0100
6eff4aad83
feat(messages): sort group read status — read (earliest first), unread (alphabetical)
Maciej Pienczyn
2026-03-27 16:57:04 +0100
1a3db7cf14
fix(messages): always re-render messages after details load — fixes group read status not showing
Maciej Pienczyn
2026-03-27 16:54:42 +0100
d5d67d8c1d
feat(messages): per-member read status in group conversations — each member's name + read time or 'nieprzeczytane'
Maciej Pienczyn
2026-03-27 16:51:02 +0100