Release v1.1.3
🚀 What's New
Silent OAuth Auto-Login
- Automatic silent authentication when OAuth session exists
- Reduces login prompts for better user experience
- New environment variable
ACKIFY_OAUTH_AUTO_LOGIN(default: false) - New endpoint
/api/auth/checkfor session verification - 5-minute cooldown between silent login attempts
SMTP Email Service
- Complete email notification system with SMTP support
- Support for Gmail, Office365, and custom SMTP servers
- HTML and plain text email templates with internationalization (French/English)
- Gracefully disabled if not configured (no errors)
- New environment variables:
ACKIFY_MAIL_HOST,ACKIFY_MAIL_PORT,ACKIFY_MAIL_USERNAME,ACKIFY_MAIL_PASSWORD,ACKIFY_MAIL_FROM,ACKIFY_MAIL_FROM_NAME
Expected Signers Management
- Track who should read each document with dedicated admin interface
- Real-time signature statistics showing signed vs pending readers
- Support for display names using format "Name email@example.com"
- Flexible email input: newlines, commas, or semicolons
- Detect unexpected signatures (users who signed but weren't expected)
- Bulk or individual management
Email Reminder System
- Send bulk or selective email reminders to pending readers
- Automatic language selection (French/English) based on user's interface language
- Reminder history tracking with complete audit trail
- Document URL automatically fetched from metadata
- Personalized emails with recipient names when available
- REST endpoints:
POST /admin/docs/{docID}/reminders/send,GET /admin/docs/{docID}/reminders/history
Admin Dashboard Enhancements
- New dedicated document details page at
/admin/docs/{docID} - Complete expected signers management interface
- Document signature link with one-click copy functionality
- Improved navigation menu for authenticated users
- Shows all documents including those with only metadata
- Cleaner interface with removed redundant status indicators
Document Metadata Management
- Store comprehensive document information: title, URL/path, checksum, description
- Support for SHA-256, SHA-512, and MD5 checksum algorithms
- One-click copy for checksums and clickable document URLs
- Automatic timestamp tracking with PostgreSQL triggers
- Document URL automatically included in email reminders
- REST API:
GET /admin/docs/{docID}/metadata,POST /admin/docs/{docID}/metadata,DELETE /admin/docs/{docID}/metadata
Modern UI/UX Improvements
- Replaced native JavaScript
alert()andconfirm()with styled modal dialogs - Consistent design with warning (orange) and delete (red) visual indicators
- Modern SVG favicon with brand identity
- Responsive grid layouts for admin dashboard cards
🔧 Database Changes
- Migration 0002:
expected_signerstable for tracking who should read documents - Migration 0003:
reminder_logstable for email reminder audit trail - Migration 0004: Added
namefield toexpected_signersfor display names - Migration 0005:
documentstable for metadata management
🐛 Bug Fixes
- Fixed template syntax error with
notoperator requiring parentheses - Fixed hardcoded French language in email reminders
🔧 Technical Changes
- New domain models:
ExpectedSigner,ReminderLog,Document,DocumentInput - New repositories:
ExpectedSignerRepository,ReminderRepository,DocumentRepository - New service:
ReminderServicefor email reminder logic - New email infrastructure:
Sender,Renderer, template helpers - New handlers:
ExpectedSignersHandlers,DocumentHandlers - Updated
AdminRepository.ListDocumentsWithCounts()to include documents table - Updated
ReminderService.SendReminders()with locale parameter - Comprehensive integration tests for all new repositories
- New admin routes for expected signers, reminders, and metadata
- Email templates with i18n support (FR/EN) in both HTML and plain text