Truncate commit titles exceeding 500 chars to prevent DB insert failures
Handle image files (JPG, PNG, TIFF, etc.) directly via PDFBox instead of Docs
Docs can't convert images to PDF. Added ImageToPdfService that embeds images into a PDF page using PDFBox. Docs is only used for office document formats (DOC, D...
Use imgRepository.findByDat() instead of lazy imgDat.getImages()
Quartz jobs run outside JPA sessions, so lazy collection access on ImgDat.images throws LazyInitializationException. Use explicit repository query instead.
Pass SYSTEM_WIDE as parameter instead of FQCN in JPQL query
Hibernate may not resolve fully-qualified enum names in JPQL across all versions. Pass ImageAssocType.SYSTEM_WIDE as a named parameter instead.
Update imgId type to string|number for CockroachDB ID safety, add error logging
Serialize imgId as String to prevent JavaScript precision loss
CockroachDB unique_rowid() IDs exceed Number.MAX_SAFE_INTEGER. Changed imgId from Long to String in UploadDocumentResponse and DocumentMetadata DTOs so Jackson ...
Download converted PDF from MinIO instead of original file
The converted-pdf endpoint was calling imageService.downloadDocument() which returns the original file. Now downloads directly from MinIO using the convertedDat...
Set proxyClientMaxBodySize to 500mb for large file uploads in Next.js 16.2
Properly forward multipart FormData and set route handler body size limit
- Revert to parsing FormData and rebuilding for forwarding (fixes MalformedStreamException from raw arrayBuffer forwarding) - Add routeHandlerBodySizeLimit: 5...
Stream upload body directly to avoid Next.js 10MB body size limit
- Read request as arrayBuffer and forward raw bytes with content-type header instead of parsing FormData (which triggers Next.js body limit) - Add serverActio...
Rename e-signature tabs and reorder to Available Templates, Drafts, Archived
Call SecurityService directly via RKE2 DNS, fix hash computation, add staged upload progress
- All template API routes now call SecurityService directly via internal K8s DNS instead of proxying through APIService - Use computeBlake3/computeSha3256 fro...
Attach widget event listeners when password step renders, not on initial mount
Listen for both statechange and verified events, remove payload requirement from login gate
Use identical explicit pixel spacing on both username and password option rows
Context-aware *** error messages, tighten spacing between fields and options
Swap spacing on username/password views, label to 'I am Human', update error message
Use widget's CSSVariables type instead of React.CSSProperties for style prop
Remove duplicate Capcha-widget JSX type declarations (widget ships its own)
Vendor kamo-capcha-widget locally instead of git URL (Docker can't resolve k0m1)
Block login until *** verified, remove all Capcha branding via shadow DOM, use onfocus auto mode
Remove Capcha branding and upgrade to PBKDF2/SHA-256 with deterministic effort
Add explicit AS keyword for PostgreSQL column alias in session and event queries
The session and event expanded metrics queries use implicit column aliasing (`${column} name`) which causes a PostgreSQL syntax error when the column name (like...
Read OTK from Redis master after SecurityService login
Avoids missing *** when REDIS_REPLICA_HOST points at a lagging replica.
Make hexagon icon borders thicker and visible
Replace invisible CSS border (clipped by clip-path) with a ::before pseudo-element border that extends 3px outside the hexagon shape.
Add debug logging and robust rights parsing for webinar controller
Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.