FaxStore Changelogs
This update brings the start of our email enhancements and templating to FaxStore along with some great quality of life features. First off though we'd like to thank everyone that contributes to FaxStore via our feedback tracker, you're all legends!
The ability to email all accounts is now available in the new staff panel
Long awaited email customisation is slowly being added. More on this below - #78
Color customisation is now possible on the branding page. These colors can be used in themes and the future designs of FaxStore - more info
The "Global Customer Role" is now added to Discord users when an invoice is paid - #197
Subscriptions have also made their way to the new staff panel. They can be found on the customers page
Subscription prices can now be overridden from being edited
Free downloads no longer require a user account to be downloaded, this is a toggle in product settings - #208
The setup page now has DNS record checks. The setup page wont allow you to continue if the records are not made
The ability to send PDF attachments for receipts and invoices can be turned on via the SendGrid integration
Our internal monitoring system has had some backend improvements for error log reporting
A new PDFManager is now in place for FaxStore's internal PDF generation
Featured store categories can now be set on the home page - #202
You can now use Ctrl + F or Ctrl + S to focus on the search box on the staff page
Email preferences can now be set per type of email;
In addition emails that are sent can be categorised to ensure the user has preference in it
The loginRedirect cookie is now respected for all registration pages
The standard login register page now has a rate limit to help stop any account creation spam
Staff panel sub-pages and other hard-to-find pages are now searchable in the staff search bar
The ability to edit payment tokens and currency is in the settings page. No more editing the config manually
Tebex/FiveM usernames are now stored in the database when a linked package get's bought. The username is displayed on the customers staff page - #214
An SQL query has been corrected that prevented non-verified standard user accounts to not get removed automatically
Corrected an issue that found free checkouts to break when multiple items were in the cart - #2309
Product page redirects when searching on the staff panel now go to the correct page
Corrected an issue where insights income chart wasn't correct in some instances - #2320
Fixed a URL redirect typo in staff user notes - #2321
Fixed a URL display issue for custom file upload audit logs - #2322
Made changes to our Stripe checkouts as they might of been blocking transactions for VAT or other relevant country taxes - #199
Added 2025 and 2026 statistics fields to get ready for the new year
The error pages (404 and 403) have had some changes and in some cases are no longer used - #209
File uploads have changed to no longer upload by using RAM, now the store writes to a temp file, this will use less RAM
Changed the default review rating to be nothing, this will force users to select a star rating - #216
Made some changes to how login redirects work. Google Chrome recently changed how ERR_UNSAFE_REDIRECT errors are handled. There's no risk to FaxStore merchants with this. This could mostly be a session grabbing technique malicious actors could perform on customers.
As mentioned above we're slowly working to get email templates fully into FaxStore. At the moment the templates are located within /files/email-templates and have inserts that get replaced with email relevant text. Currently, while people update to the new system there's no built in way to customise or upload new email files. However, they can manually be uploaded and used. For more information on the auto fills/inserts please see FaxStore Features - Email System.
This version of FaxStore changes the way files are uploaded to the store, including images, release files, packages, and the rest. Previously the store would upload to memory (RAM) and then move to the correct file location.
Now the store uploads to the /etc/cache directory and then moves to the permanent location. This prevents existing stores from possible memory heaping when uploading larger files. Now we upload to the disk directly instead of using RAM. This will also result in lower RAM usage overall.
For developers see the below snippet which contains how uploads should now be handled through extensions, edit to your needs.
const file = req.files.find(e => e.fieldname == "formFieldName");
let fileExtension = file.originalname.substr(file.originalname.lastIndexOf('.') + 1);
let uniqueFileID = makeid(25)
fs.renameSync(file.path, `./files/extensionName-${uniqueFileID}.${fileExtension}`);Top contributors on our feedback tracker include; WildFyr, freech_dev, and abbyy.04. Thank you 💙