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/check
for 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_signers
table for tracking who should read documents - Migration 0003:
reminder_logs
table for email reminder audit trail - Migration 0004: Added
name
field toexpected_signers
for display names - Migration 0005:
documents
table for metadata management
🐛 Bug Fixes
- Fixed template syntax error with
not
operator 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:
ReminderService
for 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