Upload a new version of a document
The one way to change a file the document editor cannot open - a PDF above all, which is what most templates are. POST **************** takes the new file, scan...
Run two pods
replicas 1 -> 2. This service runs no @Scheduled work and binds no exclusive NATS durable, so a second pod duplicates nothing β it is stateless request serving,...
Resize an image by height, keeping its format and transparency
Backs the email signature footer badges, which are downscaled to 150px tall on upload. resize-bg could not be reused. It exists to make a wallpaper cheap to sh...
Transcode uploaded sound effects to Opus
Extends the ffmpeg wrapper the VoIP recording pipeline already had β this image installs ffmpeg with libopus for it, so putting a second ffmpeg in another image...
Point at YugabyteDB and use PostgreSQLDialect
CockroachDB has been replaced by YugabyteDB. Connection strings move from cockroachdb-public:26257 to yb-tserver-service:5433, and the Hibernate dialect from **...
Scan uploads for malware at ingest (Β§164.308(a)(5)(ii)(B))
The document vault accepted arbitrary uploads with no malware scanning anywhere on the platform, and it is multi-tenant β a file one org uploads is opened by an...
Full-res per-page PDF render for document extraction
Adds DocPageRenderService + POST /api/conversion/render-page (page N β PNG at 150 DPI, capped 300) and /page-count. This is the read-quality companion to the 30...
Shared TranscriptionService + generic endpoint; transcribe VOIP recordings
- Extract a reusable TranscriptionService (ffmpeg normalize -> whisper-asr) and a generic POST /api/conversion/transcribe endpoint, replacing the meet-specifi...
Recording transcription endpoint for post-meeting summaries
POST /api/conversion/meet/transcribe (X-Internal-Auth): normalizes an uploaded meeting recording to 16kHz mono WAV via a new additive FfmpegService helper, forw...
Video poster-frame thumbnails for marketing materials
Canva MP4 exports (and any video upload) skip the Docs PDF path and get a single ffmpeg poster-frame thumbnail (_thumb_p0.png) instead of failing. - **********...
Preserve aspect ratio, never stretch non-square logos
Favicon PNG/ICO frames were produced with keepAspectRatio(false), stretching any non-square logo into a distorted square. Center-fit the logo on a transparent s...
Parse CDR caller-ID fields from upload manifest
When kamo-asterisk-support includes a cdr{} section in the upload manifest (populated when ASTERISK_CDR_DSN is configured), ConversionService extracts callerIdN...
Persist providerInstanceId + providerExternalId on Recording at ingest
Threads asterisk-support's X-Phone-Server-Id and X-Asterisk-Unique-Id (already in UnprocessedRecording) onto the new RecordingMetadata fields so call/voicemail ...
Pass Recording metadata to imaging β ffprobe length + manifest parsing
- **************** runs ffprobe -show_entries format=duration on the master Opus/WebM, returns ms. 0 = unknown (not fatal). - **************** now: * runs p...
Recording ingest + FFmpeg processing pipeline
- New **************** endpoint stages multipart uploads forwarded by APIService into MinIO bucket **************** and creates an UnprocessedRecording stag...
Add check-hashes and register-existing endpoints for upload dedup
- POST /check-hashes: client sends hashes before upload, server returns whether file exists - POST /register-existing: creates Img record pointing to existing I...
Add async conversion + thumbnail generation for regular document uploads
Previously only template uploads triggered the conversion/thumbnail pipeline. Now regular uploads also convert to PDF and generate per-page thumbnails asynchron...
Add imaging upload endpoints β move all upload logic from SecurityService
- Add JPA, Redis, NATS, kamo-shared-library, JJWT, commons-io, jackson-hibernate6 to pom.xml - Add datasource, Redis master/replica, NATS, MinIO config to appli...
Add ThumbnailService and POST **************** endpoint
Accepts a PDF file, renders each page at 150 DPI via PDFBox, packs per-page PNGs into a ZIP (thumb_p0.png, thumb_p1.png, β¦) and returns it. Centralises all thum...
Proper image-to-PDF conversion with sizing, centering, and multi-page TIFF
- Images scaled to fill page (max width or height) maintaining aspect ratio - Images centered on the page - Multi-page TIFF: one PDF page per TIFF page - Letter...
Create ConversionService for document-to-PDF conversion
New Spring Boot microservice that converts documents to PDF using Docs and removes PDF security restrictions using Apache PDFBox. Includes K8s manifests and For...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.