Simplify apps page with Available/Incubating tabs and list-only view
Remove stats banner, search bar, category filters, grid/list toggle, and features dialog. Apps are now organized into two tabs and "Adjust Features" navigates t...
Add Emojis, Character Map, and Text Converter tools to calculator menu
- Emojis: browse all emoji categories with search, select to view code points, copy as emoji/HTML/CSS - Character Map: browse Unicode blocks (Latin, Greek, Cyri...
Restyle graphing calculator to light theme and add mode-specific titles and icons
- GraphingMode now uses the same light calcColors scheme as other calculator modes - Graph line colors updated to work on light background - Calculator tool win...
Adăugați dropdowns la e-mail navtop și icoane calculator, arată insigna de e-mail necitite
- Pictograma de mail arată acum insigna necitită roşie şi scaderea cu "Create New Email" / "View My Emails" - Pictograma de calcul are acum scadere cu toate cel...
Route media feed WebSocket through media.* subdomain with retry limit
useMediaFeedWebSocket was connecting to same-origin /ws (404) instead of media.kamocrm.com. Fix URL construction to match useChatWebSocket pattern and add MAX_R...
Correct KB article field names to match backend entity
Frontend was using wrong field names (dateModified, content, authorName) instead of the actual backend fields (dateUpdated, contentJson, authorMemberId). Also r...
COALESCE type mismatch on security_level — column is varchar not int
The SQL query for user details during session creation was failing with 'incompatible COALESCE expressions: expected 0 to be of type varchar' because **********...
Remove debug logging, add email WS retry limit, proxy email WS through k8s DNS
Remove verbose console.log statements from useUserInfo, NavTop, NavPri, MemberListProvider, SessionManager, sessionMonitor, avatarUtils, and useChatWebSocket th...
Grant all rights when rights list is empty (rights system not yet enforced)
Correct hasRight to match flat rights array format and honor god mode
Session rights are stored as ["VIEW_DASHBOARD", ...] not [{name, setting}]. Also bypass right checks when GD (god mode) is true.
Rebuild with updated shared-lib containing KNOWLEDGE_BASE ServiceType
The ServiceTypeConverter fails on feature_type=18 with the old shared-lib.
Rename qdrant config properties to avoid K8s env var collision
Kubernetes auto-creates QDRANT_PORT env var from the qdrant Service, which overrides the Spring property with 'tcp://ip:port' instead of an integer. Renamed to ...
Make NATS consumer startup resilient with retry logic
Consumer now retries subscription in a background thread with backoff if KB_EVENTS stream doesn't exist yet. Prevents crash loop when KBService hasn't published...
Accept parentGuid from frontend in article creation
Frontend sends parentGuid (string) not parentId (numeric). Resolve GUID to ID server-side via lookup.
Adăugați @JsonIgnore la colecții leneș KB entitate și back-references
Previne LazyInitializarea Excepție și serializarea circulară atunci când să returneze entitățile KB prin intermediul criteriilor finale REST.
Add KNOWLEDGE_BASE to AppType and Organization.isKnowledgeBase getter
Without these, the KB sidebar entry and home card were hidden since organization.isKnowledgeBase was undefined.
Add Knowledge Base frontend - pages, components, API routes, Plate editor
- 13 Next.js API proxy routes under /api/kb/ - KB home page with article tree, search, pinned articles - Article viewer, editor (Plate rich text), new article, ...
Add gateway routes for KB and RAG services
- /api/kb/** routes to kamowskb-service - /api/rag/** routes to kamowsrag-service - Updated application.yml and k8s configmap with service URLs
Add RAG context injection for Knowledge Base in AI chat
- New RagClient service for calling RAGService semantic search - ChatOrchestrationService injects KB context before AI responds - Configurable via AiOrgSettings...
Add Qdrant vector DB and MiniLM embedding model K8s manifests
- Qdrant v1.12.1 deployment + ClusterIP service (ports 6333/6334) - HuggingFace TEI with all-MiniLM-L6-v2 deployment + service (port 8080) - Updated deploy-serv...
Adaugă cunoștințe Entitățile de bază, entitățile, registrele centrale și drepturile
- 4 noi enums: KbArticleStatus, KbReviewStatus, KbMediaType, KbEmbeddingStatus - ServiceType.KNOWLEDGE BASE (18) și 6 KB RoleRightType (21-26) - 6 entităţi JPA:...
Scaffold RAGService - NATS consumer, embedding pipeline, Qdrant vector store, semantic search API
Scaffold KBService - Knowledge Base article CRUD, versioning, review workflow, media upload, NATS events
Wire up sidebar session history, folders, search, and remove duplicate header icon
- Fix wrapped API response parsing for sessions and folders - Fix folder create to use parentFolderId field name - Fix session/folder updates to use PUT (backen...
Rich markdown rendering for AI chat responses
- Styled headings (h1-h4) with bottom borders and proper sizing - Bullet lists (ul) and numbered lists (ol) with proper indentation and spacing - Bold text with...
Use non-streaming chat completion for REST endpoint
Streaming over REST with blockLast() was producing empty responses because WebClient's SSE parsing doesn't work reliably with bodyToFlux(String.class). Added ha...
Add detailed error logging to HuggingFaceAdapter for debugging 400 errors
Captures and logs the actual HF error response body instead of just status code.
Switch HuggingFace to router.huggingface.co (api-inference is deprecated)
HF returns 410 on api-inference.huggingface.co with message to use router.huggingface.co instead.
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.