2026-02-18
Atomcal Changelog: 2026-01-18
Audit Logging
Log Event Activities
All event actions are now logged.
The system logs:
- Event created
- Event updated
- Event deleted
Tracked Updates:
- Title
- Start time
- End time
- Any other field updates
Action Source:
- System β background job or exception flow
- Host β manual creation or update
Test: Create event β update title/start/end β delete event β verify logs created with correct action source.
Create Audit Logging Extension
Adds lightweight audit logging for event and guest activity.
Tracks:
- Event creation, updates, deletion
- Guest registration
- Guest transactions
- Guest participation
Features:
- Records who initiated each action
- Stores event/guest metadata
- Timestamps every change
- Uses etag-based detection to log only meaningful updates
- Supports reliable resync and debugging
- Does not impact core event flows
Test: Update event with real change β verify new log entry. Update without change β no duplicate log created.
Log Guest Activities
Guest actions are now tracked in audit logs.
Includes registrations, ticket updates, and participation.
Test: Update guest status β verify log entry created with correct metadata.
Create Connection Object
Connection object added for linking audit events to their source.
Ensures all logs have traceable references.
Test: Trigger event or guest action β verify connection object created and linked in logs.
Atomcal Dashboard
Location / Link Saved in Calendar Settings
Event location or meeting link can now be saved in Calendar Settings.
Automatically applied to all new events.
Test: Save meeting link in settings β create new event β verify location auto-filled.
Confusing Plugin Sync Setup
Plugin sync UI improved for clarity.
Improvements:
- Clear sync status
- Clear indication of connected vs not connected
- Clear next steps
- Reduced confusion with help buttons
Test: Open plugin sync screen β verify clarity of setup status.
Allow Super Admins to Add βPopularβ Flag to System Templates
Super Admins can mark templates as popular.
Frontend:
- POPULAR section displayed first β sorted by
times_used
Test: Mark template popular β verify appears in Popular section. Use template multiple times β verify sorting updates.
Allow Special Members to Add New System Templates & Upload Icons
Moderator-level members can now add templates and upload icons.
Test: Grant moderator access β verify template & icon upload allowed.
Bug | Atomcal Dashboard
Fix System Uploaded Icon Issue
Uploaded system icons now display correctly on Discord.
Test: Upload new icon β create Discord event β verify icon displays correctly.
Guest Invitation Flow
Email Invitations Sent Only for Non-Ticket Events
Now works for:
- Non-ticket events
- Free ticket events
- Paid events
- Basic events
- Template-based events
- Events with or without roles
Acceptance Criteria:
- Invitations sent successfully for all event types
- Deliverability consistent across paid, free, and non-ticket events
Test: Create paid, free, and non-ticket events β send invitations β verify successful delivery.
Event Invitation Emails Going to Spam Folder
Invitation emails no longer land in spam.
Now:
- Delivered to primary inbox
- Proper email authentication applied
Acceptance Criteria:
- Emails delivered to primary inbox
- Not marked as spam
Test: Send invite β verify email lands in inbox (Gmail/Outlook).
Create Selectable List of Frequently Invited Emails
Users can select from frequently used emails when sending invites.
Test: Open invite list β verify frequently invited emails appear for selection.
Allow Resending Email if Invitation Status is Failed
Failed invitations can now be resent.
Acceptance Criteria:
- Resend option visible
- Status updates correctly after resend
Test: Trigger failed invite β click resend β verify success.
Store Error Messages When Invitation Fails & Show Info Icon
System stores failure reason and shows info icon on frontend.
Acceptance Criteria:
- Users can see exact reason for failure
Test: Send invite to invalid email β verify error reason displayed.
Show Correct Reason When Invitation Fails
Frontend now displays correct failure reason for invites.
Test: Send invalid invite β verify accurate reason shown.
Filter Searched Members (Exclude Already Invited Members)
Already invited members are filtered out during search.
Test: Invite member β search same member β verify not shown again.
Create Calendar Member Search Backend Endpoint
New backend endpoint allows searching by email or name.
Test: Search partial name/email β verify correct filtered results.
Filter Table to Show Only Invited Guests
Invitation table shows only invited guests.
Test: Open invitation table β verify only invited guests shown.
Add Pagination to Invitation Table
Invitation table supports pagination.
Test: Invite 50+ guests β verify pagination works correctly.
Create Scrims Member if Invited by Email and Not Found
New members auto-created if email not found.
Test: Invite new email β verify Scrims member created β verify magic link login works.
Add Trackers to Invitation Plugins
Invitation plugin now tracks send/failure status for each email.
Test: Send multiple invites β verify individual status tracking. Exceed limit β blocked.
Use Tracking Links with TID Instead of Normal Links
CTA links now use tracking ID for logging clicks.
Test: Click invite CTA β verify redirect + click logged.
Add Email Open Tracker
Email includes invisible tracker β logs open event.
Test: Open email β verify event recorded.
Create Invite Extension Component for Email IDs & Text
Component allows entering email IDs and custom text for invites.
Test: Enter emails & text β send invite β verify delivery.
Create Clickable Link to Send in Email Invite
Invite emails include clickable accept/reject links.
Test: Click Accept β invite.status = ACCEPTED. Click Reject β invite.status = REJECTED.
Create Invitation Extension for Sending Emails
Invitation extension created for sending emails to members & non-members.
Test: Send invite β verify delivery.
Show List of Calendar Members to Send Invite
Displays all members in calendar for invitation.
Test: Open invite extension β verify list populated.
Invitee is Added as Guest to Event
Accepted invitees auto-added as guests.
Test: Accept invite β verify guest created.
Paid Events & Multi-Step Register Form
Waitlist Auto Refund Not Triggered Within 1 Minute
Auto refund now triggers correctly within 1 minute after seat availability.
Acceptance Criteria:
- Refund triggered automatically
- Status updated correctly
- No manual action required
Test: Add user to waitlist β release seat β verify refund processed within 1 minute.
Discord Top-Up Flow
Discord now redirects to top-up page instead of directly opening Discord.
Acceptance Criteria:
- User redirected to top-up page
- No automatic Discord redirect
Test: Trigger top-up β verify redirection.
Guest Activity & History
Add Timeline / History View Showing Guest Activity
Timeline displays:
- Guest ticket status updates
- Guest status updates
- Grouped actions
- βTime agoβ format
Test: Update guest status β verify timeline entry created.
Bug
Announcement Self-Destruct Not Working
Fixed issue with announcement auto-destruction.
Test: Create announcement β verify self-destruct triggers correctly.